object oriented database development n.
Skip this Video
Loading SlideShow in 5 Seconds..
Object-Oriented Database Development PowerPoint Presentation
Download Presentation
Object-Oriented Database Development

Loading in 2 Seconds...

play fullscreen
1 / 32

Object-Oriented Database Development - PowerPoint PPT Presentation

  • Uploaded on

Object-Oriented Database Development. Why ODBMS?. RDBMS are effective for business application Limitations for storing and manipulating complex data and relationships Due to the complexity

I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
Download Presentation

PowerPoint Slideshow about 'Object-Oriented Database Development' - faxon

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.

- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
why odbms
  • RDBMS are effective for business application
  • Limitations for storing and manipulating complex data and relationships
    • Due to the complexity
  • Popularity of Object Oriented Programming along with Object Oriented Design, which has replaced the Structured Programming/Structured Design Methodology
  • Enter ODBMS
object model
Object Model
  • Proposed by Object Database Management Group (ODMG) – www.odmg.org
  • For developing logical schemas
    • Object Definition Language (ODL)
    • A data definition language for OODBs
  • Map conceptual UML class diagrams into logical ODL schemas
  • Map classes, attributes, operations, association relationships, and generalization relationships from a UML class diagram into corresponding ODL constructs
  • Object Query Language (OQL) is equivalent to DML portion of SQL
object definition language odl
Object Definition Language (ODL)
  • Corresponds to SQL’s DDL (Data Definition Language)
  • Specify the logical schema for an object-oriented database
  • Based on the specifications of Object Database Management Group (ODMG)
defining classes
Defining Classes
  • UML class diagram for a college database.

Belongs to


Taken By


Has Prereqs

Is Prereqs for

defining student class
Defining Student Class

class Student {

attributestring name;

attributedate dateOfBirth;

attributestring address;

attributestring phone;

// relationships and operations


  • class – keyword for defining classes
  • attribute – keyword for attributes
  • operations – return type, name, parameters in parentheses
  • relationship – keyword for establishing relationship
defining course
Defining Course
  • UML class diagram for a college database.

Class Course {

attributestring crse_code;

attributestring crse_title;

attributeshort crse_hrs;

// Relationships & operations


defining an attribute
Defining an Attribute
  • Value can be either:
    • Object identifier (variable) or Literal (constant)
  • Types of literals
    • Atomic literal– a constant that cannot be decomposed into components

e.g.) integer, float, string, char, bool, short, long

    • Collection – multiple literals or object types

See Next Slide

    • Structure – a fixed number of named elements, each of which could be a literal or object type
    • Structured literal – a fixed number of named elements, each of which could be a literal or object type
  • Attribute ranges
    • Allowable values for an attribute
    • Enum: for enumerating the allowable values
kinds of collections
Kinds of Collections
  • Set – unordered collection without duplicates
  • Bag – unordered collection that may contain duplicates
  • List – ordered collection, all the same type
  • Array – dynamically sized ordered collection, locatable by position
  • Dictionary – unordered sequence of key-value pairs without duplicates
defining structures
Defining Structures

Structure = user-defined type with components

struct keyword


struct Address {


String city;

String state;

String zip;


defining operations
Defining Operations
  • Return type
  • Name
  • Parentheses following the name
  • Arguments within the parentheses
defining relationships
Defining Relationships
  • Only unary and binary relationships allowed
  • Relationships are bi-directional
    • implemented through use of inverse keyword
  • ODL relationships are specified:
    • relationship indicates that class is on many-side
    • relationship set indicates that class is on one-side and other class (many) instances unordered
    • relationship list indicates that class is on one-side and other class (many) instances ordered

UML class diagram for a college database

The following slides illustrate the ODL implementation of this UML diagram


ODL Schema for college database (cont.)

class keywordbegins the class definition.Class components enclosed between { and }


attribute has a data type and a name

ODL Schema for college database (cont.)

specify allowable values using enum


ODL Schema for college database (cont.)

extent = the set of all instances of the class


ODL Schema for college database (cont.)

Operation definition: return type, name, and argument list. Arguments include data types and names


ODL Schema for college database (cont.)

relationship sets indicate 1:N relationship to an unordered collection of instances of the other class

inverse establishes the bidirectionality of the relationship


ODL Schema for college database (cont.)

relationship list indicates 1:N relationship to an ordered collection of instances of the other class


ODL Schema for college database (cont.)

relationship indicates N:1 relationship to an instance of the other class

creating object instances
Creating Object Instances
  • Specify a tag that will be the object identifier
    • MBA699 course ();
  • Initializing attributes:
    • Cheryl student (name: “Cheryl Davis”, dateOfBirth:4/5/77);
  • Initializing multivalued attributes:
    • Dan employee (emp_id: 3678, name: “Dan Bellon”, skills {“Database design”, “OO Modeling”});
  • Establishing links for relationship
    • Cheryl student (takes: {OOAD99F, Telecom99F, Java99F});
querying objects in the oodb
Querying Objects in the OODB
  • Object Query Language (OQL)
  • ODMG standard language
  • Similar to SQL-92
  • Some differences:
    • Joins use class’s relationship name:
      • Select x.enrollment from courseofferings x, x.belongs_to y where y.crse_course = “MBA 664” and x.section = 1;
    • Using a set in a query
      • Select emp_id, name from employees where “Database Design” in skills;
current odbms products
Current ODBMS Products
  • Rising popularity due to:
    • CAD/CAM applications
    • Geographic Information Systems
    • Multimedia
    • Web-based applications
    • Increasingly complex data types
  • Applications of ODBMS
    • Bill-of-material
    • Telecommunications navigation
    • Health care
    • Engineering design
    • Finance and trading
    • Airline reservation
brief history of odbms early 1980s the beginning
Brief History of ODBMS : Early 1980s- The beginning -
  • Won Kim at MCC (Microelectronics and Computer Technology Corporation) in Austin, Texas, begins a research project on ORION.
  • Two products will later trace their history to ORION: ITASCA (no longer around) and Versant.
brief history of odbms late 1980s first wave of commercial products
Brief History of ODBMS : Late 1980s- First wave of commercial products -
  • A Lisp-based system, Graphael, appears from the French nuclear regulatory efforts. Eventually, Graphael goes through a re-write and becomes Matisse.
  • Servo-Logic begins work on GemStone. Servo-Logic is now GemStone Systems.
  • Start of O2 development at INRIA (France). The founder of O2 is Francois Bencilhon, also from MCC.
  • Tom Atwood at Ontologic produced Vbase, which supports the proprietary language COP (for C Object Processor). COP is eventually eclipsed by C++, Ontologic becomes ONTOS, and the database is rewritten to support C++.
  • Atwood left Ontologic in the late 1980s and founded Object Design (now part of Progress Software) with ObjectStore (based on C++).
  • Objectivity/DB product by Objectivity - Drew Wade
1991 odmg
1991 – ODMG
  • Rick Cattell (SunSoft) initiates the ODMG with 5 major OODBMS vendors.
  • The first standard, ODMG 1.0, was released in 1993.
  • ODMG OQL (object query language), which influenced SQL:1999
1990s first growth period
1990s - First Growth Period
  • Market for commercial ODBMS products grows to some $100M, peaks in 2000 and shrinks since
2001 final odmg 3 0 standards released
2001 - Final ODMG 3.0 standards released
  • A final ODMG 3.0 standards is released.
  • Shortly thereafter, the ODMG submits the ODMG Java Binding to the Java Community Process as a basis for the Java Data Objects (JDO) Specification.
  • Afterwards, the ODMG disbands
2004 advent of open source
2004 - Advent of Open Source
  • db4o released as free, open source ODBMS.
  • In November 2005, db4o is first to implement Native Queries as an object oriented data access API that relies entirely on the programming language (Java/C#)
  • Most persistence architectures for Java and .NET provide interfaces to execute queries written in an architecture-specific query language.
  • The queries are not accessible to development environment features like compile-time type checking, auto-completion, and refactoring. Programmers must work in two languages: the implementation language and the query language.
  • Native Queries, a concise and type-safe way to express queries directly as Java and C# methods. We describe the design of Native Queries and provide an overview of implementation and optimization issues.
  • Native Queries for Persistent Objects

By William Cook, Carl Rosenberger

so now what
So, now what?
  • Much enthusiasm when introduced
  • There was a mismatch between the technology and reality
  • RDBMS had entrenched as the de facto DBMS
  • Commercially available but only a small fraction of the market
  • Due to the de facto programming paradigm, OOP, ODBMS effort will pick up but more in the open source environment.