Object Oriented Database Group 4 Mathieu Metz Palani Kumaresan Napa Gavinlertvatana Kristine Pei Keow Lee Prabhu Ramachandran.

Slides:



Advertisements
Similar presentations
Relational data objects 1 Lecture 6. Relational data objects 2 Answer to last lectures activity.
Advertisements

OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Chapter 10: Designing Databases
Why Object-Oriented DBMS? Abstract data types Interface with host programming language (the impedance mismatch). Object identity: (peter, 40, {(john, 15,
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.
Programming Paradigms Introduction. 6/15/2005 Copyright 2005, by the authors of these slides, and Ateneo de Manila University. All rights reserved. L1:
Object Databases Baochuan Lu. outline Concepts for Object Databases Object Database Standards, Languages, and Design Object-Relational and Extended-Relational.
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
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.
Object-Orientation in Query Languages By: Toan Nguyen Class: CS 157A.
Object-Oriented Databases
Programs with SQL Host language + Embedded SQL Preprocessor Host Language + function calls Host language compiler Host language program Preprocessor Host.
Object Oriented Databases - Overview
July 13, 2015ADBS: OODB1 Concepts for Object-Oriented Databases Chapter 20.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
1 Announcements Research Paper due Monday November 22.
Databases Illuminated Chapter 7 The Object-Oriented Model.
C++ fundamentals.
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.
OBJECT DATABASE CONCEPTS MIS 409 John Vance Cassidy Warren April 23, 2015.
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
Chapter 14: Object-Oriented Data Modeling
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Object Query Language OQL
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
ORDBS1 Object Relational Database Systems: 1. Introduction 2. Objects in SQL3 3. Comparison of ODL/OQL and SQL3 Approaches CIS 671.
Why Object-Oriented DBMS? Abstract data types (relational data model is too simple). Interface with host programming language Managing large number of.
Chapter 21 A Object Data Model - Intro Copyright © 2004 Pearson Education, Inc.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
ADVANCED DATABASE SYSTEMS DR. FATEMEH AHMADI- ABKENARI SEPTEMBER Object Databases.
© 2002 by Prentice Hall 1 David M. Kroenke Database Processing Eighth Edition Chapter 18 Object- Oriented Database Processing.
Object-Relational SQL CIS 4301 Lecture Notes 4/20/2006.
Object relational database managmement systems (ORDBMS) Adapted by Edel Sherratt from originals by Nigel Hardy.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
1 CS457 Object-Oriented Databases Chapters as reference.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Object Relational Features
FEN NOEA/IT - Databases/ORDB1 Object-Relational Databases The Evolutionary Approach to Closing the Gap between Relational Tables and Object Models.
Object-Relational Model. Review: Data Models Hierarchical Network ER (Pure) Relational (Pure) Object-oriented (ODMG) Object-relational (since SQL:1999)
Row Types in SQL-3 Row types define types for tuples, and they can be nested. CREATE ROW TYPE AddressType{ street CHAR(50), city CHAR(25), zipcode CHAR(10)
AND OBJECT-ORIENTED DATABASES OBJECT-RELATIONAL DATABASES.
The ODMG Standard for Object Databases
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 8 Object-Relational Database.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
IST 210 Object Oriented Database. IST 210 Object-Oriented Concepts  Abstract Data Types  Class definition, provides extension to complex attribute types.
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
Murat KARAÖZ1. Scope What is an “Object Database”? History Queries When / Where / Why ODMSs Murat KARAÖZ2.
OBJECT DATABASES and An Advent Open Source : DB4O Gözde Özahi CEng553 / Fall 2008.
OODBMS and ORDBMS. Background Object-oriented software, based on the principles of user-defined datatypes, along with inheritance and polymorphism, is.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe.
Why Object-Oriented DBMS?
Object-Oriented Database Management System (ODBMS)
Object – Oriented Databases
PRINCIPALES OF OBJECT ORIENTED PROGRAMMING
Chapter 12 Outline Overview of Object Database Concepts
Lec 3: Object-Oriented Data Modeling
Object-oriented Design in Processing
ISC321 Database Systems I Chapter 10: Object and Object-Relational Databases: Concepts, Models, Languages, and Standards Spring 2015 Dr. Abdullah Almutairi.
Object-oriented Design in Processing
Object-Oriented Databases
Object-oriented Design in Processing
Object-oriented Design in Processing
Presentation transcript:

Object Oriented Database Group 4 Mathieu Metz Palani Kumaresan Napa Gavinlertvatana Kristine Pei Keow Lee Prabhu Ramachandran

Outline  Object definitions  Object Structures  Object-oriented concepts  OODBS  OQL with an example  SQL3 with examples

Definition of an object Objects – User defined complex data types An object has structure or state (variables) and methods (behavior/operations) An object is described by four characteristics Identifier: a system-wide unique id for an object Name: an object may also have a unique name in DB (optional) Lifetime: determines if the object is persistent or transient Structure: Construction of objects using type constructors

Object Structure The state (current value) of a complex object may be constructed from other objects (or other values) by using certain type constructors Can be represented by (i,c,v) i is an unique id c is a type constructor v is the object state Constructors Basic types: atom, tuple and set Collection type: list, bag and array

Object-Oriented Concepts  Abstract Data Types  Class definition, provides extension to complex attribute types  Encapsulation  Implementation of operations and object structure hidden  Inheritance  Sharing of data within hierarchy scope, supports code reusability  Polymorphism Operator overloading

What is Object Oriented Database? (OODB) A database system that incorporates all the important object-oriented concepts Some additional features Unique Object identifiers Persistent object handling

Advantages of OODBS Designer can specify the structure of objects and their behavior (methods) Better interaction with object-oriented languages such as Java and C++ Definition of complex and user-defined types Encapsulation of operations and user- defined methods

Object Query Language (OQL) Declarative query language Not computationally complete Syntax based on SQL (select, from, where) Additional flexibility (queries with user defined operators and types)

Example of OQL query The following is a sample query “what are the names of the black product?” Select distinct p.name From products p Where p.color = “black”  Valid in both SQL and OQL, but results are different.

Result of the query (SQL) Product noNameColor P1Ford MustangBlack P2Toyota CelicaGreen P3Mercedes SLKBlack - The statement queries a relational database. => Returns a table with rows. Name Ford Mustang Mercedes SLK Result Original table

Result of the query (OQL) Product noNameColor P1Ford MustangBlack P2Toyota CelicaGreen P3Mercedes SLKBlack - The statement queries a object- oriented database => Returns a collection of objects. String Ford Mustang Result Original table String Mercedes SLK

Comparison  Queries look very similar in SQL and OQL, sometimes they are the same  In fact, the results they give are very different Query returns: OQLSQL Object Collection of objects Tuple Table

SQL3 “Object-oriented SQL” Foundation for several OO database management systems – ORACLE8, DB2, etc New features – “relational” & “Object oriented” Relational Features – new data types, new predicates, enhanced semantics, additional security and an active database Object Oriented Features – support for functions and procedures

User defined Data Types Creating a “row type” Example: create row type AddressType( street char(50), citychar(20)); create row type StarType( name char(30), address AddressType);

Creating Data Types (contd.) Creating “Table” create table Address of type AddressType; create table MovieStar of type StarType; Instances of Row types are tuples in tables

Sample Query Find the names and street addresses of those MovieStars who stay in the city “Columbus”: select MovieStar.name, MovieStar.address.street from MovieStar where MovieStar.address.city = “Columbus”;

Complex Data and Queries A Water Resource Management example A database of state wide water projects Includes a library of picture slides Indexing according to predefined concepts – prohibitively expensive Type of queries Geographic locations Reservoir levels during droughts Recent flood conditions, etc

Complex Data and Queries (contd.) Addressing these queries Linking this database to landmarks on a topographic map Examining the captions for each slide Implementing image-understanding programs Inspecting images and ascertaining attributes These type of queries necessitate dedicated “methods”

Creating Functions create function one() returns int4 as ‘select 1 as RESULT' language 'sql'; select one() as answer; answer 1

Creating “tables” with “methods” Implementation create table slides ( idint, datedate, captiondocument, pictureCD_image, method containsName (name varchar) returns boolean as external name ‘matching’ language ‘C’);

Creating Tables (Contd.) create table landmarks( namevarchar (30), locationpoint);

Implementation (contd.) Sample query – find a picture of a reservoir with low water level which is in “Sacramento” select P.id from slides P, landmarks L where IsLowWaterLevel (P.picture) and P.containsName (L.name) and L.name = “Sacramento”;