Fundamentals, Design, and Implementation, 9/e COS 346 Day 3
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/2 Copyright © 2004 Agenda Questions from last Class? Assignment 31 Graded –2 A’s, 1 B, 1 C, 2 F’s and 1 non-submit –Some of you need to take these assignments more seriously Assignment #2 Due next class Assignment # 3 will be assigned next class First Exam –Feb2 one week from today –Chaps 1-3 –20 M/C; 5 Short essays –60 min WebCt Today’s discussion –Entity-Relationship Data Modeling: Process and Examples
Fundamentals, Design, and Implementation, 9/e Chapter 3 Entity-Relationship Data Modeling: Process and Examples
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/4 Copyright © 2004 Quick review of E-R
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/5 Copyright © 2004 Quick review of IDEF1X FISH OBSERVATIONRIVER OBSERVER CLASS CLASS_OFFERING PROFESSIONAL VOLUNTEER RIVER_SITE P Question 2.76 on page 69 of text
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/6 Copyright © 2004 A Data Modeling Process Steps in the data modeling process 1.Plan project 2.Determine requirements 3.Specify entities 4.Specify relationships 5.Determine identifiers 6.Specify attributes 7.Specify domains 8.Validate model
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/7 Copyright © 2004 Planning the Project Obtaining project authorization and budget Building the project team Planning the team’s activities Establishing tools, techniques, and standards for consistent results Defining the project’s scope
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/8 Copyright © 2004 Determining System Requirements Sources for data modeling requirements –User interviews and user activity observations –Existing forms and reports –New forms and reports –Existing manual files –Existing computer files/databases –Formally defined interfaces (XML) –Domain expertise The result of the requirements determination will be a repository of notes, diagram, forms reports, files, etc., that can be used to develop the data model
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/9 Copyright © 2004 Specifying Entities An entity is something that the users want to track; something the users want to keep data about Entities –can be physical things or logical concepts –are identifiable; you can tell one from another –are things described by nouns, not characteristics described by adjectives
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/10 Copyright © 2004 Specifying entities
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/11 Copyright © 2004 Specifying Relationships Includes: –Identity of the parent and child entities –Relationship type –Minimum and maximum cardinalities –Name of the relationships Two techniques: –Examine whether a relationship exists between every combination of two entities –Locate relationships from requirement documents A combination of the two approaches may be used Be careful of combinatorial explosions –5 entities -> 20 possible relationships to explore –10 entities -> 90 possible relationships to explore –100 entities -> 9900 possible relationships to explore
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/12 Copyright © 2004 Specifying Relationships
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/13 Copyright © 2004 Determining Identifiers Identifier is an attribute or group of attributes that uniquely identifies an entity instance If there is difficulty specifying an identifier, maybe: –it should be part of a different entity –it is a subtype or category of a common entity –it needs one or more identifying relationships
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/14 Copyright © 2004 Specifying Attributes and Domains Find attributes on forms, reports, existing files, etc., and add them to entities Determine whether the attribute has already defined a domain –If so, the attribute is based upon that domain –If not, a new domain is defined Review the domains and make adjustments as necessary Domain property inheritance: when the domain properties change, all the attribute properties change as well Domains may be used to enforce data standards promoting compatible data types and systems Once all attributes have been specified the model should be reviewed for missing entities
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/15 Copyright © 2004 Validating Model Data model is a model of humans’ models, not a model of reality A data model is wrong if it does not accurately reflect the ways the users think about their world Data models are validated through a series of reviews –Normally, a team review is followed by user reviews E-R model as well as prototypes of forms and reports may be used to communicate to users features of the data model
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/16 Copyright © 2004 Creating Data Models From Forms and Reports Example: Single entities
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/17 Copyright © 2004 Example: Identifying Connection Relationships Cardinality? P, 1, Z
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/18 Copyright © 2004 Example: Repeating Groups
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/19 Copyright © 2004 Example: Repeating Groups
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/20 Copyright © 2004 Example: Nested Groups
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/21 Copyright © 2004 Example: Non-Identifying Connection Relationships Example: 1:1
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/22 Copyright © 2004 Example: Non-Identifying Connection Relationships
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/23 Copyright © 2004 Example: 1:N
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/24 Copyright © 2004 Example: 1:N
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/25 Copyright © 2004 Example: 1:N
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/26 Copyright © 2004 Example: N:M Insert
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/27 Copyright © 2004 Example: Assignment Relationship
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/28 Copyright © 2004 Example: Assignment Relationship
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/29 Copyright © 2004 Example: Category Relationship
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/30 Copyright © 2004 Example: Category Relationship
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/31 Copyright © 2004 Example: Category Relationship
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/32 Copyright © 2004 Sales-Order Model
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/33 Copyright © 2004 Example: Sales Order
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/34 Copyright © 2004 Example: Sales Order Figure 3-16(c) shows an alternative design that allows an item to appear more than once on a given order
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/35 Copyright © 2004 Example: University System
Database Processing: Fundamentals, Design and Implementation, 9/e by David M. KroenkeChapter 3/36 Copyright © 2004 University System With Domain Names
Fundamentals, Design, and Implementation, 9/e Chapter 3 Entity-Relationship Data Modeling: Process and Examples