40
1 Chapter 3: Chapter 3: Modeling Data in the Modeling Data in the Organization Organization Modern Database Management Modern Database Management 8 8 th th Edition Edition

1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

  • View
    231

  • Download
    0

Embed Size (px)

Citation preview

Page 1: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

11

Chapter 3:Chapter 3:Modeling Data in the Modeling Data in the

OrganizationOrganization

Modern Database Modern Database ManagementManagement88thth Edition Edition

Page 2: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

22Chapter 3

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 3: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

33Chapter 3

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: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

44Chapter 3

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: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

55Chapter 3

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: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

66Chapter 3

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: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

77Chapter 3

E-R Model ConstructsE-R Model Constructs Entities:Entities:

Entity instance–person, place, object, event, concept (often Entity instance–person, place, object, event, concept (often corresponds to a row in a table)corresponds to a row in a table)

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

Relationships:Relationships: Relationship instance–link between entities (corresponds to Relationship instance–link between entities (corresponds to

primary key-foreign key equivalencies in related tables)primary key-foreign key equivalencies in related tables) Relationship type–category of relationship…link between Relationship type–category of relationship…link between

entity typesentity types

Attribute–Attribute–property or characteristic of an entity or property or characteristic of an entity or relationship type (often corresponds to a field in a table)relationship type (often corresponds to a field in a table)

Page 8: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

88Chapter 3

Sample E-R Diagram (Figure 3-1)

Page 9: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

99Chapter 3

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 3-2)

Page 10: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1010Chapter 3

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 An output of the database system

(e.g., a report)(e.g., a report)

Page 11: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1111Chapter 3

Inappropriate entities

System System useruser

System System outputoutput

Figure 3-4 Example of inappropriate entities

Appropriate entities

Page 12: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1212Chapter 3

AttributesAttributes Attribute–property or characteristic Attribute–property or characteristic

of an entity or relationships typeof an entity or relationships type Classifications of attributes:Classifications of attributes:

Required versus Optional AttributesRequired versus Optional Attributes Simple versus Composite AttributeSimple versus Composite Attribute Single-Valued versus Multivolume Single-Valued versus Multivolume

AttributeAttribute Stored versus Derived AttributesStored versus Derived Attributes Identifier AttributesIdentifier Attributes

Page 13: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1313Chapter 3

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 versus Composite IdentifierSimple versus Composite Identifier Candidate Identifier–an attribute that Candidate Identifier–an attribute that

could be a key…satisfies the could be a key…satisfies the requirements for being an identifierrequirements for being an identifier

Page 14: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1414Chapter 3

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: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1515Chapter 3

Figure 3-7 A composite attribute

An attribute broken into component parts

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

Multivaluedan employee can have more than one skill

Derivedfrom date employed and current date

Page 16: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1616Chapter 3

Figure 3-9 Simple and composite identifier attributes

The identifier is boldfaced and underlined

Page 17: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1717Chapter 3

Figure 3-19 Simple example of time-stamping

This attribute that is both multivalued and composite

Page 18: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1818Chapter 3

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

The relationship type is modeled as lines between The relationship type is modeled as lines between entity types…the instance is between specific entity types…the instance is between specific entity instancesentity instances

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

between the entities in the relationshipbetween the 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 19: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

1919Chapter 3

Figure 3-10 Relationship types and instances

a) Relationship type

b) Relationship instances

Page 20: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2020Chapter 3

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 21: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2121Chapter 3

Degree of relationships – from Figure 3-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

Page 22: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2222Chapter 3

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 23: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2323Chapter 3

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 24: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2424Chapter 3

Figure 3-12 Examples of relationships of different degrees

a) Unary relationships

Page 25: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2525Chapter 3

Figure 3-12 Examples of relationships of different degrees (cont.)

b) Binary relationships

Page 26: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2626Chapter 3

Figure 3-12 Examples of relationships of different degrees (cont.)

c) Ternary relationship

Note: a relationship can have attributes of its own

Page 27: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2727Chapter 3

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

Page 28: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2828Chapter 3

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

Page 29: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

2929Chapter 3

Figure 3-17 Examples of cardinality constraints (cont.)

a) Optional cardinalities

A person is is married to at most one other person, or may not be married at all

Page 30: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3030Chapter 3

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

Figure 3-21 Examples of multiple relationships

a) Employees and departments

Page 31: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3131Chapter 3

Figure 3-21 Examples of multiple relationships (cont.)

b) Professors and courses (fixed lower limit constraint)

Here, min cardinality constraint is 2

Page 32: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3232Chapter 3

Figure 3-15a and 3-15b Multivalued attributes can be represented as relationships

simple

composite

Page 33: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3333Chapter 3

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 identifier underlined with single-lineidentifier underlined with single-line

Weak entityWeak entity dependent on a strong entity (identifying owner)…cannot exist on its dependent on a strong entity (identifying owner)…cannot exist on its

ownown does not have a unique identifier (only a partial identifier)does not have a unique identifier (only a partial identifier) Partial identifier underlined with double-linePartial identifier underlined with double-line Entity box has double lineEntity box has double line

Identifying relationshipIdentifying relationship links strong entities to weak entitieslinks strong entities to weak entities

Page 34: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3434Chapter 3

Strong entity Weak entity

Identifying relationship

Page 35: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3535Chapter 3

Associative EntitiesAssociative Entities An An entityentity–has attributes–has attributes

A A relationshiprelationship–links entities together–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 The associative entity could have meaning independent of the

other entitiesother 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 36: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3636Chapter 3

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 37: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3737Chapter 3

Figure 3-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 3-11a has been replaced by two one-to-many relationships with the associative entity.

Page 38: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3838Chapter 3

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

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

Page 39: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

3939Chapter 3

Figure 3-18 Ternary relationship as an associative entity

Page 40: 1 Chapter 3: Modeling Data in the Organization Modern Database Management 8 th Edition

4040Chapter 3

Microsoft Visio Notation for Pine Valley Furniture

E-R diagram

Different modeling software tools may have different notation for the same constructs