CSC/ECE 517 Fall 2007/wiki2 2 aa: Difference between revisions
Line 9: | Line 9: | ||
Object-relational mapping is a programming technique or process to transform data between relational database and a set of objects in object-oriented programming. | Object-relational mapping is a programming technique or process to transform data between relational database and a set of objects in object-oriented programming. | ||
[[image:figure-1.gif]] | [[image:figure-1.gif]] [[image:figure-2.gif]] | ||
[[image:figure-2.gif]] | |||
=Implementations= | =Implementations= |
Revision as of 15:36, 21 October 2007
Object-relational mapping. Ruby's ActiveRecord is one attempt to allow an object-oriented program to use a relational database. The Crossing Chasms pattern is another. Look up several approaches to mapping relational databases to o-o programs, include hyperlinks to all of them, and explain how they differ. Report on the strengths of various approaches (making sure to credit the authors for their insights).
Introduction
Object-oriented programming uses Object to manage data. Objects have identity, state, and behavior, which means Object is focus on identity and behavior of the things in real world.
Object-relational Mapping
Object-relational mapping is a programming technique or process to transform data between relational database and a set of objects in object-oriented programming.
Implementations
ActiveRecord in Ruby
Crossing Chasms Pattern
Hibernate
Service Data Object
Comparison
In Hibernate, you'd usually begin development by working on your Java objects because Hibernate is a mapping framework. The object model becomes the center of your Hibernate universe. Active Record is a wrapping framework, so you start by creating a database table. The relational schema is the center of your Active Record universe. Active Record also includes some features that many Java frameworks don't have, such as model-based validation.Model-based validation lets you make sure the data within your database stays consistent.
Reference
External Links
222. [2]