Object-Oriented Database Management Systems (ODBMS)

Slides:



Advertisements
Similar presentations
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Advertisements

Chapter 10: Designing Databases
Jane Reid, BSc/IT DB, QMUL, 25/2/02 1 Object-oriented DBMS Background to ODBMS ODBMS requirements Object components ODB conceptual design –Graphical ODB.
Lecture-7/ T. Nouf Almujally
Object Databases Baochuan Lu. outline Concepts for Object Databases Object Database Standards, Languages, and Design Object-Relational and Extended-Relational.
Databases CIS 422. Lifetime of Data Transient results to the evaluations of expression Variables involved in procedure activation Global variables Dynamically.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
Introduction to Object Oriented Programming Java.
OBJECT-ORIENTED PROGRAMMING. What is an “object”? Abstract entity that contains data and actions Attributes (characteristics) and methods (functions)
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
©Silberschatz, Korth and Sudarshan8.1Database System Concepts Chapter 8: Object-Oriented Databases Need for Complex Data Types The Object-Oriented Data.
SLIDE 1IS 257 – Spring 2004 Object-Oriented Database Development (Hoffer Chap 15) University of California, Berkeley School of Information.
Object-Oriented Databases
“DOK 322 DBMS” Y.T. Database Design Hacettepe University Department of Information Management DOK 322: Database Management Systems.
Fundamentals, Design, and Implementation, 9/e Chapter 16 Object-Oriented Database Processing.
Object Oriented Databases - Overview
Databases and Database Management Systems
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
Object-Oriented Methods: Database Technology An introduction.
1 Announcements Research Paper due Monday November 22.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Chapter 4 Object and Object-Relational Databases (Part ½: Object-Oriented Concepts) Lecturer: H.Ben Othmen Department of Computer Science, Umm Al-Qura.
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
Object Relational Database Comparison by Neil Black, Steven Bruce & Marisa Di Filippo.
Object-Relational DBMSs By Yao-Wen Tu CS157b12/09/2003 Prof. Sin-Min Lee.
Object and object-relational databases 1. Object databases vs. Object-relational databases Object databases Stores complex objects – Data + functions.
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
Introduction to the Other Databases
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
CSS/417 Introduction to Database Management Systems Workshop 5.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
BCS 2143 Introduction to Object Oriented and Software Development.
Object Oriented Database By Liem Do And Jesslyn Bui.
1 Announcements Research Paper due Friday November 19 For Wednesday read
1. 2 Object-Oriented Concept Class & Object Object-Oriented Characteristics How does it work? Relationships Between Classes Development Tools Advantage.
Object Orientation and Its Benefits
1 Object Databases: Introduction. 2 Why OO? v Relational Systems are limited: –Structural restrictions on data –Missing semantics (value-based relationships)
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
11 1 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs.
Chapter 12: Designing Databases
Object-Oriented Database Processing
5-1 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies, Inc. All rights reserved.
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 18 Object- Oriented Database Processing.
©Silberschatz, Korth and Sudarshan1Database System Concepts Lecture 7: Introduction to Database Management Systems - Object-Oriented Databases Lecturer:
1 CS457 Object-Oriented Databases Chapters as reference.
Chapter 6 Introduction to Defining Classes. Objectives: Design and implement a simple class from user requirements. Organize a program in terms of a view.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Organizing Data and Information
OODBMS: Introduction and Logical Database Design
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
© D. Wong Security and User Authorization in SQL 8.7 pp. 410  Authorization ID = user name  Special authorization ID: PUBLIC  Privileges for:
The ODMG Standard for Object Databases
Programming 1 Object oriented databases By Claudia Buder.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
OODBMS and ORDBMS. Background Object-oriented software, based on the principles of user-defined datatypes, along with inheritance and polymorphism, is.
Data Resource Management Lecture 8. Traditional File Processing Data are organized, stored, and processed in independent files of data records In traditional.
Data Resource Management Data Concepts Database Management Types of Databases Chapter 5 McGraw-Hill/Irwin Copyright © 2007 by The McGraw-Hill Companies,
Object-Oriented Databases By Dr.S.Sridhar, Ph.D.(JNUD), RACI(Paris, NICE), RMR(USA), RZFM(Germany) DIRECTOR ARUNAI ENGINEERING COLLEGE TIRUVANNAMALAI.
Object-Oriented Database Management System (ODBMS)
Chapter 12 Outline Overview of Object Database Concepts
Data Model.
Object-Oriented Programming
Presentation transcript:

Object-Oriented Database Management Systems (ODBMS) By Wendy Wooters CS157B

ODBMS Outline Definition Persistent Programming Languages Why Who Approaches Persistent Programming Languages Object-Oriented Concepts Object Class & Encapsulation Inheritance & Polymorphism Object Identifier (OID) Advantages and Disadvantages Example Code Conclusion

What is an ODBMS? Database that stores data elements as objects. Uses object-oriented concepts. Object - like an entity in and E-R Diagram. Employee Name Salary Hired SSN

Why use ODBMS? Complex data or relationship requirements Product DB Complex data or relationship requirements Lack of unique, natural identification Large numbers of many to many relationships Access using traversals. Graph/Tree structure. Frequent use of type codes such as those found in the relational schema Source: http://www.service-architecture.com/object-oriented-databases

Who Uses ODBMS? Typical Applications for ODBMS: Computer-aided design (CAD) Computer-aided software engineering (CASE) Multimedia databases Images, video, games, etc. Office automation systems (OIS) Expert database systems

Approaches for ODBMS Relational DB extended to use object-oriented concepts. (Object-relational DB) DB is Relational Programming language is object-oriented. RDB Application Translation Object-oriented DB model. Application and database use same object-oriented model. Uses persistent programming languages. ODB Application

Persistence Programming Languages A programming language that directly manipulates persistent data in a database. Persistent data exists after the program terminates. Single program for application and data management. No translation from database to application programming needed. Used with the object-oriented DB model approach. ODB Application

Object-Oriented Concepts Object Object is an entity containing: Variables/Attributes – Object Data Relationships – References to other objects Methods – Object Functions Messages – Accessing Methods Variables Methods Employee SSN:int Name:String Hired:Date Salary:double … getSSN() getName() setName() Relationships

Object-Oriented Concepts Class & Encapsulation Public class Employee { //Class Attributes private int SSN; private String name; private Date hired; private double salary; … //Class Constructor public Employee() {…} //Class Accessor Methods public int getSSN() {…} public String getName() {…} public Date getHired() {…} public double getSalary() {…} //Class Mutator Methods public void setName(String newName) {…} public void setHired(Date newHired) {…} public void setSalary(double newSalary) {…} } Class encapsulates the data structure and operations of the object. Internals are hidden from the user. User only knows available methods and how to call them.

Object-Oriented Concepts Inheritance & Polymorphism Inheritance - A class (subclass) can inherit the characteristic of another class (superclass). Example: Employee has inherited attributes and methods from Person. Polymorphism - Each subclass object can respond differently to same message by overriding the superclass method. Example: Person Employee Supplier Customer Subclass Superclass

Object-Oriented Concepts Object Identifier Object Identifier (OID) – The unique OID is maintained by the DBMS. ODBMS - Generated automatically by the system. Example: Reference to Date object in the Employee object for the date hired. RDBMS – Primary key. Example: SSN for Employee Date Employee

ODBMS Advantages Matches the object-oriented application design: Reduces code, execution time and paging Real world data model Easier Navigation Allows reusability of objects – generic objects can be used in many applications. Manages Complex data types more efficiently. Supports distributions of data across networks more efficiently.

ODBMS Disadvantages Still developing Lack of accepted standards Lack of development tools. Change is more likely to occur in model More complicated than the relational model. Takes longer to learn. Not as efficient when data and relations are simple.

Java & ODB Example import org.odmg.*; import java.util.Collection; Implementation impl = new com.vendor.odmg.Implementation(); Database db = impl.newDatabase(); Transaction txn = impl.newTransaction(); try { db.open("addressDB", Database.OPEN_READ_WRITE); txn.begin(); // perform query OQLQuery query = new OQLQuery( "select x from Person x where x.name = \“S. M. Lee\""); Collection result = (Collection) query.execute(); Iterator iter = result.iterator(); // iterate over the results while ( iter.hasNext() ) { Person person = (Person) iter.next(); // do some addition processing on the person (now shown) // now traverse to the address object and update its value person.address.street = "13504 4th Avenue South"; } txn.commit(); db.close(); //exception handling would go here ... Example of how to access data in an ODB, using the ODMG Object Query Language (OQL): Opens DB Starts a transaction Executes a query to find a Person object named “S. M. Lee” Does additional processing on this Person object Gets Address object of Person Update street of Address object Commit transaction Close database Source: http://www.service-architecture.com/object-oriented-databases

Conclusion Definition Persistent Programming Languages Object-Oriented Concepts Advantages and Disadvantages of ODBMS Example Code