Вы находитесь на странице: 1из 19

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 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

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) 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)

Primary Keys are the navigation method for relationships


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

Purchases

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

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 The following should have been addressed via entity relationship diagram: 3. No Many to Manys between entities 4. No one to ones 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 its 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 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.

We have already got a data model of the requirements so lets define the data for Customer.

An answer
Entity
Customer

Definition
Someone who purchases flowers from My Florist

Attributes Retention Period


Email Address 3 years

Max Volume
9900 (3 years, 302 working days per year, 15 customers per day)

Examples
Fredbloggs@hotmail.com

Relationship
Customer needs Reminder

Definition
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
Customer.Email Address The email address given by the customer at the point of sale of flowers for a Special Occasion

Data Type Size Domain


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 Dont worry about completing the exercise

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

Вам также может понравиться