This course provides a foundational knowledge that can be used to implement relational databases, multidimensional data warehouses and business intelligence (BI) technologies. The principal objective of this initial course volume is to convey a practical and common-sense guide to the theory and concepts of data modeling. Using these sophisticated techniques, one can create an elegant and logical database design. Within this course we discuss not only the premier modeling theories from industry experts but also the practical and real-world experience from 20-years of Sideris data design practitioners.

The methodologies discussed are applicable to any relational database environment, including IBM DB2, the Oracle database, Microsoft SQL Server, the open-source MySQL and PostgreSQL databases as well as other RDBMS platforms. They are also applicable to multiple database technologies, such as object databases and legacy IMS and IDMS databases. Finally, while we use the free Oracle SQL Developer Data Modeler product as a demonstration modeling tool, one can complete the exercises of this course and apply the techniques learned using any other popular data model diagramming tool, such as IBM InfoSphere Data Architect, CA ErWin Data Modeler, Embarcadero ER/Studio and others.

Audience: This course is appropriate for business analysts, data modelers, data analysts and data architects. It is also ideal for senior application designers, developers and database administrators.
Course Duration: 3 days
Prerequisites:

There are no mandatory prerequisites exist for this course. However, a basic knowledge of computer systems, business systems requirements and database technologies is helpful.

Course Outline:
  • Data Modeling Theory and Concepts
    • About Model-Based Design
    • About Data Modeling
    • About Data Model Diagrams
    • Advanced Modeling Methodologies
  • Building an Initial Data Model
    • Principles of Data Modeling
    • Building the Model
    • Identifying Entities
    • Identifying Attributes
    • Identifying Relationships
    • A Simple Modeling Scenario
  • Drawing A Model Using Software Engineering Tools
    • About Data Modeling Tools
    • Drawing A Data Model Diagram
  • Increasing the Accuracy of the Model
    • Starting with a Conceptual Model
    • Supplementing the Requirements
    • Refining the Relationship Definitions
  • Finding and Fixing Attribute Mistakes
    • Capturing Missing Attribute Details
    • Character
    • Numeric
    • Date
    • Correcting Attribute Definitions
    • Unique Identifiers
    • Unit of Measure Attributes
  • Semantic and Object-Oriented Modeling of Entities and Relationships
    • Defining Supertypes and Subtypes
    • Entity Name Problems
    • Naming Standards
    • Specialization and Generalization
    • Subtype Constraints
    • Defining Relationship Arcs
  • Semantic and Object-Oriented Modeling of Domains and Types
    • Defining Domains
    • Defining Types
    • Collection Types
  • Time-Dependency and State-Dependency
    • About Time and State
    • Time-Dependent Sub-Model
    • Person / Individual Roles Sub-Model
  • Classic Structures and Patterns
    • MASTER-DETAIL-DETAIL
    • M:N Recursion (Bill-Of-Materials)
    • Organization Unit Hierarchy
    • Entity Locations
    • Entity Contacts
  • Logical / Physical Model Transformation
    • About Physical Data Models
    • Physical Relational Transformation
    • Model Transformation Example
    • Automatic Transformation
    • Supertype Transformation
  • RDBMS Implementation of The Physical Model
    • Reverse Engineer a Physical Model
    • About the Relational Database
    • Relational Database Objects
    • Forward Engineer a Physical Model