Document

advertisement
11
Chapter 11
Object Oriented Databases
Database Systems:
Design, Implementation, and Management,
Sixth Edition, Rob and Coronel
1
11
In this chapter, you will learn:
• 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
In this chapter, you will learn: (continued)
• About the advantages and disadvantages of
OODBMSs
• How OO concepts have influenced the
relational model
• How Oracle9i implements object extensions
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
3
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
4
11
Object Orientation Contributions
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
5
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
6
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
7
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
8
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
9
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
10
11
Real-World Student Objects
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
11
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
12
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
13
11
Object Attributes
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
14
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
15
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
16
11
Depiction of an Object
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
17
11
Method Components
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
18
11
Objects Send Messages to Each Other
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
19
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
20
11
Class Illustration
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
21
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
22
11
Public and Private Aspects of an Object
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
23
11
OO Summary: Object Characteristics
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
24
11
Musical Instruments Class Hierarchy
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
25
11
Single Inheritance
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
26
11
Multiple Inheritance
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
27
11
Motor Vehicle and Bicycle Instance
Variables
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
28
11
Employee Class Hierarchy Method
Override
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
29
11
Employee Class Hierarchy Polymorphism
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
30
11
Abstract Data Types
• Differs from conventional data type
– ADT’s operations are user-defined
– ADT does not allow direct access to its
internal data representation or method
implementation
• To create ADT, specify:
– Its name
– Data representation or instance variables of
objects belonging to the abstract data
– ADT operations and constraints, both of
which are implemented through methods
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
31
11
Object Classification
• Simple object
• Composite object
• Compound object
• Hybrid object
• Associative object
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
32
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
33
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
34
11
Comparing the OO and ER Model
Components
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
35
11
Shared Representation for All Objects of
the Class Person
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
36
11
State of a Person Object Instance
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
37
11
Defining Three Abstract Data Types
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
38
11
Object Representation for Instances of
the Class Person with ADTs
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
39
11
Object State for an Instance of the Class
Person, Using ADTs
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
40
11
Referential Object Sharing
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
41
11
Class Hierarchy
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
42
11
Employee Object Representation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
43
11
Class Hierarchy for the EDLP Retail
Corporation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
44
11
Representing a 1:M Relationship
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
45
11
Representing 1:1 and 1:M Relationships
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
46
11
Employee-Dependent Relationship
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
47
11
Representing the M:N Relationship
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
48
11
Representing the M:N Relationship with
Associated Attributes
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
49
11
Representing the M:N Relationship with
Intersection Class
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
50
11
Object Space Representation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
51
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
52
11
INVENTORY Table with Predetermined
(Base) Data Types
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
53
11
Inventory Class with Early Binding
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
54
11
OODM Inventory Class with Late Binding
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
55
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
56
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
57
11
An Invoice Representation
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
58
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
59
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
60
11
Object Oriented Database Management
Systems
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
61
11
The Thirteen OODBMS Rules
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
62
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
63
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
64
11
How OO Concepts Have Influenced the
Relational Model
• RDBMS is beginning to reach its limits in a
business data environment that is changing
with the advent of mixed-media data storage
and retrieval
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
65
11
How OO Concepts Have Influenced the
Relational Model
• Extended relational model (ERM), or
object/relational model (O/RM)
– Extensibility of new user-defined (abstract)
data types
– Complex objects
– Inheritance
– Procedure calls (rules or triggers)
– System-generated identifiers (OID surrogates)
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
66
11
The Next Generation of Database
Management Systems
• Likely to incorporate features borrowed from
object oriented database systems, artificial
intelligence systems, expert systems,
distributed databases, and the Internet
• Enable future DBMSs to handle more
complex problems with both normalized and
nonnormalized data
• OODBMS will probably continue to occupy a
niche within the database market
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
67
11
Summary
• Object oriented concepts are derived from OO
programming languages
• An object is a conceptual representation of a
real-world entity
• Similar objects are grouped in classes
• Classes are organized into a class hierarchy
• Abstract data types are implemented through
classes
• The OO data model allows the designer to create
a more authentic representation of real-world
objects
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
68
11
Summary (continued)
• OODBMSs combine OO features with
database features
• OODBMSs yield several benefits over
conventional DBMSs
–
–
–
–
–
more semantic information in the database
support for complex objects
better performance in complex applications
reusability of classes
extensibility of the data types supported by the
database
Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
69
Download