Object Oriented Database

Similar documents
Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 11 Object and Object- Relational Databases

3. Object-Oriented Databases

Chapter 12 Object and Object Relational Databases

Several major software companies including IBM, Informix, Microsoft, Oracle, and Sybase have all released object-relational versions of their

Systems Analysis and Design in a Changing World, Fourth Edition. Chapter 12: Designing Databases

Concepts for Object-Oriented Databases

Outline. CUGS Core - Databases. Requirements. Work method. Databanks/Databases. Databank

D B M G. SQL language: basics. Managing tables. Creating a table Modifying table structure Deleting a table The data dictionary Data integrity

Chapter 13. Object-Oriented Databases (from E&N and my editing)

VB.NET. Exercise 1: Creating Your First Application in Visual Basic.NET

Database Systems CSE 303. Lecture 02

Database Systems CSE 303. Lecture 02

Chapter 4: Writing Classes

Topic 3 Object Relational Database

Ch. 21: Object Oriented Databases

Introduction. Course Overview Evolution and History of Database Management Systems Requirements of Object-Oriented Database Management Systems

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe. Slide 21 1

Object Database Standards, Languages, and Design

Conceptual Design. The Entity-Relationship (ER) Model

DS Introduction to SQL Part 1 Single-Table Queries. By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

Databasesystemer, forår 2006 IT Universitetet i København. Forelæsning 9: Mere om SQL. 30. marts Forelæser: Esben Rune Hansen

Object Orientated Analysis and Design. Benjamin Kenwright

ITCS Jing Yang 2010 Fall. Class 16: Object and Object- Relational Databases (ch.11) References

M Introduction to Visual Basic.NET Programming with Microsoft.NET 5 Day Course

Constructs in Oracle

Introduction. Example Databases

Introduction to Programming Using Java (98-388)

CHAPTER 2 LITERATURE REVIEW

Java Programming Training for Experienced Programmers (5 Days)

JAVA MOCK TEST JAVA MOCK TEST II

W5.L2. Week 5, Lecture 2

Part 3: Object-Oriented Database Management Systems

Advanced Database Applications. Object Oriented Database Management Chapter 13 10/29/2016. Object DBMSs

Chapter 21 9/4/2012. Object Database Standards, Languages, and Design. Chapter 21Outline. Chapter Objectives. ODMG Objects and Literals

The Entity-Relationship Model. Overview of Database Design

SELECT Product.name, Purchase.store FROM Product JOIN Purchase ON Product.name = Purchase.prodName

Graphical Interface and Application (I3305) Semester: 1 Academic Year: 2017/2018 Dr Antoun Yaacoub

PROCEDURAL DATABASE PROGRAMMING ( PL/SQL AND T-SQL)

2559 : Introduction to Visual Basic.NET Programming with Microsoft.NET

Design issues for objectoriented. languages. Objects-only "pure" language vs mixed. Are subclasses subtypes of the superclass?

Overview. Database Application Development. SQL in Application Code. SQL in Application Code (cont.)

Database Application Development

Database Application Development

Lecture 15: Object-Oriented Programming

CSE 344 JANUARY 5 TH INTRO TO THE RELATIONAL DATABASE

Assertions, Views, and Programming. CS157A Chris Pollett Oct. 31, 2005.

(800) Toll Free (804) Fax Introduction to Java and Enterprise Java using Eclipse IDE Duration: 5 days

Relational Database Features

COMP 430 Intro. to Database Systems

Course Content. Object-Oriented Databases. Objectives of Lecture 6. CMPUT 391: Object Oriented Databases. Dr. Osmar R. Zaïane. University of Alberta 4

Course Description. Learn To: : Intro to JAVA SE7 and Programming using JAVA SE7. Course Outline ::

Introduction: OO principles. Introduction: OO principles. 3 Object Oriented Database Systems. 3.1 Introduction: Why OO Databases

Zhifu Pei CSCI5448 Spring 2011 Prof. Kenneth M. Anderson

Introduction. Who wants to study databases?

Anatomy of a Class Encapsulation Anatomy of a Method

SQL: Concepts. Todd Bacastow IST 210: Organization of Data 2/17/ IST 210

Object oriented programming Concepts

XII CS(EM) Minimum Question List N.KANNAN M.Sc., B.Ed COMPUTER SCIENCE IMPORTANT QUESTION (TWO MARKS) CHAPTER 1 TO 5 ( STAR OFFICE WRITER)

Volume 5 Issue 3 (2017) ISSN International Journal of Advance Research and Innovation IJARI

Database Applications

CO Java SE 8: Fundamentals

What are the characteristics of Object Oriented programming language?

Programming in Visual Basic with Microsoft Visual Studio 2010

Data Structures (list, dictionary, tuples, sets, strings)

Goals of the Lecture OO Programming Principles

Inheritance. COMP Week 12

Object Oriented Programming is a programming method that combines: Advantage of Object Oriented Programming

Chapter 11_12. Multimedia IR: Models and Languages

CERTIFICATE IN WEB PROGRAMMING

Programming in C# for Experienced Programmers

Objects and Classes. Amirishetty Anjan Kumar. November 27, Computer Science and Engineering Indian Institue of Technology Bombay

PROGRAMMING IN VISUAL BASIC WITH MICROSOFT VISUAL STUDIO Course: 10550A; Duration: 5 Days; Instructor-led

ODMG Object Programming Language Bindings

CmSc 150 Fundamentals of Computing I. Lesson 28: Introduction to Classes and Objects in Java. 1. Classes and Objects

Improving Query Plans. CS157B Chris Pollett Mar. 21, 2005.

Object Oriented Programming in Java. Jaanus Pöial, PhD Tallinn, Estonia

Author's Prepublication Version

Databases. Jörg Endrullis. VU University Amsterdam

COURSE 11. Object-Oriented Databases Object Relational Databases

Transparent Java access to mediated database objects

COP 3330 Final Exam Review

Introduction to SQL Part 1 By Michael Hahsler based on slides for CS145 Introduction to Databases (Stanford)

SQL Functionality SQL. Creating Relation Schemas. Creating Relation Schemas

Outline. Object Oriented Programming. Course goals. Staff. Course resources. Assignments. Course organization Introduction Java overview Autumn 2003

Introduction to Oracle Objects

Midterm Review. Winter Lecture 13

Introduction to Databases Object and Object-Relational Databases

2. An implementation-ready data model needn't necessarily contain enforceable rules to guarantee the integrity of the data.

The Relational Model and SQL

Data Manipulation (DML) and Data Definition (DDL)

DATABASE DESIGN - 1DL400

Notes on. Advanced Database management system (504) Mrinal Paul Department of Computer Science Assam University, Silcher

Programming, numerics and optimization

Chapter 1: Introduction

Classwide Programming 1

Chapter 5 Object-Oriented Programming

public class TicketMachine Inner part omitted. public class ClassName Fields Constructors Methods

DATABASE CONCEPTS. Dr. Awad Khalil Computer Science & Engineering Department AUC

Second-generation: Assembly language. Figure 6.1 Generations of programming languages. Assembly Language Characteristics.

Transcription:

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 userdefined 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) Original table Product no Name Color P1 Ford Mustang Black P2 Toyota Celica Green P3 Mercedes SLK Black Result Name Ford Mustang Mercedes SLK - The statement queries a relational database. => Returns a table with rows.

Result of the query (OQL) Original table Product no Name Color P1 Ford Mustang Black P2 Toyota Celica Green P3 Mercedes SLK Black Result String Ford Mustang String Mercedes SLK - The statement queries a objectoriented database => Returns a collection of objects.

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: OQL Object Collection of objects SQL 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), city char(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 ( id int, date date, caption document, picture CD_image, method containsname (name varchar) returns boolean as external name matching language C );

Creating Tables (Contd.) create table landmarks( name varchar (30), location point);

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 ;