an introduction to data modelling
DESCRIPTION
An Introduction to Data Modelling. Entity Relationship Modelling. Avin Mathew [email protected]. Nov 2010. WHY do we model data?. WHAT is a data model?. - PowerPoint PPT PresentationTRANSCRIPT
An Introduction to Data ModellingEntity Relationship ModellingAvin [email protected]
Nov 2010
2
WHY do we model data?
3
WHAT is a data model?
4
An album has an a creating artist, a title, recommended price, genre and album art that is displayed to a user. A user can subsequently purchase the album in various quantities and at different unit prices depending on specials on offer. A user’s purchase order will contain the date of purchase, their contact details (address, telephone and/or email) and the total price.
Album
PK AlbumId
FK1 GenreIdFK2 ArtistId Title Price AlbumArtUrl
Artist
PK ArtistId
Name
OrderDetail
PK OrderDetailId
FK1 OrderIdFK2 AlbumId Quantity UnitPrice
Order
PK OrderId
Date Username Name Address Phone Email Total
Genre
PK GenreId
Name Description
6
WHERE do we use data models?
7
WHEN would a Business Analyst use data models?
Data Model Levels
Conceptual
Logical
Physical
How do we data model?• People
• Business, users, developers, DBAs
• Inputs• Business & functional requirements, business processes,
databases, documents, UI screens
• Tools• Drawing packages (e.g. PowerPoint, Visio), data modelling
packages (e.g. ERWin, System Architect)
Entity Relationship Model• Most common data modelling technique• Used in most business information system development• Tools that engineer a database from a data model
ER Process1. Identify entities2. Identify attributes3. Identify relationships4. Apply naming conventions5. Assign keys6. Normalise
12
Identify entities• An object that exists and is distinguishable from other
objects• Examples: person, company, event, place• Should be a singular concept
EntityName Person Chair Entity
Name
13
Identify attributes• Properties of an entity
Person ChairFirst NameLast NameEmail Address
ColourHeightPrice
AttributeName
AttributeName
14
• One to many
Identify relationships• An association between two entities• Cardinality and optionality
• One to one
• Many to many
• Roles
Person Chair Person Table
Person Phone Number Person
Person Phone
Number
Phone Number
Person Chairsits on
15
Apply naming conventionsExamples:• Singular vs plural names for entities
• Consistent names: date, summary, description, name
• Reference Types all ending with Type
• Standardise suffixes: Id, Key, Code, Flag
16
Assign keys
Person
PK Tax File Number
First Name Middle Names Last NameFK1 Address Id
Address
PK Address Id
Address Line 1 Address Line 2 Suburb State Post Code
PrimaryKey
ForeignKey
SurrogateKey
PrimaryKey
NaturalKey
17
Normalise• Every non-key attribute in every table is directly
dependent on the key• Results in:
• Elimination of redundancies
• Fewer anomalies
• Most information systems are in third-normal form
18
Scenario 1
19
Scenario 1 – A Possible Data Model
Incident
Incident DateSummaryDescriptionDangerous Event Flag
Location
Location IdName
Person
Person IdFirst NameLast Name
Electrical IncidentMotor Vehicle Incident
Environmental Incident
Injury/Illness Incident
DescriptionClassification
Bodily Location Type
Nature Type
Bodily Location
Nature
Investigation
Person Type
Investigator
Person Injured/Ill
Supervising Officer
Reported By
20
Scenario 2
21
Scenario 2 – A Possible Data Model
Asset
Serial Number
SegmentAsset Type
Model
Product FamilyRevision Number
Manufacturer
Installation History
Install DateUninstall Date
Agent
Attribute
Value
Unit TypeAttribute Type
Data Model Patterns
David Hay – Data model patterns: Conventions of thought
Martin Fowler – Analysis patterns: Reusable object models
Len Silverston – The data model resource book: A library of universal data models for all enterprises
An Introduction to Data ModellingEntity Relationship ModellingAvin [email protected]
Nov 2010