CHAPTER 2: MODELING DATA IN THE ORGANIZATION
© 2013 Pearson Education, Inc. Publishing as Prentice Hall 1
MMooddeerrnn DDaattaabbaassee MMaannaaggeemmeenntt 1111tthh EEddiittiioonn JJeeffffrreeyy AA.. HHooffffeerr,, VV.. RRaammeesshh,, HHeeiikkkkii TTooppii
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
OBJECTIVES
! Define terms ! Understand importance of data modeling ! Write good names and definitions for entities, relationships,
and attributes ! Distinguish unary, binary, and ternary relationships ! Model different types of attributes, entities, relationships,
and cardinalities ! Draw E-R diagrams for common business situations ! Convert many-to-many relationships to associative entities ! Model time-dependent data using time stamps
2
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
A GOOD DATA NAME IS:
! Related to business, not technical, characteristics ! Meaningful and self-documenting ! Unique ! Readable ! Composed of words from an approved list ! Repeatable ! Written in standard syntax
3 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
DATA DEFINITIONS
! Explanation of a term or fact " Term–word or phrase with specific meaning " Fact–association between two or more terms
! Guidelines for good data definition " A concise description of essential data meaning " Gathered in conjunction with systems
requirements " Accompanied by diagrams " Achieved by consensus, and iteratively refined
4
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
E-R MODEL CONSTRUCTS
! Entities: " Entity instance–person, place, object, event, concept (often
corresponds to a row in a table) " Entity Type–collection of entities (often corresponds to a table)
! Relationships: " Relationship instance–link between entities (corresponds to
primary key-foreign key equivalencies in related tables) " Relationship type–category of relationship…link between entity
types ! Attributes:
" Properties or characteristics of an entity or relationship type (often corresponds to a field in a table)
5 6
Sample E-R Diagram (Figure 2-1)
6 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
7
Relationship degrees specify number of entity types involved
Entity symbols
A special entity that is also a relationship
Relationship symbols
Relationship cardinalities specify how many of each entity type is allowed
Attribute symbols
Basic E-R notation (Figure 2-2)
7 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
BUSINESS RULES
! Are statements that define or constrain some aspect of the business
! Are derived from policies, procedures, events, functions
! Assert business structure ! Control/influence business behavior ! Are expressed in terms familiar to end users ! Are automated through DBMS software
8
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
A GOOD BUSINESS RULE IS:
! Declarative–what, not how ! Precise–clear, agreed-upon meaning ! Atomic–one statement ! Consistent–internally and externally ! Expressible–structured, natural language ! Distinct–non-redundant ! Business-oriented–understood by
business people
9 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
ENTITIES
! EEnnttiittyy – a person, a place, an object, an event, or a concept in the user environment about which the organization wishes to maintain data
! EEnnttiittyy ttyyppee – a collection of entities that share common properties or characteristics
! EEnnttiittyy iinnssttaannccee – A single occurrence of an entity type
10
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
ENTITY TYPE AND ENTITY INSTANCES
11 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
AN ENTITY…
! SHOULD BE: " An object that will have many instances in the
database " An object that will be composed of multiple
attributes " An object that we are trying to model
! SHOULD NOT BE: " A user of the database system " An output of the database system (e.g., a
report)
12
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 13
Inappropriate entities
System user
System output
Figure 2-4 Example of inappropriate entities
Appropriate entities
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
STRONG VS. WEAK ENTITIES, AND IDENTIFYING RELATIONSHIPS
! Strong entity " exists independently of other types of entities " has its own unique identifier
# identifier underlined with single line
! Weak entity " dependent on a strong entity (identifying owner)…cannot
exist on its own " does not have a unique identifier (only a partial identifier) " entity box and partial identifier have double lines
! Identifying relationship " links strong entities to weak entities
14
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall 15
Strong entity Weak entity
Figure 2-5 Example of a weak identity and its identifying relationship
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
ATTRIBUTES
! Attribute–property or characteristic of an entity or relationship type
! Classifications of attributes: " Required versus Optional Attributes " Simple versus Composite Attribute " Single-Valued versus Multivalued Attribute " Stored versus Derived Attributes " Identifier Attributes
16
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
REQUIRED VS. OPTIONAL ATTRIBUTES
17
Required – must have a value for every entity (or relationship) instance with which it is associated
Optional – may not have a value for every entity (or relationship) instance with which it is associated
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
SIMPLE VS. COMPOSITE ATTRIBUTES
! CCoommppoossiittee aattttrriibbuuttee – An attribute that has meaningful component parts (attributes)
18
The address is broken into component parts
Figure 2-7 A composite attribute
19
Figure 2-8 Entity with multivalued attribute (Skill) and derived attribute (Years Employed)
Multivalued an employee can have more than one skill
Derived Calculated from date employed and current date
Multi-valued and Derived Attributes
Multivalued – may take on more than one value for a given entity (or relationship) instance
Derived – values can be calculated from related attribute values (not physically stored in the database)
19 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
IDENTIFIERS (KEYS)
! Identifier (Key)–an attribute (or combination of attributes) that uniquely identifies individual instances of an entity type
! Simple versus Composite Identifier ! Candidate Identifier–an attribute that
could be a key…satisfies the requirements for being an identifier
20
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
CRITERIA FOR IDENTIFIERS
! Choose Identifiers that " Will not change in value " Will not be null
! Avoid intelligent identifiers (e.g., containing locations or people that might change)
! Substitute new, simple keys for long, composite keys
21 22
Figure 2-9 Simple and composite identifier attributes
The identifier is boldfaced and underlined
22 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
NAMING ATTRIBUTES
! Name should be a singular noun or noun phrase
! Name should be unique ! Name should follow a standard format
" e.g. [[EEnnttiittyy ttyyppee nnaammee {{ [[ QQuuaalliiffiieerr ]] }} ]] CCllaassss
! Similar attributes of different entity types should use the same qualifiers and classes
23 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
DEFINING ATTRIBUTES
! State what the attribute is and possibly why it is important
! Make it clear what is and is not included in the attribute s value
! Include aliases in documentation ! State source of values ! Specify required vs. optional ! State min and max number of occurrences allowed ! Indicate relationships with other attributes
24
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
MODELING RELATIONSHIPS
! Relationship Types vs. Relationship Instances " The relationship type is modeled as lines between
entity types…the instance is between specific entity instances
! Relationships can have attributes " These describe features pertaining to the association between
the entities in the relationship
! Two entities can have more than one type of relationship between them (multiple relationships)
! Associative Entity–combination of relationship and entity
25 26
Figure 2-10 Relationship types and instances
a) Relationship type (Completes)
b) Relationship instances
26 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
DEGREE OF RELATIONSHIPS
! Degree of a relationship is the number of entity types that participate in it " Unary Relationship " Binary Relationship " Ternary Relationship
27 28
Degree of relationships – from Figure 2-2
Entities of two different types related to each other
Entities of three different types related to each other
One entity related to another of the same entity type
28 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
CARDINALITY OF RELATIONSHIPS
! One-to-One " Each entity in the relationship will have exactly one
related entity ! One-to-Many
" An entity on one side of the relationship can have many related entities, but an entity on the other side will have a maximum of one related entity
! Many-to-Many " Entities on both sides of the relationship can have
many related entities on the other side
29 30
Figure 2-12 Examples of relationships of different degrees a) Unary relationships
30 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
31
Figure 2-12 Examples of relationships of different degrees (cont.) b) Binary relationships
31 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
32
Figure 2-12 Examples of relationships of different degrees (cont.) c) Ternary relationship
Note: a relationship can have attributes of its own
32 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
CARDINALITY CONSTRAINTS
! Cardinality Constraints—the number of instances of one entity that can or must be associated with each instance of another entity
! Minimum Cardinality " If zero, then optional " If one or more, then mandatory
! Maximum Cardinality " The maximum number
33 34
Figure 2-17 Examples of cardinality constraints a) Mandatory cardinalities
A patient must have recorded at least one history, and can have many
A patient history is recorded for one and only one patient
34 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
35
Figure 2-17 Examples of cardinality constraints (cont.) b) One optional, one mandatory
An employee can be assigned to any number of projects, or may not be assigned to any at all
A project must be assigned to at least one employee, and may be assigned to many
35 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
36
Figure 2-17 Examples of cardinality constraints (cont.) c) Optional cardinalities
A person is married to at most one other person, or may not be married at all
36 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
37
Entities can be related to one another in more than one way
Figure 2-21 Examples of multiple relationships a) Employees and departments
37 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
38
Figure 2-21 Examples of multiple relationships (cont.) b) Professors and courses (fixed lower limit constraint)
Here, min cardinality constraint is 2. At least two professors must be qualified to teach each course. Each professor must be qualified to teach at least one course.
38 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
39
Figure 2-15a and 2-15b Multivalued attributes can be represented as relationships
simple
composite
39 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
ASSOCIATIVE ENTITIES ! An entity–has attributes ! A relationship–links entities together ! When should a relationship with attributes instead be
an associative entity? " All relationships for the associative entity should be many " The associative entity could have meaning independent of the
other entities " The associative entity preferably has a unique identifier, and
should also have other attributes " The associative entity may participate in other relationships
other than the entities of the associated relationship " Ternary relationships should be converted to associative
entities 40
41
Figure 2-11a A binary relationship with an attribute
Here, the date completed attribute pertains specifically to the employee s completion of a course…it is an attribute of the relationship.
41 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
42
Figure 2-11b An associative entity (CERTIFICATE)
Associative entity is like a relationship with an attribute, but it is also considered to be an entity in its own right. Note that the many-to-many cardinality between entities in Figure 2-11a has been replaced by two one-to-many relationships with the associative entity.
42 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
43
Figure 2-13c An associative entity – bill of materials structure
This could just be a relationship with attributes…it s a judgment call.
43 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
44
Figure 2-18 Cardinality constraints in a ternary relationship
44 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
45
Figure 2-19 Simple example of time-stamping
The Price History attribute is both multivalued and composite.
Time stamp – a time value that is associated with a data value, often indicating when some event occurred that affected the data value
45 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
46
Figure 2-20c E-R diagram with associative entity for product assignment to product line over time
The Assignment associative entity shows the date range of a product s assignment to a particular product line.
Modeling time-dependent data has become more important due to regulations such as HIPAA and Sarbanes-Oxley.
46 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall
47
Figure 2-22 Data model for Pine Valley Furniture Company in Microsoft Visio notation
Different modeling software tools may have different notation for the same constructs.
47 Chapter 2 © 2013 Pearson Education, Inc. Publishing as Prentice Hall