Download presentation
Presentation is loading. Please wait.
1
Data Modelling II
2
Plan Introduction Structured Methods –Data Flow Modelling –Data Modelling –Relational Data Analysis Feasibility Maintenance
3
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)
4
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)
5
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
6
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
7
ERD Elements E.G. In a student enrolment system Student Student Number Name Address Phone Number Course Entity Name Key Attribute Non-Key Attributes
8
One-to-Many Mulchester University Student Student Number Course Course Code Enrolled on Enrols Parent/Master Child/Detail
9
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)
10
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
11
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
12
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
13
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
14
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)
15
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)
16
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)
17
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
18
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.
19
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.
20
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
21
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?
22
Solution
23
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
24
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
25
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
26
Implementing the model The relational data model Does Not Support many-to-many relationships These must be resolved
27
How to resolve M:N Example 1- Students and Modules Student Student Number Module Module Code Enrolled on Enrols
28
How to resolve M:N Student Student Number Module Module Code Student/Module Student Number Module Code Remove the M:N relationship Replace it with a “link” entity Note the key attribute is compound Add two new 1:M relationships
29
How to resolve M:N Student Student Number Module Module Code Enrolment Student Number Module Code We can give the new entity a more meaningful name
30
How to resolve M:N Student Student Number Module Module Code Enrolment Student Number Module Code Grade It is likely that we will find new attributes that belong to the new entity
31
How to resolve M:N Example 2 – Orders and Stock Items Order Order Number Stock Items Stock Code Contains Appears on
32
How to resolve M:N Order Order Number Stock Item Stock Code Stock/Order Order Number Stock Code
33
How to resolve M:N Order Order Number Stock Item Stock Code Order Line Order Number Stock Code
34
How to resolve M:N Order Order Number Stock Item Stock Code Order Line Order Number Stock Code Qty Line Total
35
How to resolve M:N Example 3 – Books and Authors Book/Title ISBN Title Author Author Name Written by Author of
36
Structural Problems Some structural problems may exist in our model –Fan Traps –Chasm Traps
37
Fan Traps Staff StaffID Car CarNo Branch BranchNo Base for has at Based at (Connolly & Begg, 2000) How do we know which car is allocated to which staff?
38
Fan Traps StaffID S1003 S1010 Branch B001 B002 CarNo V001 V002 V003 (Connolly & Begg, 2000)
39
Fan Traps StaffID S1003 S1010 Branch B001 B002 CarNo V001 V002 V003 (Connolly & Begg, 2000)
40
Fan Traps Staff StaffID Car CarNo Branch BranchNo Base for has at Based at allocated Allocated to (Connolly & Begg, 2000)
41
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
42
Chasm Traps Branch B001 B002 CarNo V001 V002 StaffID S1003 S1010 (Connolly & Begg, 2000)
43
Chasm Traps Branch B001 B002 CarNo V001 V002 StaffID S1003 S1010 (Connolly & Begg, 2000)
44
Chasm Traps Branch BranchNo Staff StaffNo Car CarNo (Connolly & Begg, 2000) Base for Based at allocated has at
45
Other relationships Boat BoatID Surfboard SurfboardNo Customer Customer Number Customer can either book boats or surfboards but not both a a
46
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
47
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
48
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.
49
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
50
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.