Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Object Role Modeling

Object Role Modeling

Database Object Role Modeling is a way similar to ER Diagrams but more expressive.

Ahmed Magdy

June 01, 2012
Tweet

More Decks by Ahmed Magdy

Other Decks in Programming

Transcript

  1. Outline  What & Why ORM?  ORM Building Blocks

     Example  ORM Process  ORM Symbol Glossary  Summary
  2. What & Why ORM?  Object Role Modeling (ORM) is

    a powerful method for designing and querying database models at the conceptual level, where the application is described in non-technical terms. 1. Communicating models with your team 2. Communicating and validating models with your client 3. Great brainstorming tool  In practice, ORM data models often capture more business rules, and are easier to validate and evolve than data models in other approaches.
  3. ORM Building Blocks  Object Types - Entity Types (map

    directly to an ER Entity) - Value Types (map directly to ER attributes)  Facts - Predicates: {0} is enrolled in {1} - Roles: {0} and {1}  Constraints - Like uniqueness constraint
  4. Example  The Student named Ahmed is enrolled in the

    Course named Math  Entity Types: Student, Course  Value Types: Ahmed, Math  We have 3 Facts (predicates) with 2 roles each: - Student is named Ahmed - Course is named Math - Student is enrolled in Course
  5. ORM Process To model any application using ORM we need

    to follow these steps starting from the requirements provided by the domain expert: 1. Transform information examples into facts 2. Draw the Entity & value types 3. Add Fact types and assign roles 4. Add constraints
  6. Description Symbol Example Entity Type Student, course, song, band Value

    Type Student name, course name, song title, band name Fact with 2 roles (Predicate with 2 arities) Student is enrolled in course Uniqueness Constraint (has one) the first role is unique ti the second role. Each student has at most 1 name but there may be 2 students who have the same name 1:1 both roles are unique to each other Every student has at most one name and there are no 2 students with the same name. m:n Many to many Every student may be enrolled in many courses and each course may have many students. ORM Symbol Glossary Value Entity
  7. Summary  ORM can be changed to ER.  ORM

    can easily be changed to UML.  ORM is rich as it captures more business details by capturing facts and constraints.