08 Data Modelling Pt2 - smart-BA!

advertisement
Bite sized training sessions:
Data Modelling – Part 2 of 2
Data Definitions
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 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!
What a data model is not
• A physical design for storing
data
• A database design
• Database table definitions
• Object 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.
Attributes
“The atomic pieces of information that we need to know about entities”
Customer (entity)
No (attribute)
Name (attribute)
10
Fred Bloggs
(instance)
67
Freda Jones
(instance)
Sale
Customer No
Product No
Date
10
101
21/2/2020
67
452
22/2/2020
Product
No
Name
Price
101
Flange
£123.00
452
Blitwort
£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)
Name (attribute)
10
Fred Bloggs
(instance)
67
Freda Jones
(instance)
Primary Keys are the navigation method for
relationships
Customer (entity)
No (attribute)
Name (attribute)
10
Fred Bloggs
(instance)
67
Freda Jones
(instance)
Purchases
Sale
Customer No
Product No
Date
10
101
21/2/2020
67
452
22/2/2020
Purchased via
Product
No
Name
Price
101
Flange
£123.00
452
Blitwort
£34.50
5 Data Modelling “No-No”s
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”
The following should have been addressed via entity relationship
diagram:
3. No “Many to Many”s between entities
4. No “one to one”s between entities (usually)
5. No circular relationships between entities (usually)
A word about data definitions
• There is no definitive set of information to define data
• There is some basic information that will always be
needed
• Do what you need to do in order to define the data
• The following has worked during real-life project and is a
proven starting point
Process for defining the data
• For each entity on the diagram
– Define the entity
– Define it’s relationships
– Identify non-key attributes from
• Process specs
• User input
• Your analysis of requirements
• …but always verify they are in scope!
– Define attributes
Data definitions - Entities
• what the entity really is – ‘legal’ definition
• Example: the “Sale” entity is a record of when a Product was
purchased by a Customer
• The (non-functional) requirements the business has for entities
– Attributes
• example: Date, Quantity
– Retention period
• example: 6 years – justification: legal requirement
– Max volume (max number of instances)
• Example: 60,000 based on average number of sales per year of
10,000 x retention period
– Examples (not a requirement but very useful)
• Example: On 28/4/2011 a flange was sold to Fred Bloggs
Data definitions - Relationships
• What the relationship really is – ‘legal’
definition
– Example: For the relationship “Customer
purchases Sale” – A Customer agrees to make
immediate and full payment for a Product
which is given to the Customer at the time the
Sale is made.
• The (non-functional) requirements for
relationships is the cardinality – already
defined in the diagram
Data definitions - Attributes
• What the attribute really is – ‘legal’ definition
– Example: On entity Sale the attribute “Date”: the day and time the
Sale was agreed with the Customer
• The (non-functional) requirements the business has for them
– Data type
• Example: Numeric
– Size
• Example: 12
– Domain – not all attributes will have a domain
• Example: Timestamp YYYYMMDDHHMM
– Rules – not all attributes will have a rule(s)
• Example: Cannot be a Sunday or Bank Holiday and
must be between 09:00 and 17:30 and
always display as YYYY-MM-DD:HH.MM
– Examples (not a requirement but very useful)
• Example: 2011-04-28:10.05
Minor Exercise
I 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.
We have already got a data
model of the requirements so
lets define the data for
Customer.
An answer…
Entity
Customer
Definition
Attributes Retention
Period
Someone who
purchases flowers from
My Florist
Email Address
3 years
Max
Volume
9900
(3 years, 302 working
days per year, 15
customers per day)
Examples
Fredbloggs@hotmail.com
Relationship
Definition
Customer needs Reminder
The customer has purchased flowers from My Florist for a Special Occasion in the past, so reminders need to be
sent just before the anniversary of the event.
Attribute Definition
Data Type Size Domain
Customer.Email
Address
The email address given by the
customer at the point of sale of
flowers for a Special Occasion
Character
Unlimited
Email address
Rules Example
None
Fredbloggs@hotmail.com
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
• You have already produced a data model showing
– Entities
– Primary Keys
– Relationships
• Define the data entities, relationships and attributes.
• Suggestion: follow the process for producing a data
model diagram 6 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: 45 minutes
• Deliverable:
– Flip chart data definitions
– Flip chart assumptions
• Be prepared to present your data
definitions to the other team
• Don’t worry about completing the exercise
…and finally
• Any questions?
• Further resources…
• Feedback
• Thank-you!
Download