Course description

The course starts at 09.30 am and ends at 5 pm. Registration commences at 08.30 am.

Course Topics:
Essentials of Data Modeling
  • What really is a data model?
  • Essential components – entities, relationships, and attributes
  • The basics of diagramming – Entity-Relationship Diagrams (“ERDs”)
  • The narrative parts of a data model – definitions and assertions
  • Group exercise – getting started on a data model, then refining it
  • Common misconceptions about data models and data modeling
  • The real purpose of a data model
  • Three types of data models – different levels of details for different purposes
  • Contextual, Conceptual, and Logical Data Models – purpose, audience, definition, and examples
  • How data models help in process improvement, requirements definition, and reporting
  • Forward- and reverse-engineering uses of data modeling
  • Overview of a three-phase methodology for developing a data model
  • References – books and useful web sites
Phase 1 – Establish the initial conceptual data model
  • Top down vs. bottom up approaches to beginning a data model – when is each appropriate?
  • Advantages of a bottom-up approach
  • A bottom-up approach focusing on collecting and analyzing terminology
  • A structure for sorting terms and discovering entities
  • Exercise – developing an initial conceptual data model
  • Entities – what they are and are not
  • Guidelines for naming and defining entities
  • Three questions to help you quickly develop clear, useful entity definitions
  • Five criteria that entities must satisfy, and four common errors in identifying entities
  • Exercise – identifying flawed entities
  • Identifying relationships
  • Fundamental vs. irrelevant or transitive relationships
  • Good and bad relationship names
  • Multiplicity or cardinality – 1:1, 1:M, and M:M relationships, and useful facts about each
  • Common errors and special cases – recursive, multiple, and supertype-subtype relationships
  • Attributes – guidelines and types
  • Attributes in conceptual models vs. logical models
 sharp_alec_dsc_0190_hr

 

Phase 2 – Develop the initial logical data model by adding rigor, structure, and detail

  • What’’s involved in developing a logical model – shifting the focus from entities to attributes
  • Multi-valued, redundant, and constrained attributes, with simple patterns for dealing with each
  • An understandable guide to normalization – first, second, and third normal forms
  • Higher order (fourth and fifth) and Boyce-Codd normal forms
  • Guidelines for a smooth progression from conceptual to logical
  • Exercise – developing the initial logical data model
  • Four types of entities – kernel, characteristic, associative, and reference
  • Guidelines and patterns for dealing with each type of entity
  • How to draw your E-R Diagram for maximum readability and correctness
  • Optional and mandatory relationships
  • Considering time and history when looking at relationships
  • Six questions to ask whenver a data range appears in a data model
  • Identifying and dealing with transitive relationships – clues and proof
Phase 3 – Refine and extend the logical data model by discovering and meeting new requirements
  • Attribute granularity – definitions of non-atomic and semantically overloaded attributes
  • Guidelines for making non-atomic attributes atomic
  • The perils of semantic overload, and what to do about it
  • Dealing with derived attributes, and when to show them on the model
  • A classword-based approach to attribute naming
  • Typical attribute documentation
  • A common source of confusion and disagreement – primary keys
  • What primary keys are, what they’re really for, and three essential criteria
  • Alternate and foreign keys
  • Why meaningless primary keys are used, and guidelines for creating them
  • Guidelines for reference data
  • Pulling it together – key techniques and guidelines covered in the class so far
  • Using event analysis to discover additional requirements
  • Exercise – using event analysis and extending a data model
  • Presentation by teams of their solutions
  • How data modeling relates to process modeling, use cases, and services
  • A layered framework for business analysts
  • How other techniques (e.g., workflow modeling) support data modeling
  • A three-step procedure for meeting new requirements
  • Advice on extending the model in an orderly fashion
  • Exercise – meeting new requirements on the data model
  • Recap – contextual, conceptual, and logical data models
  • Different skills and participants for conceptual vs. logical modeling
  • How the modeler/analysts’s role changes as a project progresses
  • A little philosophy for effective data modeling
  • The four Ds of data modeling – definition, dependency, detail, and demonstration
  • Wrap-up – the approach we followed throughout the class.