1 / 23

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.

Rita
Download Presentation

Object-Oriented Databases

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Object-Oriented Databases

  2. 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

  3. 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

  4. 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

  5. OO Concepts: Objects (con’t.) • Methods • Code that performs operation on object’s data • Has name and body • Messages • Invokes method • Sent to object • Classes • Collection of similar objects • Shares attributes and structure • Protocol • Represents object’s public aspect

  6. OO Concepts: Objects (con’t.) • Class hierarchy • Code that performs operation on object’s data • Has name and body

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

  8. OO vs. E-R Model Components Table 11.3

  9. Referential Sharing of Objects

  10. Class-Subclass Relationship

  11. Interobject Relationships • Attribute-Class Link • Object’s 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

  12. 1:1 and 1:M Relationships

  13. Employee-Dependent Relationship

  14. Representing the M:N Relationship

  15. 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

  16. 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

  17. Object ID Not supported in relational models Relationships OODM Interclass references Class hierarchy inheritance Relational models Value-based approach Access Relational models SQL OODM Navigational Set-oriented access OODM vs. E-R Data Models (con’t.)

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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)

  23. The Next Generation of DBMS • Object-oriented database systems • Artificial intelligence systems • Expert systems • Distributed database • The Internet

More Related