Het programma start om 09.30 uur en duurt tot 17.00 uur. Registratie is mogelijk vanaf 08.30 uur.
Course Topics:
Essentials of Data Modeling
- What really is a data model?
- Essential components – entities, relationships, and attributes
- The basics of diagramming – Entity-Relationnship 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
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.