You are on page 1of 24

Bite sized training sessions: Data Modelling Part 1 of 2 Data Model Diagrams

Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Objectives
To understand
What is a data model and what it is not! Why do data modelling

To be able to
Read a data model Build a data model Critically review a data model

What is a data model?


Specification of the data that is required in order for The solution to meet its objectives Processes to be able to run

A data model comprises: A diagram showing the required data dependencies A set of data definitions required for each attribute on the diagram Also referred to as: Logical Data Model (LDM) Entity Model Entity Relationship Diagram (ERD) Data Dictionary Object Model Class Diagram Data Structure etc!

What a data model is not

A physical design for storing data A database design Database table definitions Object specification

Why do data modelling?


Data & Process Requirements

Designed Designed As As Physical data Specs Databas e Designs

Designed As
Manual Procedures Manipulate

Designed As

Manipulate

System Specs

Solution Specification

Data Model Components

Entity A real world thing or an interaction between 2 or more real world things. Relationship How and why entities depend on each other (the relationship) and what that relationship is (the cardinality of the relationship). Attribute The atomic pieces of information that we need to know about entities.

Entity
A real world thing or an interaction between 2 or more real world things. A real world thing E.g. Customer, Product

An event between 2 or more entities E.g. Sale

Type Entities
Customer Type describe be described by Customer

e.g. Student, Premium, Business, Retail

Categorises other entities Holds information that applies to sets of other entities Very common Typical relationship cardinality is mandatory 1:M

Relationship names add little value

Relationships
How entities depend on each other in terms of why the entities depend on each other (the relationship) and what that relationship is (the cardinality of the relationship).

There are dependency business rules between two entities can be shown as:

NB: there are other notations.

Relationship Names
Always name relationships in at least one direction (except for those involving Type entities)

Especially useful when there is more than one relationship between two entities:
Flight

Departure point for Departs from

Arrival point for Arrives at Airport

Reading relationships
One Customer (entity) may (cardinality) purchase (relationship name) one or more (cardinality) SALEs (entity)

One SALE must be purchased by one CUSTOMER

Tip start with the word One, never MANY

Attributes
The atomic pieces of information that we need to know about entities Customer (entity)
No (attribute) 10 67 Name (attribute) Fred Bloggs Freda Jones (instance) (instance)

Sale
Customer No Product No Date

10
67

101
452

21/2/2020
22/2/2020

Product
No 101 452 Name Flange Blitwort Price 123.00 34.50

Primary Keys
A special kind of attribute, set of attributes and/or relationships Is the way for the business to identify 1 unique instance of an entity Certain rules apply to a primary key:

Must not be repeated within an entity


Once assigned can never be updated (only deleted) Must be the way that the business uniquely identify an instance of an entity Customer (entity)
No (attribute) 10 67 Name (attribute) Fred Bloggs Freda Jones (instance) (instance)

Which attribute makes the best primary key? Why?

Primary Keys are the navigation method for relationships


Customer (entity)
No (attribute) 10 67 Name (attribute) Fred Bloggs Freda Jones (instance) (instance)

Purchased

Sale
Customer No 10 67 Product No 101 452 Date 21/2/2020 22/2/2020

Discussion: What is the PK of Sale? Do PKs need to be shown at the FK end of a relationship?

Purchased via

Product
No 101 452 Name Flange Blitwort Price 123.00 34.50

5 Data Modelling No-Nos


1.No repeating attributes on entities E.g. On a Customer entity 1st child name, 2nd child name 2.No attributes on entities that do not depend on the primary key E.g. On Customer entity order date 3.No Many to Manys between entities E.g. Product ordered by many customers, a customer orders many products 4.No one to ones between entities (usually) E.g. Customer has one Membership Card and a Membership Card is for one Customer 5.No circular relationships between entities (usually) E.g. next slide

Circular relationships

Circular relationships
How do we fix this circular relationship?

Process for producing a data model diagram


identify candidate entities select a central candidate entity define the primary key work through the rest of the candidate entities
consider whether it is in scope define the primary key define the relationship(s) between the candidate entity and all other candidate entities on the diagram create description entities as needed fully express the cardinality of the relationship(s) name the relationship(s) as needed

validate everything with the user review and refine.

Next step: Data definitions covered in part 2 of this bite sized training session

Minor Exercise
I own a florists shop called My Florist. I want to start emailing reminders to customers when special occasions are due for which they have brought flowers in the past for example a spouses birthday. Lets draw up a data model to support that process.

An answer

Major Exercise
You are business analysts working for a company called re-Evolution Coffee Houses Ltd You have been given a piece of work ref handouts Produce a data model showing
Entities Primary Keys Relationships

Suggestion: follow the process for producing a data model diagram 4 slides previously The business users will be available for questions

Major Exercise
If you need to make an assumption about business requirements or anything else then document it Time allowed: 1 hour Deliverable:
Flip chart data model Flip chart assumptions

Be prepared to present your data model to the other team Dont worry about completing the exercise Do worry about the quality of what you get through

and finally
Any questions? Further resources Feedback Thank-you!

You might also like