24
Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Embed Size (px)

Citation preview

Page 1: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Bite sized training sessions:Data Modelling – Part 1 of 2

Data Model Diagrams

Feb 2011Prepared by Guy BeauchampGroup Projects & IT

Page 2: 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

Page 3: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

What is a data model?• Specification of the data that is required in order for

– The solution to meet it’s 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!

Page 4: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

What a data model is not

• A physical design for storing data

• A database design• Database table definitions• Object specification

Page 5: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Why do data modelling?Data & Process Requirements

DatabaseDesigns

Physical data Specs

System Specs

Manual Procedures

DesignedAs

DesignedAs

DesignedAs Designed

As

Manipulate

Manipulate

Solution Specification

Page 6: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

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.

Page 7: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Entity

• A real world thing– E.g. Customer, Product

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

“A real world thing or an interaction between 2 or more real world things.”

Page 8: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

‘Type’ Entities

• 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

Customer Type Customerbe described by

describe

e.g.Student, Premium, Business, Retail

Page 9: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Relationships

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

“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).”

NB: there are other notations.

Page 10: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

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

Airport

Departs from Arrives at

Arrival point forDeparture point for

Flight

Airport

Page 11: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

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”

Page 12: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Attributes

No (attribute) Name (attribute)  

10 Fred Bloggs (instance)

67 Freda Jones (instance)

Customer (entity)

Customer No Product No Date

10 101 21/2/2020

67 452 22/2/2020

Sale

No Name Price

101 Flange £123.00

452 Blitwort £34.50

Product

“The atomic pieces of information that we need to know about entities”

Page 13: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

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

Which attribute makes the best primary key?Why?

No (attribute) Name (attribute)  

10 Fred Bloggs (instance)

67 Freda Jones (instance)

Customer (entity)

Page 14: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Purchased

Purchased via

Discussion:

What is the PK of Sale?

Do PKs need to be shown at the ‘FK’ end of a relationship?

No (attribute) Name (attribute)  

10 Fred Bloggs (instance)

67 Freda Jones (instance)

Customer (entity)

Customer No Product No Date

10 101 21/2/2020

67 452 22/2/2020

Sale

No Name Price

101 Flange £123.00

452 Blitwort £34.50

Product

Primary Keys are the navigation method for relationships

Page 15: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

5 Data Modelling “No-No”s

1.No repeating attributes on entitiesE.g. On a Customer entity “1st child name”, “2nd child name”…

2.No attributes on entities that do not depend on the primary keyE.g. On Customer entity “order date”

3.No “Many to Many”s between entitiesE.g. Product ordered by many customers, a customer orders many products

4.No “one to one”s 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

Page 16: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Circular relationships

Page 17: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Circular relationships

How do we fix this circular relationship?

Page 18: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

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.

Page 19: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Next step: Data definitions……covered in part 2 of this bite

sized training session

Page 20: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

Minor ExerciseI own a florist’s 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 spouse’s birthday.

Let’s draw up a data model to support that process.

Page 21: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

An answer…

Page 22: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

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

Page 23: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

• 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

• Don’t worry about completing the exercise• Do worry about the quality of what you get through

Major Exercise

Page 24: Bite sized training sessions: Data Modelling – Part 1 of 2 Data Model Diagrams Feb 2011 Prepared by Guy Beauchamp Group Projects & IT

…and finally

• Any questions?

• Further resources…

• Feedback

• Thank-you!