Chapter 13 (Online): Object-Oriented Databases

Report
Chapter 13 (Online):
Object-Oriented Databases
Modern Database Management
10th Edition, International Edition
Jeffrey A. Hoffer, V. Ramesh,
Heikki Topi
© 2011 Pearson Education
1
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
2
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
3
Figure 13-1 Phases of object-oriented systems development cycle
Progressive and iterative development process
Chapter 13-Web
© 2011 Pearson Education
4
OO vs. EER Data Modeling
Object Oriented
Class
Object
Association
Inheritance of
attributes
Inheritance of
behavior
EER
Entity type
Entity instance
Relationship
Inheritance of
attributes
No representation of
behavior
Object-oriented modeling is typically represented using the
Unified Modeling Language (UML)
Chapter 13-Web
© 2011 Pearson Education
5
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
6
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
7
Figure 13-2 UML class and object diagram
a) Class diagram showing two classes
Class diagram shows the static structure of an objectoriented model: object classes, internal structure,
relationships
Chapter 13-Web
© 2011 Pearson Education
8
Figure 13-2 UML class and object diagram (cont.)
b) Object diagram with two instances
Object diagram shows instances that are compatible
with a given class diagram
Chapter 13-Web
© 2011 Pearson Education
9
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
10
Associations

Association


Association Role



Named relationship among object classes
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
11
Figure 13-3
Examples of association relationships of different degrees
Unary
Lower-bound – upperbound
Represented as:
0..1, 0..*, 1..1, 1..*
Similar to
minimum/maximum
cardinality rules in EER
Binary
Ternary
Chapter 13-Web
© 2011 Pearson Education
12
Figure 13-4 Examples of binary association relationships
a) University example
Alternative multiplicity
representation: specifying
the two possible values in a
list instead of a range
Chapter 13-Web
© 2011 Pearson Education
13
Figure 13-4 Examples of binary association relationships (cont.)
b) Customer order example
Chapter 13-Web
© 2011 Pearson Education
14
Figure 13-5
Object diagram
for customer
order example
Object diagram
shows
associations
between specific
object instances
Chapter 13-Web
© 2011 Pearson Education
15
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
16
Figure 13-6 Association class and link object
a) Class diagram showing association classes
Binary association
class with behavior
Unary association with only
attributes and no behavior
Chapter 13-Web
© 2011 Pearson Education
17
Figure 13-6 Association class and link object (cont.)
b) Object diagram showing link objects
Association class
instances
Chapter 13-Web
© 2011 Pearson Education
18
Figure 13-7 Ternary relationship with association class
Chapter 13-Web
© 2011 Pearson Education
19
Figure 13-8 Derived attribute, association, and role
Constraint expression for derived attribute
Derived attribute
Derived relationship (from Registers-for and Scheduled-for)
Derived attributes and relationships shown with
Chapter 13-Web
/ in front of the name
© 2011 Pearson Education
20
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.
Chapter 13-Web
© 2011 Pearson Education
21
Chapter 13-Web
© 2011 Pearson Education
22
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.
Chapter 13-Web
© 2011 Pearson Education
23
Chapter 13-Web
© 2011 Pearson Education
24

similar documents