[Summary]|[ Objectives ]|[ Modules ]|[ Teaching]|[References ]|[Assignments]|[ Exams]|[ Grades]
Course lecturer: Denis Ssebuggwawo, (PhD)
Lecture schedule: Thursday 5.30 p.m. – 8.00 p.m. (Theory)
SUMMARY
Object-Role Modeling (ORM) is a powerful method for designing and querying database models at the conceptual level, where the application is described in terms easily understood by non-technical users. In practice, ORM data models often capture more business rules and are easier to validate and evolve than data models in other approaches e.g. E-R Modeling or UML Modeling.
Object role modelling is a methodology for developing conceptual models. This distinguishes it from the more commonly used entity-relationship (ER) methods, which produce logical models. ER methods do not incorporate the rules and analysis of normalization; the modeller places the output of a normalization analysis (logical table structures) directly into the logical model. In object role modelling, data elements are not combined into tables a priori. Instead, descriptions of data element relationships serve as input to a table-building algorithm, and normalization is thereby incorporated into the methodology.
In this course, the student will be introduced to the theoretical and practical concepts underpinning the principles of the conceptual design of database models. Practical skills will be developed using Microsoft Visio Modeler or Visual Studio .NET Enterprise Architect.
The main objectives of the course are to impart knowledge and skills to students so that they can
- Transform familiar examples into elementary facts, and apply quality checks
- Draw the fact types, and apply a population check
- Check for entity types that should be combined and note any arithmetic derivations
- Add uniqueness constraints, and check the arity of fact types
- Add mandatory role constraints, and check for logical derivations
- Add value, set-comparison (subset, exclusion, equality), and subtyping constraints
- Add other constraints, and perform final checks
- Analyze business requirements.
- Create a conceptual database model using ORM.
- Validate the model against external information.
- Transfer the model into a (MY) SQL Server database.
Some of course material and slides are based on the courses:
- Information Systems Architectures by Prof H.A. Erik Proper, Faculty of Science, Institute of Computing and Information Sciences, Radboud University Nijmegen
- Modelling Business Requirements to Create a Database Using Visual Studio .NET Enterprise Architect by Netdesk Corporation: Skills for Microsoft Professionals
- ORM Overview: Introduction to Modeling Business Requirements
- Elementary Facts and Objects: Analyzing External Information and Creating a Conceptual Model—CSDP Step 1
- Conceptual Schema Diagram: Drawing a Conceptual Model and Entering Sample Data—CSDP Step 2
- Object Partition: Trimming the Conceptual Schema—CSDP Step 3
- Uniqueness Constraints and Arity Fact Types: Adding Uniqueness Constraints and Checking Arity of Fact Types—CSDP Step 4
- Mandatory Role Constraints and Logical Derivations: Adding Mandatory Role Constraints and Checking for Logical Derivations—CSDPStep 5
- Set Comparison and Subtyping constraints: Adding Value and Set Constraints, and Creating Entity Subtypes—CSDP Step 6
- Adding Other Constraints and APerforming Final Checks: Adding Frequency and Ring Constraints—CSDP Step 7
- Mapping to Relational Database: Transfering a conceptual data model to a relational logical model.
- Reverse Engineering & Physical Schema: Forward and Reverse Engineering Physical Schema
- ORM- Mapping to UML
The details are found in the course outline. Lecture Slides are given in the table below.
Lecture 1 | ORM Overview: Introduction to Modeling Business Requirements | Lecture 1 |
Lecture 2 | Elementary Facts and Objects – CSDP Step 1 | Lecture 2 |
Lecture 3 | Conceptual Schema Diagram – CSDP Step 2 | Lecture 3 |
Lecture 4 | Object Partition: Trimming the Conceptual Schema—CSDP Step 3 | Lecture 4 |
Lecture 5 | Uniqueness Constraints and Arity Fact Types – CSDP Step 4 | Lecture 5 |
Lecture 6 | Mandatory Role Constraints and Logical Derivations – CSDP Step 5 | Lecture 6 |
Lecture 7 | Set Comparison and Subtyping Constraints – CSDP Step 6 | Lecture 7 |
Lecture 8 | Adding Other Constraints & Performing Final Checks – CSDP Step 7 | Lecture 8 |
Lecture 9 | Mapping to Relational Database | Lecture 9 |
Lecture 10 | Reverse Engineering & Physical Schema | Mini Project |
Lecture 11 | ORM- Mapping to UML | Final Project |
Course Text Book: T.A. Halpin, Information Modeling and Relational Databases, Morgan Kaufmann Publishers, 2001 (ISBN 1-55860-672-6).
References:
- Nijssen, G.M. and T.A. Halpin (1989). Conceptual Schema and Relational Database Design: A Fact Oriented Approach, Prentice Hall of Australia Pty Ltd. Sydney,
- Halpin, T. (1995). Conceptual Schema and Relational Database Design, 2nd edn (revised 1999) , WytLytPub, Bellevue WA , USA .
- Blaha, M. & Premerlani, W. (1998). Object-Oriented Modeling and Design for Database Applications, Prentice-Hall, New Jersey.
- Halpin, T. (1996). Business Rules and Object-Role modelling’, Database Prog. & Design , 9(10), 66-72.
- Halpin, T. & Proper, H. (1995). Database Schema Transformation and Optimization, Object-Oriented and Entity-Relationship Modeling (OOER’95). LNCS, 1021, pp. 191-203. Springer-Verlag
- Booch, G., Rumbaugh, J. & Jacobson, I. (1999). The Unified Modeling Language User Guide, Addison-Wesley, Reading MA, USA .
- Rumbaugh, J., Jacobson, I. & Booch, G. (1999). The Unified Modeling Language Reference Manual, Addison-Wesley, Reading MA , USA.
ASSIGNMENTS/TEST, LAB SESSIONS & GROUP DISCUSIONS
EXAMS
GRADES
Assignments, test, lab session and group discussion results