ObjectOriented Databases - PowerPoint PPT Presentation

1 / 43
About This Presentation
Title:

ObjectOriented Databases

Description:

Database Systems: Design, Implementation, and Management, Fifth Edition, Rob and Coronel ... What basic concepts govern OO systems ... – PowerPoint PPT presentation

Number of Views:65
Avg rating:3.0/5.0
Slides: 44
Provided by: roger262
Category:

less

Transcript and Presenter's Notes

Title: ObjectOriented Databases


1
Chapter 11
  • Object-Oriented Databases
  • Database Systems Design, Implementation, and
    Management, Fifth Edition, Rob and Coronel

2
In this chapter, you will learn
  • What basic concepts govern OO systems
  • What effect OO concepts are likely to have on
    data modeling and design
  • How OO features are related to the more
    traditional relational and E-R models
  • What the basic features of an OO database
    management system (OODBMS) are
  • About the advantages and disadvantages of OODBMSs

3
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

4
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

5
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
  • Automatically assigned
  • Cannot be altered
  • Cannot be reused

6
  • Attributes
  • Called instance variables in OO
  • Domain
  • Object state
  • Object values at any given time

References to more than one object
7
OO Concepts Objects (cont.)
  • Methods
  • Code that performs operation on objects data
  • Has name and body
  • Body contains instructions in programming
    language
  • Protect data from direct and unauthorized access
  • Used to update data and retrieve results
  • Equivalent to procedures in procedural languages
  • Messages
  • Invokes method (by sending messages to them)
  • Specifying receiver object, name of the method
    and parameters
  • Object may send message to another object

8
OO Concepts Objects (cont.)
  • Classes
  • Collection of similar objects
  • Shares attributes and structure

9
Class-Example
10
Protocol
  • Collection of classs messages
  • Represents objects public aspect (how object is
    known to other objects and to the user)
  • In contrast, method implementation and data are
    private aspects

11
Object Characteristics
Figure 11.7
12
Class Hierarchy
  • Superclass
  • Subclass
  • Class lattice (if class can have multiple
    parents)

Figure 11.8
13
Inheritance
  • Ability of object to inherit the data structure
    and behavior of classes above it
  • We do not need to redefine data and methods for a
    subclass
  • Type I Single inheritance
  • Class has one immediate superclass

Figure 11.9
14
Inheritance (cont.)
  • Type II Multiple
  • Class has more than one immediate superclass

Figure 11.10
15
Problem with multiple inheritance
  • What property to inherit?

16
Method Overriding
  • Method redefined at subclass level
  • Allows objects to behave according to specific
    characteristics

Figure 11.12
17
Polymorphism
  • Allows different objects to respond to same
    message in different ways
  • Class automatically detected

Figure 11.13
18
Abstract Data Types (ADT)
  • Describes a set of similar objects
  • (like Real, integer in classic programming)
  • Differs from conventional data types
  • Operations are user-defined
  • Uses encapsulation (data cannot be acessed
    directly)
  • Definitions needed for creation
  • Name
  • Data representation (I.e. value)
  • Abstract data type operations and constraints
  • Can be implemented through methods
  • E.g. we may define records, etc as abstract data
    types

19
Object Classification
  • Simple
  • Only single-valued attributes
  • No attributes refer to other object
  • Composite
  • At least one multivalued attribute
  • No attributes refer to other object
  • MOVIE object with multivalued movie attribute
  • Compound
  • At least one attribute that references other
    object
  • E.g. STUDENT with attribute advisor referencing
    object PROFESSOR from other class
  • Hybrid
  • Repeating group of attributes
  • At least one refers to other object

20
Characteristics of Object Oriented Data Model
  • Supports complex objects
  • Not just records, but multimedia, protein chains
  • Must be extensible
  • Defining new data types and operations on them
  • Supports encapsulation
  • Data representation and method implementation
    hidden from outside
  • Exhibit inheritance
  • Object must be able to inherit properties from
    other objects
  • Supports object identity
  • OID

21
OO vs. E-R Model Components
Table 11.3
22
Graphical Representation of Objects
Figure 11.14
OID
State of object instance
Figure 11.15
23
Use of Abstract Data Types (ADT)
24
Object Space Object Schema
  • Used to represent the state of an object at a
    given time
  • OID used
  • to refer to
  • other objects

25
Referential Sharing of Objects
Figure 11.19
26
Class-Subclass Relationship
Figure 11.21
Figure 11.20
  • Employee IS a person

Related only to employee
27
Interobject Relationships
  • Attribute-Class Link
  • Objects attribute references another object
    (from same or different class)

28
Relationship Representation
  • Analog to ER diagrams
  • Related classes enclosed in boxes
  • Double line on right side indicates mandatory
  • Connectivity indicated by labeling each box
  • 1M
  • MN
  • MN with an Intersection Class

29
11 and 1M Relationships
Descriptive name Of characteristics We want to
model
Mandatory
Unlike in relational model, facility is included
within employee and vice versa
Figure 11.24
30
Employee-Dependent Relationship
Figure 11.25
31
Representing the MN Relationship
Figure 11.26
32
Representing the MN Relationship with Associated
Attributes
Attributes of relationship
Logical unit (accompanied by)
Figure 11.27
33
Representing the MN Relationship with
Intersection Class
Analog to composite entity
Figure 11.28
34
Object Space Representation
Figure 11.29
35
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

36
Late and Early Binding (cont)
  • Early binding
  • Allows database to check data type at compilation
    or definition time

37
OODM vs. E-R Data Models
  • Object, vs. Entity, and Tuple
  • OODM object has behavior, inheritance, and
    encapsulation
  • OO modeling more natural
  • Class, vs. 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 (The closest to methods are triggers, but
    with no encapsulation and inheritance)

38
OODM vs. E-R Data Models (cont.)
  • Object ID
  • Not supported in relational models
  • Relationships
  • OODM
  • Interclass references
  • Class hierarchy inheritance
  • Relational models
  • Primary and foreign keys
  • Access
  • Relational models
  • SQL
  • OODM
  • Navigational
  • Record at a time
  • Resembles hierarchical and network models

39
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

40
OODBMS Advantages
  • More semantic information
  • Support for complex objects
  • Extensibility of data types
  • May improve performance with efficient caching
  • Versioning (maintain different versions of the
    same object)
  • Reusability (classes can be reused)
  • Inheritance speeds development and application
  • Potential to integrate DBMSs into single
    environment

41
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
    (different to switch)

42
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)

43
The Next Generations of DBMS
  • Object-oriented database systems
  • Artificial intelligence systems
  • Expert systems
  • Distributed database
  • The Internet
Write a Comment
User Comments (0)
About PowerShow.com