MIS112 Data and Information Modeling with ORM
(MSc.(CS), MSc.(IT), MSc.(IS), MSc.(SSE) )

[Summary]|[ Objectives ]|[ Modules ]|[ Teaching]|[References ]|[Assignments]|[ Exams]|[ Grades]

Course lecturer:               Denis Ssebuggwawo, (PhD)

Teaching Assistant(s):     
Consultation hours:          By appointment: E-mail

Lecture schedule:            Thursday 5.30 p.m. – 8.00 p.m. (Theory)


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
The course consists of two parts: Part I-Theoretical Concepts and Part II-Implementation(Practicals) Microsoft Visio Modeler or Visual Studio .NET Enterprise Architect. Part I has the following topics:
  1. ORM Overview: Introduction to Modeling Business Requirements
  2. Elementary Facts and Objects: Analyzing External Information and Creating a Conceptual Model—CSDP Step 1
  3. Conceptual Schema Diagram: Drawing a Conceptual Model and Entering Sample Data—CSDP Step 2
  4. Object Partition: Trimming the Conceptual Schema—CSDP Step 3
  5. Uniqueness Constraints and Arity Fact Types: Adding Uniqueness Constraints and Checking Arity of Fact Types—CSDP Step 4
  6. Mandatory Role Constraints and Logical Derivations: Adding Mandatory Role Constraints and Checking for Logical Derivations—CSDPStep 5
  7. Set Comparison and Subtyping constraints: Adding Value and Set Constraints, and Creating Entity Subtypes—CSDP Step 6
  8. Adding Other Constraints and APerforming Final Checks: Adding Frequency and Ring Constraints—CSDP Step 7
  9. Mapping to Relational Database: Transfering a conceptual data model to a relational logical model.
  10. Reverse Engineering & Physical Schema: Forward and Reverse Engineering Physical Schema
  11. ORM- Mapping to UML

 The details are found in the course outline. Lecture Slides are given in the table below.

Lecture 1ORM Overview: Introduction to Modeling Business RequirementsLecture 1
Lecture 2Elementary Facts and Objects – CSDP Step 1Lecture 2
Lecture 3Conceptual Schema Diagram – CSDP Step 2Lecture 3
Lecture 4Object Partition: Trimming the Conceptual Schema—CSDP Step 3Lecture 4
Lecture 5Uniqueness Constraints and Arity Fact Types – CSDP Step 4Lecture 5
Lecture 6Mandatory Role Constraints and Logical Derivations – CSDP Step 5Lecture 6
Lecture 7Set Comparison and Subtyping Constraints – CSDP Step 6Lecture 7
Lecture 8Adding Other Constraints & Performing Final Checks – CSDP Step 7Lecture 8
Lecture 9Mapping to Relational DatabaseLecture 9
Lecture 10Reverse Engineering & Physical SchemaMini Project
Lecture 11ORM- Mapping to UMLFinal Project
Lectures Notes, Slides and/or Hand-outs and practical sessions.

Course Text Book: T.A. Halpin, Information Modeling and Relational Databases, Morgan Kaufmann Publishers, 2001 (ISBN 1-55860-672-6).


  1. 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,
  2. Halpin, T. (1995). Conceptual Schema and Relational Database Design, 2nd edn (revised 1999) , WytLytPub, Bellevue WA , USA .
  3. Blaha, M. & Premerlani, W. (1998). Object-Oriented Modeling and Design for Database Applications, Prentice-Hall, New Jersey.
  4. Halpin, T. (1996). Business Rules and Object-Role modelling’, Database Prog. & Design , 9(10), 66-72.
  5. 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
  6. Booch, G., Rumbaugh, J. & Jacobson, I. (1999). The Unified Modeling Language User Guide, Addison-Wesley, Reading MA, USA .
  7. Rumbaugh, J., Jacobson, I. & Booch, G. (1999). The Unified Modeling Language Reference Manual, Addison-Wesley, Reading MA , USA.


Assessment will consist of a review of articles and Lab modelling exercises using Microsoft Visio Modeler or Visual Studio .NET Enterprise Architect. This will contribute 40% of the final assessment mark.

A final report detailing the conceptual design of a computational problem from industry, business or government together with its implementation (mapping to a relational database) is MYSQL will be presented and defended at the end of the course. This will contribute 60% of the final assessment mark.


Assignments, test, lab session and group discussion results