7-1 © Prentice Hall, 2007 Chapter 7: Conceptual Data Modeling Object-Oriented Systems Analysis and Design Joey F. George, Dinesh Batra, Joseph S. Valacich, Jeffrey A. Hoffer
Chapter © Prentice Hall, 2007 Chapter Objectives – 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. – Describe data relationships such as association, aggregation, and generalization. – Describe different kinds of attributes such as identifier, multivalued, and derived.
Chapter © Prentice Hall, 2007
Chapter © Prentice Hall, 2007 What Is a Conceptual Data 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
Chapter © Prentice Hall, 2007 Use cases are key inputs to conceptual data modeling.
Chapter © Prentice Hall, 2007 Conceptual model sets the stage for more detailed model, and ultimately system design
Chapter © Prentice Hall, 2007 Conceptual Data Model Elements Classes Attributes Identifiers Associations, aggregations, compositions Generalizations Time dimensions Integrity rules Security controls
Chapter © Prentice Hall, 2007 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)
Chapter © Prentice Hall, 2007 Class Instances
Chapter © Prentice Hall, 2007 UML Class symbol has three parts: 1)Name 2)List of attributes 3)List of operations
Chapter © Prentice Hall, 2007 What is an Attribute? A named property of a class that describes a range of values that instances of the attribute may hold
Chapter © Prentice Hall, 2007 Types of Attributes Simple attributes – contain single data item Identifiers – connect unique key value Multivalued attributes – contain multiple values simultaneously Composite attributes – group of related attributes
Chapter © Prentice Hall, 2007 Stereotypes in Class Diagrams Stereotype – a construct that extends the UML vocabulary Identifier stereotype > for primary key Multivalued stereotype >
Chapter © Prentice Hall, 2007 Primary key is a unique identifier; no two Student instances will have the same studentId value.
Chapter © Prentice Hall, 2007 Identifiers and Keys Identifier – an attribute or combination of attributes that is selected as the unique characteristic for a class Candidate key – an attribute or combination of attributes that uniquely identifies each object of a class Primary key – a candidate key that is selected as the unique identifier of the class
Chapter © Prentice Hall, 2007 Multivalued attribute can contain multiple values; a student may have several phone numbers
Chapter © Prentice Hall, 2007 Composite attributes have multiple sections (subattributes). They are treated as separate classes in conceptual data models.
Chapter © Prentice Hall, 2007 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)
Chapter © Prentice Hall, 2007 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
Chapter © Prentice Hall, 2007 This is a binary relationship, which indicates that an employee works in a department.
Chapter © Prentice Hall, 2007 Roles identify the purpose of each class in the relationship.
Chapter © Prentice Hall, 2007 Unary relationships exist between instances of the same class
Chapter © Prentice Hall, 2007 Note: a ternary relationship is not the same as three binary relationships. It is a relationship that links three separate classes simultaneously.
Chapter © Prentice Hall, 2007 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
Chapter © Prentice Hall, 2007 Relationship Multiply Relationships can be: – One – to – one – One – to – many – Many – to – many
Chapter © Prentice Hall, 2007 Multiplicity notation is: min..max This shows that one movie can be stocked as any number of videotapes, or none at all
Chapter © Prentice Hall, 2007 Fixed cardinality involves an actual number instead of the generic n This indicates that the maximum number of sections an instructor can teach is 6
Chapter © Prentice Hall, 2007 Roles make it clearer to see which should be on the one side and which should be on the many side of the relationship.
Chapter © Prentice Hall, 2007
Chapter © Prentice Hall, 2007 What Is an Associative Class? A many-to-many association that the data modeler chooses to model as a class Particularly useful if the association contains attributes of its own Represented as a class connected to an association with a dotted line
Chapter © Prentice Hall, 2007 A Certificate represents a relationship between an employee and a course, and has an attribute pertaining to that relationship
Chapter © Prentice Hall, 2007 Sometimes associative classes have their own relationships with other classes.
Chapter © Prentice Hall, 2007 Types 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.
Chapter © Prentice Hall, 2007 Closed diamond indicates composition (course line item cannot exist without course registration) Open diamond indicates aggregation (A player is part of a team, but could also exist without being part of a team)
Chapter © Prentice Hall, 2007 What Is a Composite Structure Diagram? A diagram that shows how a whole is made up of its parts, especially in cases where the whole has a large number of interating parts Useful to reduce clutter in diagrams with many associations Introduced in UML 2
Chapter © Prentice Hall, 2007
Chapter © Prentice Hall, 2007 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. Inheritance is an “is-a” relationship
Chapter © Prentice Hall, 2007
Chapter © Prentice Hall, 2007
Chapter © Prentice Hall, 2007 Multiple inheritance is complicated and not supported by all object- oriented programming languages.