An Introduction to Data Modelling Entity Relationship Modelling Avin Mathew amathew@smsmt.com Nov...

Preview:

Citation preview

An Introduction to Data ModellingEntity Relationship ModellingAvin Mathew

amathew@smsmt.com

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 Process

1. Identify entities

2. Identify attributes

3. Identify relationships

4. Apply naming conventions

5. Assign keys

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

EntityName

13

Identify attributes

• Properties of an entity

Person Chair

First 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

PersonPhone

NumberPerson

Person Phone

Number

Phone Number

Person Chairsits on

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

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

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 Mathew

amathew@smsmt.com

Nov 2010

Recommended