7-1 © Prentice Hall, 2004
Chapter 7:Chapter 7:Conceptual Data ModelingConceptual Data Modeling
Object-Oriented Systems Analysis and Design
Joey F. George, Dinesh Batra,
Joseph S. Valacich, Jeffrey A. Hoffer
7-2Chapter 7 © Prentice Hall, 2004
Chapter ObjectivesChapter Objectives
After studying this chapter you should be able to:– Determine how to develop conceptual
data models from use cases.– Understand UML notations for
conceptual data modeling.– Explain relationship characteristics such
as degree and multiplicity.
7-3Chapter 7 © Prentice Hall, 2004
Chapter Objectives Chapter Objectives (Continued)(Continued)
After studying this chapter you should be able to:– Describe data relationships such as
association, aggregation, and generalization.
– Describe different kinds of attributes such as identifier, multivalued, and derived.
7-4Chapter 7 © Prentice Hall, 2004
7-5Chapter 7 © Prentice Hall, 2004
What Is a Conceptual Data What Is a Conceptual Data Model?Model?
A detailed model that shows the overall structure of organizational data; it is independent of any database management system or other implementation considerations.
Represented by UML class diagrams
7-6Chapter 7 © Prentice Hall, 2004
Use cases are key inputs to conceptual data modeling.
7-7Chapter 7 © Prentice Hall, 2004
7-8Chapter 7 © Prentice Hall, 2004
7-9Chapter 7 © Prentice Hall, 2004
Conceptual Data Model ElementsConceptual Data Model ElementsClassesAttributesIdentifiersAssociations, aggregations, compositionsGeneralizationsTime dimensionsIntegrity rulesSecurity controls
7-10Chapter 7 © Prentice Hall, 2004
What Is an Object?What Is an Object?
An entity that encapsulates data and behavior
Examples: product, employee, order, line item
Class – a set of objects that share the same attributes, operations, relationships, and semantics (abstract)
Instance – a single object (concrete)
7-11Chapter 7 © Prentice Hall, 2004
Class
Instances
7-12Chapter 7 © Prentice Hall, 2004
UML Class symbol has three parts:
1) Name2) List of attributes3) List of operations
7-13Chapter 7 © Prentice Hall, 2004
Types of AttributesTypes of AttributesSimple attributes – contain single data item
Identifiers – connect unique key value
Multivalued attributes – contain multiple values simultaneously
Composite attributes – group of related attributes
7-14Chapter 7 © Prentice Hall, 2004
Stereotypes in Class DiagramsStereotypes in Class Diagrams
• Stereotype – a construct that extends the UML vocabulary
• Identifier stereotype <<PK>> for primary key
• Multivalued stereotype <<multivalued>>
7-15Chapter 7 © Prentice Hall, 2004
Primary key is a unique identifier; no two Student instances will have the same studentId value.
7-16Chapter 7 © Prentice Hall, 2004
Multivalued attribute can contain multiple values; a student may have several phone numbers
7-17Chapter 7 © Prentice Hall, 2004
Composite attributes have multiple sections (subattributes).They are treated as separate classes in conceptual data models.
7-18Chapter 7 © Prentice Hall, 2004
What Is a Relationship?What Is a Relationship?
A semantic connection between objects of one or more classes
In UML, represented as a line connecting two or more class boxes (or connecting one class to itself)
7-19Chapter 7 © Prentice Hall, 2004
This is a binary relationship, which indicates that an employee works in a department.
7-20Chapter 7 © Prentice Hall, 2004
Roles identify the purpose of each class in the relationship.
7-21Chapter 7 © Prentice Hall, 2004
What Is Relationship Degree?What Is Relationship Degree?The number of classes that participate in a
relationship
Main degrees:– Unary – a relationship between objects of the
same class– Binary – a relationship between objects of two
different classes– Ternary – a relationship between objects of
three different classes
7-22Chapter 7 © Prentice Hall, 2004
7-23Chapter 7 © Prentice Hall, 2004
7-24Chapter 7 © Prentice Hall, 2004
What Is Relationship Multiplicity?What Is Relationship Multiplicity?
The range of the number of objects in Class A that can or must be associated with each object of Class B.
A multiplicity is made up of:– A minimum cardinality – the minimum number
of Class A objects possible– A maximum cardinality – the maximum
number of Class A objects possible
7-25Chapter 7 © Prentice Hall, 2004
Relationship MultiplyRelationship Multiply
Relationships can be:
– One – to – one
– One – to – many
– Many – to – many
7-26Chapter 7 © Prentice Hall, 2004
Multiplicity notation is: min..max
7-27Chapter 7 © Prentice Hall, 2004
Roles make it clearer to see which should be on the one side and which should be on the many side of the relationship.
7-28Chapter 7 © Prentice Hall, 2004
7-29Chapter 7 © Prentice Hall, 2004
What Is an Associative Class?What Is an Associative Class?
A special purpose class that represents an association (relationship) between classes and contains attributes and/or relationships in its own right
Represented as a class connected to an association with a dotted line
7-30Chapter 7 © Prentice Hall, 2004
A Certificate represents a relationship between an employee and a course, and has an attribute pertaining to that relationship
7-31Chapter 7 © Prentice Hall, 2004
Sometimes associative classes have their own relationships with other classes.
7-32Chapter 7 © Prentice Hall, 2004
Types of AssociationsTypes of Associations
• Association – no object is subordinate to any other.
• Aggregation – one class represents the whole, and the other represents the part, but it is a loose coupling.
• Composition – an aggregation with a tight coupling. The whole and the part cannot exist without each other.
7-33Chapter 7 © Prentice Hall, 2004
7-34Chapter 7 © Prentice Hall, 2004
What Is Generalization?What Is Generalization?
A superclass – subclass relationship in which one class forms a broader category in which the other class is a sub-category
Inheritance – A subclass will inherit all the attributes and operations of its superclass; an instance of the subclass contains all the same information (plus more) as an instance of the superclass.
7-35Chapter 7 © Prentice Hall, 2004
7-36Chapter 7 © Prentice Hall, 2004
7-37Chapter 7 © Prentice Hall, 2004
Multiple inheritance is complicated and not supported by all object-oriented programming languages.
7-38Chapter 7 © Prentice Hall, 2004
RecapRecap
After studying this chapter we learned to:– Develop data models from use cases.– Use UML notation for conceptual modeling.– Understand relationship multiplicity and
degree.– Work with aggregation, composition, and
generalization.– Work with identifier, multivalued, and derived
attributes.