190 likes | 509 Views
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?.
E N D
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? • 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.
What is an ODBMS? (cont.) • Database that stores data elements as objects. Uses object-oriented concepts. • Object - an instance of a data type
Who uses 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
Application Translation RDB Application ODB ODBMS vs. RDBMS • 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
Student SID: double Name:String Major:String Schedule:String … getSID() getName() setName() … Relationships Variables Methods Object • An entity contains • Attributes- atomic or structured type • Relationships- reference to an object or set of such objects • Methods- behavior of the object
OO Concepts • 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
Disadvantages • 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
OQL (Object Query Language) in 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
Java & ODMB • Example of accessing data in ODMB using ODMG & OQL • OJB.getInstance() returns a org.odmg.Implementation instance • Create a new Database Instance • Opens an ODMB Database (read-only or write-only mode) • Create a query instance • Specify the query statement • Execute the query • A list of results is returned
Conclusion • 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
QUESTION??? THE END…