23
An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew [email protected] Nov 2010

An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew [email protected] Nov 2010

Embed Size (px)

Citation preview

Page 1: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

An Introduction to Data ModellingEntity Relationship ModellingAvin Mathew

[email protected]

Nov 2010

Page 2: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

2

WHY do we model data?

Page 3: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

3

WHAT is a data model?

Page 4: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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.

Page 5: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

Page 6: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

6

WHERE do we use data models?

Page 7: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

7

WHEN would a Business Analyst use data models?

Page 8: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

Data Model Levels

Conceptual

Logical

Physical

Page 9: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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)

Page 10: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

Entity Relationship Model

• Most common data modelling technique

• Used in most business information system development

• Tools that engineer a database from a data model

Page 11: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

ER Process

1. Identify entities

2. Identify attributes

3. Identify relationships

4. Apply naming conventions

5. Assign keys

6. Normalise

Page 12: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

EntityName

Page 13: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

13

Identify attributes

• Properties of an entity

Person Chair

First NameLast NameEmail Address

ColourHeightPrice

AttributeName

AttributeName

Page 14: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

PersonPhone

NumberPerson

Person Phone

Number

Phone Number

Person Chairsits on

Page 15: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

15

Apply naming conventions

Examples:

• Singular vs plural names for entities

• Consistent names: date, summary, description, name

• Reference Types all ending with Type

• Standardise suffixes: Id, Key, Code, Flag

Page 16: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

Page 17: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

Page 18: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

18

Scenario 1

Page 19: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

19

Scenario 1 – A Possible Data Model

Incident

Incident DateSummaryDescriptionDangerous Event Flag

Location

Location IdName

Person

Person IdFirst NameLast Name

Electrical Incident

Motor 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

Page 20: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

20

Scenario 2

Page 21: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

Page 22: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

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

Page 23: An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov 2010

An Introduction to Data ModellingEntity Relationship ModellingAvin Mathew

[email protected]

Nov 2010