data modelling ii. plan introduction structured methods –data flow modelling –data modelling...

50
Data Modelling II

Post on 19-Dec-2015

221 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Data Modelling II

Page 2: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Plan

• Introduction

• Structured Methods– Data Flow Modelling– Data Modelling– Relational Data Analysis

• Feasibility

• Maintenance

Page 3: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Data Model Requirements

• Designers, end-users and programmers tend to view data in different ways

• We need a communications tool that will enable models to be understood by all– Non-technical– Un-ambiguous

(Connolly & Begg, 2000)

Page 4: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Entity

• A thing that occurs more than once in the system about which we need to store information

• …occurs more than once…• …about which we need to store information…

(These are NOT the same as external entities in DFDS)

Page 5: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Identifying Entities

• One way of identifying possible entities is to find all the nouns in a description of a system

• But…– Some of these might be attributes– Some of these might be neither entities or

attributes– This may not find all of the entities

Page 6: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Entities and Attributes

• Often an entity in one system will be an attribute in another system and might be neither in another system

• This depends on the context of the system we are studying

• We need to be clear about the system and its data and processing requirements

Page 7: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

ERD Elements

• E.G. In a student enrolment system

Student

Student NumberNameAddressPhone NumberCourse

Entity Name

Key Attribute

Non-Key Attributes

Page 8: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

One-to-Many

• Mulchester University

Student

Student Number

Course

Course Code

Enrolled on

EnrolsParent/Master

Child/Detail

Page 9: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Examples

• 1 to many (1 or more)

• 1 (or 0) to 1

• 1 (or 0) to many (1 or more)

• Many (1 or more) to Many (1 or more)

• Many (0, 1 or more) to 1 (or 0)

Page 10: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

One-to-Many

• Mulchester University– Each Course MUST enrol

one or more students– Each Student MUST be

enrolled on one course

– Student and Course cannot exist independently Student

Student Number

Course

Course Code

Enrolled on

Enrols

Page 11: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

One-to-Many

• Mulchester University– Each Course MAY enrol

one or more students– Each Student MUST be

enrolled on one course

– A course may exist with no students enrolled on it

Student

Student Number

Course

Course Code

Enrolled on

Enrols

Page 12: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

One-to-Many

• Mulchester University– Each Course MUST enrol

one or more students– Each Student MAY be

enrolled on one course

– A student may exist that is not enrolled on a course Student

Student Number

Course

Course Code

Enrolled on

Enrols

Page 13: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

One-to-Many

• Mulchester University– Each Course MAY enrol

one or more students– Each Student MAY be

enrolled on one course

– Both student and course may exist independently

Student

Student Number

Course

Course Code

Enrolled on

Enrols

Page 14: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Identifying Relationships

• One to One– Each

member of staff manages one branch

– Each branch managed by one member of staff

StaffID

S1001

S1003

S0110

Branch

B001

B002

manages

(Connolly & Begg, 2000)

Page 15: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Identifying Relationships

• One to Many– Each

Branch has Many employees

– Each employee works at one branch

Branch

B001

B002

StaffID

S0001

S0002

S0110

S2345

has

(Connolly & Begg, 2000)

Page 16: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

CustID

C1001

C1002

C5210

AccNo

A001

A102

A307

Identifying Relationships

• Many to Many– £ach

customer has many accounts

– £ach account held by many customers

(Connolly & Begg, 2000)

Page 17: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Identifying Relationships

• This is a useful exercise but…

• Things are not always as they appear at any given time

• Need to check with users– Historical facts– Future Requirements

• Have/will staff ever worked at multiple branches

Page 18: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Big Jim’s Bikes

• Big Jim sells Bikes on the Internet. Customers email Big Jim with their details and those of the bike that they want to buy

• Bike details are taken from the bike list posted on Big Jim’s Website, where every bike is listed with a unique stock number

• On receipt of an email Big Jim checks the bike details and then requests payment in full

• On receipt of payment Big Jim wraps the bike in brown paper and posts it to the customer using Royal Mail

• Big Jim stores customer details in case they buy another bike. No details of payments are stored.

Page 19: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Identify Entities

• Big Jim sells Bikes on the Internet. Customers email Big Jim with their details and those of the bike that they want to buy

• Bike details are taken from the bike list posted on Big Jim’s Website, where every bike is listed with a unique stock number

• On receipt of an email Big Jim checks the bike details and then requests payment in full

• On receipt of payment Big Jim wraps the bike in brown paper and posts it to the customer using Royal Mail

• Big Jim stores customer details in case they buy another bike. No details of payments are stored.

Page 20: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Draw ERD

• Each Customer can buy many bikes

• Each bike is bought by one customer

• Big Jim holds customer details before they buy a bike

• Bike details are held before they are bought

Bike

Stock Number

Customer

Customer Number

Buys

Bought by

Page 21: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Exercise 2

• Big Jim has decided that it is too much work to list every bike. He now lists bikes by model and customers buy one of that model rather than a specific bike. Each bike still has a unique stock number.

• Example models in Big Jim’s system are:– Raleigh Chopper– Penny Farthing– Dahon Espresso– Shogun XC200

• How does this effect the data model?

Page 22: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Solution

Page 23: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

What do we know?

• How to identify Entities and Attributes

• Why we need a Key Attribute

• How to describe the Relationships between Entities

• How to draw an Entity Relationship Diagram

Page 24: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

What problems still exist?

• There are some problems associated with M:N relationships that need to be resolved

• We may need to examine attributes in more detail

• We need to check our model against the required transactions

• There are additional relationships we could describe

Page 25: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Implementing the model

• At some point we will build a database from our data model

• It is likely that this will be a relational database– Access– Oracle– SQL Server– MySQL– DB2

Page 26: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Implementing the model

• The relational data model Does Not Support many-to-many relationships

• These must be resolved

Page 27: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

• Example 1- Students and Modules

Student

Student Number

Module

Module CodeEnrolled on

Enrols

Page 28: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

Student

Student Number

Module

Module Code

Student/Module

Student NumberModule Code

Remove the M:N relationship

Replace it with a “link” entity

Note the key attribute is compound

Add two new 1:M relationships

Page 29: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

Student

Student Number

Module

Module Code

Enrolment

Student NumberModule Code We can give the

new entity a more meaningful name

Page 30: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

Student

Student Number

Module

Module Code

Enrolment

Student NumberModule CodeGrade

It is likely that we will find new attributes that belong to the new entity

Page 31: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

• Example 2 – Orders and Stock Items

Order

Order Number

Stock Items

Stock CodeContains

Appears on

Page 32: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

Order

Order Number

Stock Item

Stock Code

Stock/Order

Order NumberStock Code

Page 33: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

Order

Order Number

Stock Item

Stock Code

Order Line

Order NumberStock Code

Page 34: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

Order

Order Number

Stock Item

Stock Code

Order Line

Order NumberStock CodeQtyLine Total

Page 35: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

How to resolve M:N

• Example 3 – Books and Authors

Book/Title

ISBNTitle

Author

Author NameWritten by

Author of

Page 36: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Structural Problems

• Some structural problems may exist in our model– Fan Traps– Chasm Traps

Page 37: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Fan Traps

Staff

StaffID

Car

CarNo

Branch

BranchNo Base forhas

at Based at

(Connolly & Begg, 2000)

How do we know which car is allocated to which staff?

Page 38: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Fan Traps

StaffID

S1003

S1010

Branch

B001

B002

CarNo

V001

V002

V003

(Connolly & Begg, 2000)

Page 39: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Fan Traps

StaffID

S1003

S1010

Branch

B001

B002

CarNo

V001

V002

V003

(Connolly & Begg, 2000)

Page 40: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Fan Traps

Staff

StaffID

Car

CarNo

Branch

BranchNo Base forhas

at Based at

allocated

Allocated to

(Connolly & Begg, 2000)

Page 41: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Chasm Traps

Branch

BranchNo

Staff

StaffNo

Car

CarNo

How do we know which staff work at a branch?

(Connolly & Begg, 2000)

Base for

Based at

allocated

Page 42: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Chasm Traps

Branch

B001

B002

CarNo

V001

V002

StaffID

S1003

S1010

(Connolly & Begg, 2000)

Page 43: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Chasm Traps

Branch

B001

B002

CarNo

V001

V002

StaffID

S1003

S1010

(Connolly & Begg, 2000)

Page 44: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Chasm Traps

Branch

BranchNo

Staff

StaffNo

Car

CarNo

(Connolly & Begg, 2000)

Base forBased at

allocated

has

at

Page 45: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Other relationships

Boat

BoatID

Surfboard

SurfboardNo

Customer

Customer Number

Customer can either book boats or surfboards but not both

aa

Page 46: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

What do we know?

• How to identify relationships

• How to resolve M:N relationships

• What chasm and fan traps look like

• Other ways of representing relationships

Page 47: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

Normalisation

• ERDs provide a top-down means of modelling data

• Normalisation is a complimentary approach which works from the bottom up

• We can also use normalisation to ensure that we have removed redundant data from our ERD

Page 48: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

References

• Whiteley, D. (2004) Introduction to Information Systems, Palgrave, 2004.

• Lejk, M. and D. Deeks (2002) Systems Analysis Techniques, Addison Wesley 2002

• Mason, D. and L. Willcocks (1994), Systems Analysis, Systems Design, Alfred Waller, 1994.

Page 49: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

References

• Yeates, D. and T. Wakefield (2004) Systems Analysis and Design, FT/Prentice Hall 2004

• Gane, C. and T. Sarson (1979) Structured Systems Analysis, Prentice Hall, 1979

• Eva, M (1994) SSADM Version 4: A users guide, McGraw hill, 1994

Page 50: Data Modelling II. Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance

References

• DeMarco, T. (1979) Structured Analysis and System Specification, Yourdon, 1979

• Royce, W. (1970) Managing the development of large software systems, In: Proceedings of IEEE WESCON, 1970 pp1-9.

• Connolly, T. and C. Begg (2000) Database Solutions, Addison-Wesley, 2000