Transcript Document
11
Object oriented DB (not in book)
1
11
Learning objectives:
• What basic concepts govern OO systems
• How OO features are related to the more
traditional relational and ER models
• What the basic features of an OO database
management system (OODBMS) are
• What effect OO concepts are likely to have on
data modeling and design
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
2
11
Object Orientation and Its Benefits
• A set of design and development principles
based on conceptually autonomous computer
structures known as objects
• Each object represents a real-world entity
with the ability to act upon itself and interact
with other objects
• Modularity is therefore almost inevitable
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
3
11
The Evolution of Object Oriented
Concepts
• Object oriented programming
– Developed as an alternative to traditional
programming methods
– Programmer creates or uses objects:
• Self-contained, reusable modules that contain
data as well as the procedures used to operate
on such data
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
4
11
The Evolution of Object Oriented
Concepts (continued)
• Object oriented programming languages were
developed to:
– Provide an easy-to-use software development
environment
– Provide a powerful software modeling tool for
application development
– Decrease development time by reducing the
amount of code
– Improve programmer productivity by making
that code reusable
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
5
11
The Evolution of Object Oriented
Concepts (continued)
• Object oriented environment has several
important attributes:
– Data set is no longer passive
– Data and procedures are bound together,
creating an object
– Object has an innate ability to act on itself
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
6
11
Object Oriented Concepts
• Have their roots in programming languages
• No knowledge of programming is necessary
to understand these concepts
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
7
11
Objects: Components and Characteristics
• Object:
– Abstract representation of a real-world entity
– Has:
• Unique identity
• Embedded properties
• Ability to interact with other objects and act
upon itself
– Defining characteristic is its unique identity
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
8
11
Real-World Student Objects
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
9
11
Object Identity
• Unique to that object
• Assigned by system at moment of object’s
creation
• Cannot be changed under any circumstances
• Can be deleted only if the object is deleted
• Can never be reused
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
10
11
Attributes (Instance Variables)
• Attributes:
– Known as instance variables in OO
environment
• Domain:
– Logically groups and describes the set of all
possible values that an attribute can have
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
11
11
Object Attributes
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
12
11
Object State
• Set of values that object’s attributes have at a
given time
• Can vary, although its OID remains the same
• To change the object’s state, change the
values of the object’s attributes
• To change the object’s attribute values, send
a message to the object
– Message will invoke a method
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
13
11
Messages and Methods
• Method:
– Code that performs a specific operation on
object’s data
– Protects data from direct and unauthorized
access by other objects
– Used to change the object’s attribute values or
to return the value of selected object attributes
– Represent real-world actions
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
14
11
Method Components
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
15
11
Objects Send Messages to Each Other
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
16
11
Classes
• Collection of similar objects with shared
structure (attributes) and behavior (methods)
• Class instance or object instance
– Each object in a class
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
17
11
Class Illustration
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
18
11
Protocol
• An object’s public aspect
• How it is known by other objects as well as
end users
• Other objects communicate with the student
object using any of these methods
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
19
11
Public and Private Aspects of an Object
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
20
11
Musical Instruments Class Hierarchy
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
21
11
Single Inheritance
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
22
11
Multiple Inheritance
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
23
11
Employee Class Hierarchy Method
Override
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
24
11
Employee Class Hierarchy Polymorphism
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
25
11
Object Classification
• Simple object
Only single value attributes
• Composite object
Contains at least one multi-value attributes and no
attributes that refer to other objects; ex: MOVIE
• Compound object : Contains attribute that refer to
other objects. Ex: Advisor
• Associative object: represents relationship between
two or more objects: ex: enrollment
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
26
11
Characteristics of an Object Oriented
Data Model
• Support the representation of complex
objects
• Are extensible:
– Capable of defining new data types as well as
the operations to be performed on them
• Support encapsulation:
– Data representation and method’s
implementation must be hidden from external
entities
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
27
11
Characteristics of an Object Oriented
Data Model (continued)
• Exhibit inheritance:
– Object must be able to inherit properties (data
and methods) of other objects
• Support the notion of object identity (OID)
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
28
11
Comparing the OO and ER Model
Components
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
29
11
Shared Representation for All Objects of
the Class Person
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
30
11
State of a Person Object Instance
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
31
11
Referential Object Sharing
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
32
11
Class Hierarchy
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
33
11
Employee Object Representation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
34
11
Representing a 1:M Relationship
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
35
11
Representing 1:1 and 1:M Relationships
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
36
11
Employee-Dependent Relationship
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
37
11
Representing the M:N Relationship
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
38
11
Representing the M:N Relationship with
Associated Attributes
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
39
11
Representing the M:N Relationship with
Intersection Class
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
40
11
Object Space Representation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
41
11
Late and Early Binding:
Use and Importance
• Late binding:
– Data type of an attribute is not known until
execution time or runtime
– Two different object instances of the same
class can contain values of different data
types for the same attribute
• Early binding:
– Allows database to check data type for each of
the attribute’s values at compilation or
definition time
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
42
11
INVENTORY Table with Predetermined
(Base) Data Types
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
43
11
Inventory Class with Early Binding
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
44
11
OODM Inventory Class with Late Binding
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
45
11
Support for Versioning
• Allows users to track history of changes in
state of an object
• If the changes do not yield expected results,
they can be undone and the component
restored to its original state
• Reason OODBMS is such a strong player in
the CAD and computer-aided manufacturing
(CAM) arenas
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
46
11
OODM and Previous Data Models:
Similarities and Differences
• OODM object resembles entity and tuple in
the ER and relational models but has
additional characteristics
• Class
• Hierarchies
• Encapsulation
• Object ID (OID) not supported
• Relationships
• OODM produces a schema in which relations
form part of the structure of the database
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
47
11
An Invoice Representation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
48
11
Assume the following business rules:
•
A course contains many Sections, but each Section references only one
course.
•
A Section is taught by one professor, but each professor may teach one
or more different Sections of one or more courses.
•
A Section may contain many students, and each student may be enrolled
in many Sections.
•
A Section may contain many students, and each student is enrolled in
many Sections, but each Section belongs to a different course.
(Students may take many courses, but they cannot take many Sections
of the same course!)
•
Each Section is taught in one room, but each room may be used to teach
different Sections of one or more courses.
•
A professor advises many students, but a student has only one advisor.
Based on these business rules:
•
a. Identify and describe the main classes of objects.
•
B. Draw the object oriented diagram
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
49
11
• See figure p3.8 on 7/p95
• Draw object oriented diagram for it
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
50
11
Object Oriented Database Management
Systems
• Integrate benefits of typical database systems
with the more powerful modeling and
computational (programming) characteristics
of the object oriented data model
• Used to develop complex systems
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
51
11
Object Oriented Database Management
Systems
• Result of combining OO features, such as
– class inheritance
– encapsulation, and
– polymorphism,
• With database features such as
–
–
–
–
–
–
data integrity,
security,
persistence,
transaction management,
concurrency control,
backup,
-- data manipulation,
-- system tuning and
-- recovery
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
52
11
Object Oriented Database Management
Systems
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
53
11
How Object Orientation
Affects Database Design
• Relational and ER models sometimes cannot
adequately represent some objects
• Operations are not a part of the database
model
• Object oriented design requires the database
description to include objects and their data
representation, constraints, and operations
• Few computerized OODB design tools exist
• Lack of standards affects object oriented
database design
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
54
11
OODBMS:
Advantages and Disadvantages
• OODBMS occupies a strong niche market
• Vehicle for technological innovation
• Has not been the beneficiary of market share
growth
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
55