Please book your seats soon as seats are limited.
This new 3 day interactive workshop combines the core content from two popular data modelling offerings by Alec Sharp – Business Oriented Data Modelling and Advanced Data Modelling. The first day of the workshop gets both new and experienced modellers to the same baseline on terminology, conventions, and the unique, business-engaging approaches this course provides. The next days provide intense, hands-on practice with more advanced situations, such as the enforcement of complex business rules, handling recurring patterns, satisfying regulatory requirements to model time and history, capturing complex changes and corrections, dealing with existing databases or packaged applications, and integrating with dimensional modelling. In all cases, the underlying philosophy is that a data model is a description of a business, not of a database.
Three main themes are explored in a very practical way:
- The foundations of data modelling – what a data model really is, and maximising its relevance
- The human side of data modelling – improving communication skills and engaging the business
- The complex side of data modelling – getting better at modelling difficult situations
Learning Objectives:
On workshop completion, participants will be able to:
- Apply a variety of techniques that support the active participation and engagement of business professionals and subject matter experts;
- Use entity-relationship modelling to depict facts and rules about business entities at different levels of detail, including conceptual (overview) and logical (detailed) models;
- Learn an easy, language-oriented approach to initiating development of a data model;
- Recognise the four basic patterns in data modelling, and when to use them;
- Effectively use definitions and assertions (“rules”) as part of data modelling;
- Use an intuitive approach to data normalisation within an entity-relationship model;
- Apply various techniques for discovering and meeting additional requirements ;
- Read a data model, and communicate with specialists using the appropriate terminology.
- Understand “the four Ds of data modelling” – definition, dependency, demonstration, and detail;
- Be able to implement lists, trees, and networks with recursive relationships;
- Know how and when to use supertypes/subtypes (generalisation/specialisation) vs. roles vs. both;
- Combine subtyping and recursion, as appropriate, to model difficult rules;
- Recognise the “category vs. types vs. instances” problem, and model reference data properly;
- Model “vectors” (attibutes that repeat a fixed number of times) properly – entity or attribute?;
- Use multi-way associations, associations of associations, and relationship constraints to handle complex rules;
- Handle circular relationships and cyclic dependencies properly with advanced normal forms;
- Model history, corrections, and time-dependent business rules with “temporal data models”;
- Understand the connection between analytic data structures (star schema or dimensional models) and ER models;
- Rapidly develop a first-cut dimensional model from a well-structured ER model;
- Prepare and deliver a data model review presentation.
Course Outline:
Essentials of Data Modelling
- What really is a data model or concept model?
- Essential components – entities, relationships, attributes, and rules
- Hands-on case study – how data modelling resolved business issues, and supported other business analysis techniques
- Guidelines for comprehension – how to lay out 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 modelling
- The real purpose of a data model
- Contextual, Conceptual, and Logical Data Models – purpose, audience, definition, and examples
- Overview of a three-phase methodology for developing a data model
Establishing the initial conceptual data model
- Top down vs. bottom up approaches to beginning a data model – when is each appropriate?
- 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
- Exercise – identifying flawed entities
- Six criteria that entities must satisfy, and four common errors in identifying 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
Developing the initial logical data model by adding rigor, structure, and detail
- Transition to the 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 normalisation – first, second, and third normal forms
- Higher order (fourth and fifth) and Boyce-Codd normal forms
- 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
- 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
- The four Ds of data modelling – definition, dependency, detail, and demonstration
- E-R Diagramming – symbol sets and their problems, rules for readability and comprehension
Correctly handling attributes
- Granularity – dealing with non-atomic and semantically overloaded attributes
- Dealing with reference data and the “types vs. instances” problem
- Three attributes that always need a qualifier
- Vector modelling – entity or attribute?
Interesting structures – generalisation, recursion, and the two together
- Generalisation (subtyping) – when to use it, and when not to
- Generalisation with and without specification
- Guidelines for using recursive relationships
- Generalisation and recursion working hand-in-hand as a cure for literalism
- Recognizing lists, trees, and networks, and modelling them with recursive relationships
- Modelling difficult rules by combining generalisation (subtyping) and recursion
- Staying clear on generalisation vs. roles, states, and aggregation
Modelling time, history, and time-dependent business rules
- Historical vs. audit data, and when to show them on a data model
- Thanks, Sarbanes-Oxley! Why we need “as-of reporting” and how to model data corrections
- “Do you need history?” – how to tell when your client is misleading you
- Modelling time – special considerations for recording past, present, and future values
- Four variations on capturing history in a data model
- Seven questions you should always ask when a date range appears
Modelling rules on relationships and associations
- Using multi-way associations to handle complex rules
- “Use your words” – how assertions, scenarios, and other techniques will improve your modelling
- Associative entities – circular relationships, shared parentage, and other issues
- Alternatives for modelling constraints across relationships
- Advanced normal forms – how to quickly recognize potential 4NF and 5NF issues
- A simpler view – why the five normal forms could be reduced to three
Preparing and delivering a data model review presentation
- Context – your audience, and why the model matters to them
- It’s a story, not a data model! Building a storyboard
- Five key techniques for presenting data models or other technical subjects
- The mechanics of the data model review presentation
- A demonstration
Bridging the “E-R vs. Dimensional” divide – the world’s shortest course on dimensional modelling
- The perils of dimensional modelling without understanding the underlying E-R model
- Spotting facts and dimensions – the relationship between dimensional models and E-R models
- Saving time – building a first-cut dimensional model from an ER model
Prerequisites:
Some understanding of information systems concepts, and data modelling in particular, will be helpful, but because the first day establishes a baseline, many people complete this course with no background in data modelling.
Who it’s for
Roles that are currently benefitting from this workshop include:
- Specialist data modellers, data architects, data analysts, and DBAs who wish to hone their skills.
- Business analysts, business architects, enterprise architects, and application architects
- Application / solution developers (especially on Agile teams)
- Business professionals, Subject Matter Experts, and Project / Programme Managers involved in the analysis, design, and development (or selection and configuration) of a system.
- BI (Business Intelligence) professionals, DW (Data Warehouse) professionals, big data specialists, data scientists, analytics specialists, and data lake implementers