chapter 3 © 2005 by prentice hall 1 objectives definition of terms definition of terms importance...

42
1 Chapter 3 © 2005 by Prentice Hall © 2005 by Prentice Hall Objectives Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good names and definitions for entities, Write good names and definitions for entities, relationships, and attributes relationships, and attributes Distinguish unary, binary, and ternary Distinguish unary, binary, and ternary relationships relationships Model different types of attributes, entities, Model different types of attributes, entities, relationships, and cardinalities relationships, and cardinalities Draw E-R diagrams for common business Draw E-R diagrams for common business situations situations Convert many-to-many relationships to Convert many-to-many relationships to associative entities associative entities Model time-dependent data using time stamps Model time-dependent data using time stamps

Post on 22-Dec-2015

218 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

11Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

ObjectivesObjectives Definition of termsDefinition of terms Importance of data modelingImportance of data modeling Write good names and definitions for entities, Write good names and definitions for entities,

relationships, and attributesrelationships, and attributes Distinguish unary, binary, and ternary relationshipsDistinguish unary, binary, and ternary relationships Model different types of attributes, entities, Model different types of attributes, entities,

relationships, and cardinalitiesrelationships, and cardinalities Draw E-R diagrams for common business situationsDraw E-R diagrams for common business situations Convert many-to-many relationships to associative Convert many-to-many relationships to associative

entitiesentities Model time-dependent data using time stampsModel time-dependent data using time stamps

Page 2: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

22Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

SDLC Revisited – Data Modeling is SDLC Revisited – Data Modeling is an Analysis Activity an Analysis Activity

Purpose – thorough analysisDeliverable – functional system specifications

Database activity – conceptual data modeling

Project Identification and Selection

Project Initiation and Planning

Analysis

Physical Design

Implementation

Maintenance

Logical Design

Analysis

Project Initiation and Planning

Page 3: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

33Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Business RulesBusiness Rules

Statements that define or constrain Statements that define or constrain some aspect of the businesssome aspect of the business

Assert business structureAssert business structure Control/influence business behaviorControl/influence business behavior Expressed in terms familiar to end Expressed in terms familiar to end

usersusers Automated through DBMS softwareAutomated through DBMS software

Page 4: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

44Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

A Good Business Rule is:A Good Business Rule is:

Declarative – what, not howDeclarative – what, not how Precise – clear, agreed-upon meaningPrecise – clear, agreed-upon meaning Atomic – one statementAtomic – one statement Consistent – internally and externallyConsistent – internally and externally Expressible – structured, natural Expressible – structured, natural

languagelanguage Distinct – non-redundantDistinct – non-redundant Business-oriented – understood by Business-oriented – understood by

business peoplebusiness people

Page 5: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

55Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

A Good Data Name is:A Good Data Name is:

Related to business, not technical, Related to business, not technical, characteristicscharacteristics

Meaningful and self-documentingMeaningful and self-documenting UniqueUnique ReadableReadable Composed of words from an approved Composed of words from an approved

listlist RepeatableRepeatable

Page 6: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

66Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Data DefinitionsData Definitions

Explanation of a term or factExplanation of a term or fact Term – word or phrase with specific meaningTerm – word or phrase with specific meaning Fact – association between two or more termsFact – association between two or more terms

Guidelines for good data definitionGuidelines for good data definition Gathered in conjunction with systems Gathered in conjunction with systems

requirementsrequirements Accompanied by diagramsAccompanied by diagrams Iteratively created and refinedIteratively created and refined Achieved by consensusAchieved by consensus

Page 7: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

77Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

E-R Model ConstructsE-R Model Constructs Entity instance - person, place, object, event, Entity instance - person, place, object, event,

concept (often corresponds to a row in a table)concept (often corresponds to a row in a table) Entity Type – collection of entities (often Entity Type – collection of entities (often

corresponds to a table)corresponds to a table) Attribute - property or characteristic of an Attribute - property or characteristic of an

entity type (often corresponds to a field in a entity type (often corresponds to a field in a table)table)

Relationship instance – link between entities Relationship instance – link between entities (corresponds to primary key-foreign key (corresponds to primary key-foreign key equivalencies in related tables)equivalencies in related tables)

Relationship type – category of Relationship type – category of relationship…link between entity typesrelationship…link between entity types

Page 8: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

88Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Sample E-R Diagram (Figure 3-1)

Page 9: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

99Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

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

Page 10: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1010Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

What Should an Entity Be?What Should an Entity Be? SHOULD BE:SHOULD BE:

An object that will have many An object that will have many instances in the databaseinstances in the database

An object that will be composed of An object that will be composed of multiple attributesmultiple attributes

An object that we are trying to modelAn object that we are trying to model SHOULD NOT BE:SHOULD NOT BE:

A user of the database system A user of the database system An output of the database system (e.g. An output of the database system (e.g.

a report)a report)

Page 11: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1111Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Inappropriate entities

System userSystem user System outputSystem output

Appropriate entities

Figure 3-4

Page 12: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1212Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

AttributesAttributes

Attribute - property or characteristic Attribute - property or characteristic of an entity typeof an entity type

Classifications of attributes:Classifications of attributes: Required versus Optional AttributesRequired versus Optional Attributes Simple versus Composite AttributeSimple versus Composite Attribute Single-Valued versus Multivalued Single-Valued versus Multivalued

AttributeAttribute Stored versus Derived AttributesStored versus Derived Attributes Identifier AttributesIdentifier Attributes

Page 13: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1313Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Identifiers (Keys)Identifiers (Keys)

Identifier (Key) - An attribute (or Identifier (Key) - An attribute (or combination of attributes) that combination of attributes) that uniquely identifies individual uniquely identifies individual instances of an entity typeinstances of an entity type

Simple Key versus Composite KeySimple Key versus Composite Key Candidate Key – an attribute that Candidate Key – an attribute that

could be a key…satisfies the could be a key…satisfies the requirements for being a keyrequirements for being a key

Page 14: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1414Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Characteristics of IdentifiersCharacteristics of Identifiers

Will not change in valueWill not change in value Will not be nullWill not be null No intelligent identifiers (e.g. No intelligent identifiers (e.g.

containing locations or people that containing locations or people that might change)might change)

Substitute new, simple keys for long, Substitute new, simple keys for long, composite keyscomposite keys

Page 15: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1515Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-7 – A composite attribute

An attribute broken into component parts

Page 16: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1616Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-9a – Simple key attribute

The key is underlined

Page 17: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1717Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-9b – Composite key attribute

The key is composed of two subparts

Page 18: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1818Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-8 – Entity with a multivalued attribute (Skill) and derived attribute (Years_Employed)

Derived from date employed and current date

What’s wrong with this?

Multivalued: an employee can have more than one skill

Page 19: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

1919Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-19 – An attribute that is both multivalued and composite

This is an example of time-stamping

Page 20: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2020Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

More on RelationshipsMore on Relationships Relationship Types vs. Relationship InstancesRelationship Types vs. Relationship Instances

The relationship type is modeled as the diamond The relationship type is modeled as the diamond and lines between entity types…the instance is and lines between entity types…the instance is between specific entity instancesbetween specific entity instances

Relationships can have attributesRelationships can have attributes These describe features pertaining to the association between These describe features pertaining to the association between

the entities in the relationshipthe entities in the relationship Two entities can have more than one type of Two entities can have more than one type of

relationship between them (multiple relationship between them (multiple relationships)relationships)

Associative Entity – combination of Associative Entity – combination of relationship and entityrelationship and entity

Page 21: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2121Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Degree of RelationshipsDegree of Relationships

Degree of a relationship is Degree of a relationship is the number of entity types the number of entity types that participate in itthat participate in itUnary RelationshipUnary RelationshipBinary RelationshipBinary RelationshipTernary RelationshipTernary Relationship

Page 22: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2222Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Degree of relationships – from Figure 3-2

One entity related to another of the same entity type

Entities of two different types related to each other Entities of three

different types related to each other

Page 23: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2323Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Cardinality of RelationshipsCardinality of Relationships

One-to-OneOne-to-One Each entity in the relationship will have exactly Each entity in the relationship will have exactly

one related entityone related entity One-to-ManyOne-to-Many

An entity on one side of the relationship can An entity on one side of the relationship can have many related entities, but an entity on the have many related entities, but an entity on the other side will have a maximum of one related other side will have a maximum of one related entityentity

Many-to-ManyMany-to-Many Entities on both sides of the relationship can Entities on both sides of the relationship can

have many related entities on the other sidehave many related entities on the other side

Page 24: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2424Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Cardinality ConstraintsCardinality Constraints Cardinality Constraints - the number of Cardinality Constraints - the number of

instances of one entity that can or must instances of one entity that can or must be associated with each instance of be associated with each instance of another entityanother entity

Minimum CardinalityMinimum Cardinality If zero, then optionalIf zero, then optional If one or more, then mandatoryIf one or more, then mandatory

Maximum CardinalityMaximum Cardinality The maximum numberThe maximum number

Page 25: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2525Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Page 26: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2626Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Page 27: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2727Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Note: a relationship can have attributes of its own

Page 28: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2828Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Basic relationship with only maximum cardinalities showing – Figure 3-16a

Mandatory minimum cardinalities – Figure 3-17a

Page 29: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

2929Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-17cOptional cardinalities with unary degree, one-to-one relationship

Page 30: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3030Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Page 31: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3131Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

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

Page 32: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3232Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-12c -- A ternary relationship with attributes

Page 33: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3333Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Representing a bill-of -materials structure

Figure 3-13a – A unary relationship with an attribute. This has a many-to-many relationship

Page 34: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3434Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Entities can be related to one another in more than one way

Page 35: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3535Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Here,max cardinality constraint is 4

Page 36: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3636Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Multivalued attributes can be represented as relationships

Page 37: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3737Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Strong vs. Weak Entities, andStrong vs. Weak Entities, andIdentifying RelationshipsIdentifying Relationships

Strong entities Strong entities exist independently of other types of entitiesexist independently of other types of entities has its own unique identifierhas its own unique identifier represented with single-line rectanglerepresented with single-line rectangle

Weak entityWeak entity dependent on a strong entity…cannot exist on its owndependent on a strong entity…cannot exist on its own does not have a unique identifierdoes not have a unique identifier represented with double-line rectanglerepresented with double-line rectangle

Identifying relationshipIdentifying relationship links strong entities to weak entitieslinks strong entities to weak entities represented with double line diamondrepresented with double line diamond

Page 38: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3838Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Strong entity Weak entityIdentifying relationship

Page 39: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

3939Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Associative EntitiesAssociative Entities It’s an It’s an entity entity – it has attributes– it has attributes

AND it’s a AND it’s a relationship relationship – it links entities together– it links entities together

When should a When should a relationship with attributesrelationship with attributes instead be instead be an an associative entityassociative entity? ? All relationships for the associative entity should be manyAll relationships for the associative entity should be many The associative entity could have meaning independent of The associative entity could have meaning independent of

the other entitiesthe other entities The associative entity preferably has a unique identifier, and The associative entity preferably has a unique identifier, and

should also have other attributesshould also have other attributes The associative entity may participate in other relationships The associative entity may participate in other relationships

other than the entities of the associated relationshipother than the entities of the associated relationship Ternary relationships should be converted to associative Ternary relationships should be converted to associative

entitiesentities

Page 40: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

4040Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-11b – An associative entity (CERTIFICATE)

Associative entity involves a rectangle with a diamond inside.Note that the many-to-many cardinality symbols face toward the associative entity and not toward the other entities

Page 41: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

4141Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-13c – An associative entity – bill of materials structure

This could just be a relationship with attributes…it’s a judgment call

Page 42: Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance of data modeling Importance of data modeling Write good

4242Chapter 3 © 2005 by Prentice Hall© 2005 by Prentice Hall

Figure 3-18 – Ternary relationship as an associative entity