Professional Documents
Culture Documents
Chapter 14 1
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,
designer, and programmers
Increased consistency in analysis and design
Explicit representation of commonality among system
components
System robustness
Reusability of analysis, design, and programming results
Chapter 14 2
OO vs. EER Data Modeling
Object Oriented EER
Class Entity type
Object Entity instance
Association Relationship
Inheritance of attributes Inheritance of attributes
Inheritance of behavior No representation of
behavior
Chapter 14 5
Figure - UML class and object diagram
a) Class diagram showing two classes
Chapter 14
7
Operations
A function or service that is provided by all
instances of a class
Types of operators:
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
Scope: operation applying to the class instead of an
instance
Chapter 14 8
Associations
Association:
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 14 9
Figure - Association relationships of different degrees
Unary
Lower-bound – upper-bound
Represented as:
0..1, 0..*, 1..1, 1..*
Similar to
minimum/maximum
cardinality rules in EER
Binary
Ternary
Chapter 14 10
Figure – Examples of binary association relationships
(a) University example
Alternative multiplicity
representation: specifying the
two possible values in a list
instead of a range
Chapter 14 11
Figure - Examples of binary association relationships (cont.)
b) Customer Order example
Chapter 14
12
Figure- Object
diagram for
customer order
example
Chapter 14
13
Association Class
An association that has attributes or operations of its
own or that participates in relationships with other
classes
Chapter 14 14
Figure – Association class and link object
(a) Class diagram showing association classes
Binary association
class with behavior
Chapter 14 15
(b) Object diagram showing link objects
Association class
instances
Chapter 14 16
Generalization/
Specialization
Subclass, superclass
similar to subtype/supertype in EER
Common attributes, relationships, AND
operations
Disjoint vs. Overlapping
Complete (total specialization) vs. incomplete
(partial specialization)
Chapter 14 17
Figure - Examples of generalization, inheritance, and constraints
a) Employee superclass with three subclasses
An employee
can only be
Shared one of these
attributes and subclasses
An
operations employee
may be
none of
them.
Chapter 14 19
Figure – Polymorphism, abstract operation, class-scope
attribute, and ordering
Class-scope attributes –
only one value common
to all instances of these
classes
Methods are defined at subclass level
Chapter 14 20
Overriding Inheritance
Overriding: The process of replacing a method
inherited from a superclass by a more specific
implementation of that method in a subclass.
For Extension: add code.
For Restriction: limit the method.
For Optimization: improve code by exploiting
restrictions imposed by the subclass.
Chapter 14 21
Figure – Overriding inheritance
Chapter 14 22
Multiple Inheritance
Multiple Classification: An object is an instance of
more than one class.
Chapter 14 23
Figure - Multiple
inheritance
Chapter 14 24
Aggregation
Aggregation: A part-of relationship between
a component object and an aggregate object.
Chapter 14 25
Figure – Example aggregation
Chapter 14 27
Object Query Language (OQL)
OQL is an object-based version of SQL designed specifically for
Object Oriented Frameworks.The differences between OQL and
traditional SQL are:
Not all SQL keywords are supported within OQL; irrelevant keywords
have been removed from the syntax.
Chapter 14 28
OQL (cont.)
OQL objects - Objects in OQL are created and
defined using the CREATE keyword, examples of
objects in OQL are database(s), tables contained
within the database(s) and elements such as objects,
lists, groups, references to objects and atoms
contained within the database tables.
Chapter 14 29
OQL (cont.)
Follow a similar Select, From, Where format like SQL
with a lot of the same features, i.e. subqueries,
boolean operators, sorting options, etc.
Insert, update, deletion functions are similar to SQL
Supports joins in a similar fashion to SQL
Chapter 14 30