Title: Object Oriented Databases
1Chapter 11
- Object Oriented Databases
- Database Systems Design, Implementation, and
Management, Sixth Edition, Rob and Coronel
2In 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
3In 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
4Object 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
5Object Orientation Contributions
6The 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
7The 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
8The 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
9Object Oriented Concepts
- Have their roots in programming languages
- No knowledge of programming is necessary to
understand these concepts
10Objects 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
11Real-World Student Objects
12Object Identity
- Unique to that object
- Assigned by system at moment of objects creation
- Cannot be changed under any circumstances
- Can be deleted only if the object is deleted
- Can never be reused
13Attributes (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
14Object Attributes
15Object State
- Set of values that objects attributes have at a
given time - Can vary, although its OID remains the same
- To change the objects state, change the values
of the objects attributes - To change the objects attribute values, send a
message to the object - Message will invoke a method
16Messages and Methods
- Method
- Code that performs a specific operation on
objects data - Protects data from direct and unauthorized access
by other objects - Used to change the objects attribute values or
to return the value of selected object attributes - Represent real-world actions
17Depiction of an Object
18Method Components
19Objects Send Messages to Each Other
20Classes
- Collection of similar objects with shared
structure (attributes) and behavior (methods) - Class instance or object instance
- Each object in a class
21Class Illustration
22Protocol
- An objects 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
23Public and Private Aspects of an Object
24OO Summary Object Characteristics
25Musical Instruments Class Hierarchy
26Single Inheritance
27Multiple Inheritance
28Motor Vehicle and Bicycle Instance Variables
29Employee Class Hierarchy Method Override
30Employee Class Hierarchy Polymorphism
31Abstract Data Types
- Differs from conventional data type
- ADTs 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
32Object Classification
- Simple object
- Composite object
- Compound object
- Hybrid object
- Associative object
33Characteristics 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 methods implementation
must be hidden from external entities
34Characteristics 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)
35Comparing the OO and ER Model Components
36Shared Representation for All Objects of the
Class Person
37State of a Person Object Instance
38Defining Three Abstract Data Types
39Object Representation for Instances of the Class
Person with ADTs
40Object State for an Instance of the Class Person,
Using ADTs
41Referential Object Sharing
42Class Hierarchy
43Employee Object Representation
44Class Hierarchy for the EDLP Retail Corporation
45Representing a 1M Relationship
46Representing 11 and 1M Relationships
47Employee-Dependent Relationship
48Representing the MN Relationship
49Representing the MN Relationship with Associated
Attributes
50Representing the MN Relationship with
Intersection Class
51Object Space Representation
52Late 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 attributes values at compilation or
definition time
53INVENTORY Table with Predetermined (Base) Data
Types
54Inventory Class with Early Binding
55OODM Inventory Class with Late Binding
56Support 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
57OODM 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
58An Invoice Representation
59Object 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
60Object Oriented Database Management Systems
- Result of combining OO features, such as
- class inheritance
- encapsulation, and
- polymorphism,
- With database features such as
- data integrity, -- data manipulation,
- security, -- system tuning and
- persistence, -- recovery
- transaction management,
- concurrency control,
- backup,
61Object Oriented Database Management Systems
62The Thirteen OODBMS Rules
63How 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
64OODBMSAdvantages and Disadvantages
- OODBMS occupies a strong niche market
- Vehicle for technological innovation
- Has not been the beneficiary of market share
growth
65How 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
66How 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)
67The 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
68Summary
- 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
69Summary (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