CSC/ECE 517 Fall 2010/ch2 2a aa

From Expertiza_Wiki
Revision as of 00:34, 21 September 2010 by Aamarna2 (talk | contribs)
Jump to navigation Jump to search

Language extensions for ORM


  1. Introduction to Object Relational Mapping.
  2. Why ORM, why not another solution?
  3. Flavors of ORM.
  4. ORM implementation in specific languages
    1. Groovy, Grails and GROM
      1. Creating classes and tables
      2. Basic CRUD
        1. Creating objects
        2. Reading objects
        3. Updating objects
        4. Deleting objects
    2. PHP
      1. Creating classes and tables
      2. Basic CRUD
        1. Creating objects
        2. Reading objects
        3. Updating objects
        4. Deleting objects


Introduction to Object Relational Mapping.

Object Relational Mapping is a technique of mapping the solution entities of an object oriented system, [1]objects to [2] relational database tables. This technique came into existence as an answer to the problem of lack of persistence of objects across session in [3]Object Oriented Programming Systems. For instance in a software solution to manage the order and inventory systems of a company, the objects that are part of the systems (orders, customers . . .) must be accessible even if the system was temporarily shut down for a while. [4]ORM helps in achieving this very essential requirement by bringing the database into the picture, more specifically bringing the RDBMS into the picture.


Why ORM, why not another solution?

The answer to this is quite an obvious one. ORM brings to the table something(s) that another solution hasn’t done so far. These “something(s)” that ORM contributes are listed below:

  1. Alleviates the problem that hinders a transition from one database provider to another database vendor or even another database product.
  2. Enables to perform most of the database operations ([5]mainly CRUD) without having to write any [6]SQL statements, thereby permitting a shift from one SQL dialect to another. This also allows the software solutions to focus more on the actual problem being solved rather that performing supplementary functions extensively.