© 2011 pearson education 1 chapter 13 (online): object-oriented databases modern database...
TRANSCRIPT
© 2011 Pearson Education 1
Chapter 13 (Online): Object-Oriented
Databases
Modern Database Management
10th Edition, International Edition
Jeffrey A. Hoffer, V. Ramesh,
Heikki Topi
Chapter 13-Web © 2011 Pearson Education 2
Objectives Define terms Describe phases of object-oriented development
life cycle State advantages of object-oriented modeling Compare object-oriented model with E-R and EER
models Model real-world application using UML class
diagram Provide UML snapshot of a system state Recognize when to use generalization,
aggregation, and composition Specify types of business rules in a class diagram
Chapter 13-Web © 2011 Pearson Education 3
What Is Object-Oriented Data Modeling?
Centers around objects and classes Involves inheritance Encapsulates both data and behavior Benefits of Object-Oriented Modeling
Ability to tackle challenging problems Improved communication between users,
analysts, designers, and programmers Increased consistency in analysis, design, and
programming Explicit representation of commonality among
system components System robustness Reusability of analysis, design, and programming
results
Chapter 13-Web © 2011 Pearson Education 4
Progressive and iterative development process
Figure 13-1 Phases of object-oriented systems development cycle
Chapter 13-Web © 2011 Pearson Education 5
OO vs. EER Data Modeling
Object Oriented
EER
Class Entity typeObject Entity
instanceAssociation RelationshipInheritance of
attributesInheritance of
attributes
Inheritance of behavior
No representation of behavior
Object-oriented modeling is typically represented using the Unified Modeling Language (UML)
Chapter 13-Web © 2011 Pearson Education 6
Classes and Objects Class: An entity that has a well-defined
role in the application domain, as well as state, behavior, and identity Tangible: person, place or thing Concept or Event: department,
performance, marriage, registration Artifact of the Design Process: user
interface, controller, scheduler
Object: a particular instance of a class
Objects exhibit BEHAVIOR as well as attributes Different from entities
Chapter 13-Web © 2011 Pearson Education 7
State, Behavior, Identity
State: attribute types and values Behavior: how an object acts and
reacts Behavior is expressed through
operations that can be performed on it Identity: every object has a unique
identity, even if all of its attribute values are the same
Chapter 13-Web © 2011 Pearson Education 8
Class diagram shows the static structure of an object-oriented model: object classes, internal structure, relationships
Figure 13-2 UML class and object diagram
a) Class diagram showing two classes
Chapter 13-Web © 2011 Pearson Education 9
Object diagram shows instances that are compatible with a given class diagram
Figure 13-2 UML class and object diagram (cont.)
b) Object diagram with two instances
Chapter 13-Web © 2011 Pearson Education 10
Operation A function or service that is provided by all
instances of a class Encapsulation – hiding internal
implementation details Types of operations:
Constructor: creates a new instance of a class Query: accesses the state of an object but does
not alter its state Update: alters the state of an object Class-Scope: operation applying to the class
instead of an instance
Operations implement the object’s behavior
Chapter 13-Web © 2011 Pearson Education 11
Associations Association
Named relationship among object classes
Association Role Role of an object in an association The end of an association where it
connects to a class Multiplicity
How many objects participate in an association. Lower-bound...Upper-bound (cardinality)
Chapter 13-Web © 2011 Pearson Education 12
Figure 13-3Examples of association relationships of different degrees
Lower-bound – upper-bound
Represented as: 0..1, 0..*, 1..1, 1..*
Similar to minimum/maximum cardinality rules in EER
Unary
Binary
Ternary
Chapter 13-Web © 2011 Pearson Education 13
Alternative multiplicity representation: specifying the two possible values in a list
instead of a range
Figure 13-4 Examples of binary association relationshipsa) University example
Chapter 13-Web © 2011 Pearson Education 14
Figure 13-4 Examples of binary association relationships (cont.)b) Customer order example
Chapter 13-Web © 2011 Pearson Education 15
Figure 13-5Object diagram for customer order example
Object diagram shows associations between specific object instances
Chapter 13-Web © 2011 Pearson Education 16
Association Class An association that has attributes or
operations of its own or that participates in relationships with other classes
Like an associative entity in E-R model
Chapter 13-Web © 2011 Pearson Education 17
Binary association class with behavior
Unary association with only attributes and no behavior
Figure 13-6 Association class and link object a) Class diagram showing association classes
Chapter 13-Web © 2011 Pearson Education 18
Association class instances
Figure 13-6 Association class and link object (cont.)b) Object diagram showing link objects
Chapter 13-Web © 2011 Pearson Education 19
Figure 13-7 Ternary relationship with association class
Chapter 13-Web © 2011 Pearson Education 20
Figure 13-8 Derived attribute, association, and role
Derived attributes and relationships shown with / in front of the name
Derived relationship (from Registers-for and Scheduled-for)
Constraint expression for derived attribute
Derived attribute
Chapter 13-Web © 2011 Pearson Education
Draw a class diagram for the following situation (1): A company has a number of employees. The attributes of Employee include employeeID
(primary key), name, address, and birthDate. The company also has several projects. Attributes of Project include projectName and
startDate. Each employee may be assigned to one or more
projects or may not be assigned to a project. A project must have at least one employee
assigned and may have any number of employees assigned.
21
Chapter 13-Web © 2011 Pearson Education 22
Chapter 13-Web © 2011 Pearson Education
Draw a class diagram for the following situation (2):
A university has a large number of courses in its catalog. Attributes of Course include courseNumber (primary
key), courseName, and units. Each course may have one or more different courses as
prerequisites or may have no prerequisites. Similarly, a particular course may be a prerequisite for
any number of courses or may not be prerequisite for any other course.
The university adds or drops a prerequisite for a course only when the director for the course makes a formal request to that effect.
23
Chapter 13-Web © 2011 Pearson Education 24