Object-Oriented Database Management System (ODBMS)

15

description

Object-Oriented Database Management System (ODBMS). Se157B, Spring 2007 BY Nguyen, Yen P. overview. Definition Object-Oriented Concept Object Class & Encapsulation Inheritance & Polymorphism Advantages & Disadvantage Example Conclusion. What is an ODBMS?. - PowerPoint PPT Presentation

Transcript of Object-Oriented Database Management System (ODBMS)

Page 1: Object-Oriented Database Management System (ODBMS)
Page 2: Object-Oriented Database Management System (ODBMS)

Definition Object-Oriented Concept

• Object• Class & Encapsulation• Inheritance & Polymorphism

Advantages & Disadvantage Example Conclusion

Page 3: Object-Oriented Database Management System (ODBMS)

The combination of “object-oriented programming principles” with “database management principles”

Not a new concept, it started in the mid-1970s

Some ODBMS are multimedia databases that include graphics, audio, information and animation.

Page 4: Object-Oriented Database Management System (ODBMS)

Database that stores data elements as objects. Uses object-oriented concepts.› Object - an instance of a data type

Page 5: Object-Oriented Database Management System (ODBMS)

Typical Applications for ODBMS› Computer-aided design (CAD)› Computer-aided software engineering

(CASE)› Multimedia databases (video, image,

game, etc.)› Office automation system (OIS)› Expert database system

Page 6: Object-Oriented Database Management System (ODBMS)

ODBMS› Application and data use the same OO model› Uses persistent programming languages

Directly manipulate persistent data in a database Persistent data exists after the program terminates No translation from database to application programming is

needed

RDBMS- extended to use OO concepts› Database is relational› Programming language is OO

RDB

Application

Translation

ODB

Application

Page 7: Object-Oriented Database Management System (ODBMS)

An entity contains1) Attributes-

atomic or structured type

2) Relationships- reference to an object or set of such objects

3) Methods- behavior of the object

Variables

Methods

Student

SID: double

Name:String

Major:String

Schedule:String

getSID()

getName()

setName()

Relationships

Page 8: Object-Oriented Database Management System (ODBMS)
Page 9: Object-Oriented Database Management System (ODBMS)

Encapsulation- hide the abstract data type internal (user only need to know the available method & how to call them)

Polymorphism- a property that allows methods in different classes to respond to the same message signature. (dynamic binding, etc..)

Inheritance- a class can inherit the characteristics of anther class. The original class is called base class or super and the new class is called derived class or subclass

Multiple inheritance- inherit from more than one superclass

Selective inheritance- inherit only some of the properties of a superclass

Page 10: Object-Oriented Database Management System (ODBMS)

ODBMS RDBMS

Unique identification of objects is done behind the scenes (invisible to user)

User has to worry about two tuples have the same primary key values to avoid error conditions

Data model is used to model entities and their relationships, constraints and operations can dynamically change the states of the data in the system

ER diagram is used model the static parts of system and separate model for the operations and behaviors of entities in the application

Query language is unnecessary for accessing data (still possible to use queries)

Query language is necessary for accessing data

Manage complex data more efficiently (large class can hold many medium classes which themselves hold many smaller classes) Object model the real world better than the relational tuples

Manage complex data inefficiently (has lots of smaller tables and join them via foreign keys, which is still a problem since query database on “Has-a” relationship between entities)

Page 11: Object-Oriented Database Management System (ODBMS)

Still under-construction› Lack of standards› Lack of development tools› Lack of support for views› Lack of support for security

More complicated than RDBMS takes longer to learn

Inefficient when managing simple data and relations

Page 12: Object-Oriented Database Management System (ODBMS)

Popular query language that has the similar syntax SQL

An extension of SQL, it has select, from, and where clauses

The extensions are accommodate the properties of objects and the operators on complex objects

Page 13: Object-Oriented Database Management System (ODBMS)

Example of accessing data in ODMB using ODMG & OQL

1) OJB.getInstance() returns a org.odmg.Implementation instance

2) Create a new Database Instance

3) Opens an ODMB Database (read-only or write-only mode)

4) Create a query instance5) Specify the query statement6) Execute the query7) A list of results is returned

Page 14: Object-Oriented Database Management System (ODBMS)

ODBMS can store, manage and maintain multimedia & business object, that can be done required less code, reuse code, easy to maintain.

ODBMS manage the complex of interrelationships between objects more efficiently than RDBMS

Although there are many advantages of ODBMS but there are also problems:

What is wrong with ODBMS?› Vendors don’t support ODBMS standard› Only 1 vendor is currently supporting OQL› Difficult to perform ad hoc queries› Relationships among objects use object identifiers and

must be explicitly designed

Page 15: Object-Oriented Database Management System (ODBMS)

QUESTION???

THE END…