Вы находитесь на странице: 1из 23

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

OO Concepts: Objects (cont.)


Methods
Code that performs operation on objects data Has name and body

Messages
Invokes method Sent to object

Classes
Collection of similar objects Shares attributes and structure

Protocol
Represents objects public aspect
5

OO Concepts: Objects (cont.)


Class hierarchy
Code that performs operation on objects data Has name and body

Characteristics of OODM
Supports complex objects Must be extensible Supports encapsulation Exhibit inheritance Supports object identity

OO vs. E-R Model Components

Table 11.3
8

Referential Sharing of Objects

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

1:1 and 1:M Relationships

12

Employee-Dependent Relationship

13

Representing the M:N Relationship

14

Late and Early Binding


Late binding
Data type of attribute not known until runtime Allows different instances of same class to contain different data types for same attribute

Early binding
Allows database to check data type at compilation or definition time

15

OODM vs. E-R Data Models


Object, Entity, and Tuple
OODM object has behavior, inheritance, and encapsulation OO modeling more natural

Class, Entity Set, and Table


Class allows description of data and behavior Class allows abstract data types

Encapsulation and Inheritance


Object inherits properties of superclasses Encapsulation hides data representation and method
16

OODM vs. E-R Data Models (cont.)


Object ID
Not supported in relational models

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

OO and Database Design


Provides data identification and the procedures for data manipulation Data and procedures self-contained entity Iterative and incremental DBA does more programming Lack of standards

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

OO Influences on Relational Model


Extensibility of new user-defined (abstract) data types Complex objects Inheritance Procedure calls (rules or triggers) System-generated identifiers (OID surrogates)

22

The Next Generation of DBMS


Object-oriented database systems Artificial intelligence systems Expert systems Distributed database The Internet

23

Вам также может понравиться