Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance...

Post on 22-Dec-2015

216 views 1 download

Tags:

Transcript of Chapter 3 © 2005 by Prentice Hall 1 Objectives Definition of terms Definition of terms Importance...

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

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

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

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

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

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

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

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

Sample E-R Diagram (Figure 3-1)

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

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)

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

Inappropriate entities

System userSystem user System outputSystem output

Appropriate entities

Figure 3-4

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

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

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

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

Figure 3-7 – A composite attribute

An attribute broken into component parts

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

Figure 3-9a – Simple key attribute

The key is underlined

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

Figure 3-9b – Composite key attribute

The key is composed of two subparts

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

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

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

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

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

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

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

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

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

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

Note: a relationship can have attributes of its own

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

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

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

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

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

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

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

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

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

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

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

Here,max cardinality constraint is 4

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

Multivalued attributes can be represented as relationships

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

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

Strong entity Weak entityIdentifying relationship

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

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

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

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

Figure 3-18 – Ternary relationship as an associative entity