Object Oriented Databases
Object Oriented Databases
Object Orientation
Object Orientation
Set of design and development principles Based on autonomous computer structures known as objects
OO Contribution areas
Programming Languages Graphical User Interfaces Databases Design Operating Systems
2
Evolution of OO Concepts
Concepts stem from object-oriented programming languages (OOPLs)
Ada, ALGOL, LISP, SIMULA
OOPLs goals
Easy-to-use development environment Powerful modeling tools for development Decrease in development time Make reusable code
OO Attributes
Data set not passive Data and procedures bound together Objects can act on self
3
OO Concepts: Objects
Abstract representation of a real-world entity
Unique identity Embedded properties Ability to interact with other objects and self
OID
Unique to object Not a primary key
Attributes
Called instance variables Domain
Object state
Object values at any given time
4
Messages
Invokes method Sent to object
Classes
Collection of similar objects Shares attributes and structure
Protocol
Represents objects public aspect
5
Characteristics of OODM
Supports complex objects Must be extensible Supports encapsulation Exhibit inheritance Supports object identity
Table 11.3
8
Class-Subclass Relationship
10
Interobject Relationships
Attribute-Class Link Objects attribute references another object Relationship Representation
Related classes enclosed in boxes Double line on right side indicates mandatory Connectivity indicated by labeling each box
1:M M:N M:N with an Intersection Class
11
12
Employee-Dependent Relationship
13
14
Early binding
Allows database to check data type at compilation or definition time
15
Access
Relational models
SQL
Relationships
OODM
Interclass references Class hierarchy inheritance
OODM
Navigational Set-oriented access
Relational models
Value-based approach
17
OODBMS
Database management system integrates benefits of typical database systems with OODM characteristics Handles a mix of data types Follows OO rules Follows DBMS rules
18
19
OODBMS Advantages
More semantic information Support for complex objects Extensibility of data types May improve performance with efficient caching Versioning Reusability Inheritance speeds development and application Potential to integrate DBMSs into single environment
20
OODBMS Disadvantages
Strong opposition from the established RDBMSs Lack of theoretical foundation Throwback to old pointer systems Lack of standard ad hoc query language Lack of business data design and management tools Steep learning curve Low market presence Lack of compatibility between different OODBMSs
21
22
23