Section 1: The BA/SA Role in Data Design
- Why data model mistakes are the most expensive in a project
- What BAs and SAs are responsible for compared with data architects and DBAs
- Standard deliverables: data requirement document, ERD and data dictionary
- Introducing the NovaRetail case: members, products, in-store sales and a loyalty points programme
Section 2: The Three Levels of Data Models
- Conceptual models for communicating with executives and users
- Logical models for agreeing details with the development team
- Physical models and what BAs and SAs should know without building them
Section 3: Lab: Extracting Data Structures from Requirements
- Noun-verb analysis to find entities and relationships in text
- Telling entities from attributes when they are easily confused, such as whether an address is a column or a table
- Questions to always ask users so history and status are not missed
- Lab: identify entities, attributes and relationships from requirement documents and interviews
Section 4: Lab: Drawing Correct, Readable ERDs
- Crow's foot notation and reading cardinality in business language
- One-to-one and one-to-many relationships, and resolving many-to-many with an associative entity
- Optional and mandatory relationships and their effect on screen design
- Lab: draw an ERD in dbdiagram.io and export it for your documents
Section 5: Lab: Choosing Keys and Managing Business Rules
- Natural keys versus surrogate keys: pros, cons and when to choose each
- Composite keys and what to watch for when the system integrates with others
- Recording business rules the model cannot express in a business rules catalogue
- Lab: define primary, foreign, natural and surrogate keys with the reasoning behind each
Section 6: Day 1 Workshop: NovaRetail Logical ERD
- Workshop: analyse interviews with the store manager and the marketing team
- Turn them into a conceptual model, then expand it into a logical ERD with cardinality
- Cover members, products, sales and loyalty points
- Build an initial business rules catalogue and revise the ERD during a review with users