Ch. 21: Object Oriented Databases

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

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

Chapter 12 Object and Object Relational Databases

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

3. Object-Oriented Databases

; Spring 2008 Prof. Sang-goo Lee (14:30pm: Mon & Wed: Room ) ADVANCED DATABASES

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Chapter 11 Object and Object- Relational Databases

Constructs in Oracle

ODBMS: PROTOTYPES & PRODUCTS. The ODBMS Manifesto [M.Atkinson & al 89]

A7-R3: INTRODUCTION TO DATABASE MANAGEMENT SYSTEMS

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

CS511 Design of Database Management Systems

DATABASE MANAGEMENT SYSTEMS

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

Object-Relational Database Systems (ORDBS) Contains slides made by Naci Akkøk, Pål Halvorsen, Arthur M. Keller and Vera Goebel.

Rajiv GandhiCollegeof Engineering& Technology, Kirumampakkam.Page 1 of 10

Fundamentals of. Database Systems. Shamkant B. Navathe. College of Computing Georgia Institute of Technology PEARSON.

Concepts for Object-Oriented Databases

CS630. Object-Oriented DBMS Fundamentals. Les Waguespack, Ph.D. LJW 2014 : OODBMS::

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

DATABASE TECHNOLOGY - 1DL124

Rekayasa Perangkat Lunak 2 (IN043): Pertemuan 8. Data Management Layer Design

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

Suggested Topics for Written Project Report. Traditional Databases:

The Relational Model. Chapter 3

Why Study the Relational Model? The Relational Model. Relational Database: Definitions. The SQL Query Language. Relational Query Languages

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

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

Chapter 9: Relational DB Design byer/eer to Relational Mapping Relational Database Design Using ER-to- Relational Mapping Mapping EER Model

The Relational Model. Chapter 3. Database Management Systems, R. Ramakrishnan and J. Gehrke 1

ADVANCED DATABASES ; Spring 2015 Prof. Sang-goo Lee (11:00pm: Mon & Wed: Room ) Advanced DB Copyright by S.-g.

Database System Concepts and Architecture

Object-Oriented Design

Systems:;-'./'--'.; r. Ramez Elmasri Department of Computer Science and Engineering The University of Texas at Arlington

Database System Concepts and Architecture. Copyright 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley

The Relational Model. Chapter 3. Comp 521 Files and Databases Fall

CMSC 461 Final Exam Study Guide

Copyright 2007 Ramez Elmasri and Shamkant B. Navathe Slide 2-1

Chapter 11: Data Management Layer Design

Relational Model. Topics. Relational Model. Why Study the Relational Model? Linda Wu (CMPT )

Data about data is database Select correct option: True False Partially True None of the Above

Review -Chapter 4. Review -Chapter 5

CHAPTER 2. Object Oriented Database: A Survey

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

Relational Database Systems Part 01. Karine Reis Ferreira

The Relational Model. Why Study the Relational Model? Relational Database: Definitions

CHAPTER 2 LITERATURE REVIEW

FUNDAMENTALS OF. Database S wctpmc. Shamkant B. Navathe College of Computing Georgia Institute of Technology. Addison-Wesley

"Charting the Course... Agile Database Design Techniques Course Summary

Computer Science & Engineering

Object Persistence Techniques - A Study of Approaches, Benefits, Limits and Challenges

Information Management (IM)

Fundarnentals of. Sharnkant B. Navathe College of Computing Georgia Institute of Technology

8) A top-to-bottom relationship among the items in a database is established by a

High-Level Database Models (ii)

High Level Database Models

SYED AMMAL ENGINEERING COLLEGE

Topic 3 Object Relational Database

Object-Oriented Databases Course Review

CS403- Database Management Systems Solved Objective Midterm Papers For Preparation of Midterm Exam

Author's Prepublication Version

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

CS403- Database Management Systems Solved MCQS From Midterm Papers. CS403- Database Management Systems MIDTERM EXAMINATION - Spring 2010

COURSE 11. Object-Oriented Databases Object Relational Databases

Database Management System (15ECSC208) UNIT I: Chapter 2: Relational Data Model and Relational Algebra

Week. Lecture Topic day (including assignment/test) 1 st 1 st Introduction to Module 1 st. Practical

Chapter 9: Object-Based Databases

ROEVER ENGINEERING COLLEGE

Introduction to Databases Object and Object-Relational Databases

DATABASE MANAGEMENT SYSTEM COURSE CONTENT

Database Management Systems. Chapter 3 Part 2

MaanavaN.Com DEPARTMENT OF COMPUTER SCIENCE & ENGINEERING QUESTION BANK

Relational data model

Databases and Database Management Systems

The DBMS accepts requests for data from the application program and instructs the operating system to transfer the appropriate data.

Techno India Batanagar Computer Science and Engineering. Model Questions. Subject Name: Database Management System Subject Code: CS 601

Use the below enhanced Entity Relationship diagram for relevant questions on this quiz

CS275 Intro to Databases

Database Systems. Lecture2:E-R model. Juan Huo( 霍娟 )

II B.Sc(IT) [ BATCH] IV SEMESTER CORE: RELATIONAL DATABASE MANAGEMENT SYSTEM - 412A Multiple Choice Questions.

Object Database Standards, Languages, and Design

foreword to the first edition preface xxi acknowledgments xxiii about this book xxv about the cover illustration

DATABASE SYSTEM CONCEPTS

Classes and Objects. Object Orientated Analysis and Design. Benjamin Kenwright

CIS 330: Applied Database Systems. ER to Relational Relational Algebra

CS317 File and Database Systems

MIDTERM EXAMINATION Spring 2010 CS403- Database Management Systems (Session - 4) Ref No: Time: 60 min Marks: 38

Of Objects and Databases: A Decade of Turmoil Michael J. Carey, David J. DeWitt. Discussion by: Shervin Presentation by: Roland

Course Outline Faculty of Computing and Information Technology

Transparent Java access to mediated database objects

ACRONYMS AND GLOSSARY

CPS510 Database System Design Primitive SYSTEM STRUCTURE

FUNDAMENTALS OF SEVENTH EDITION

Credit where Credit is Due. Last Lecture. Goals for this Lecture

358 cardinality 18, 55-57, 62, 65, 71, 75-76, 85, 87, 99, 122, 129, , 140, 257, , , 295, categorization 18, 26, 56, 71, 7

The Relational Model. Outline. Why Study the Relational Model? Faloutsos SCS object-relational model

AN EFFICIENT OODB MODEL FOR ENSURING THE INTEGRITY OF USER-DEFINED CONSTRAINTS

7. Query Processing and Optimization

Database Management Systems Introduction to DBMS

Transcription:

Ch. 21: Object Oriented Databases Learning Goals: * Learn about object data model * Learn about o.o. query languages, transactions Topics: * 21.1 * 21.2 * 21.3 * 21.4 * 21.5 Source: Ch#21, Bertino93, Kim 1989, Zdonik,... * X3/SPARC/DBSSG/OODBTG final report, 1991. * OOMG-93: Unified API for all OODBMS products.

2 Motivation Well-known limitations of Relational DBMS * Too simple for CAD/CAM, GIS, CASE... * Support limited set of data types, no user-defined types * Does not include generalization and aggregation * Segmentation and Performance penalty * Impedance mismatch b/w DB language and application languages * No support for design transactions, versions,, schema evolution,... Approaches to Next Generation Databases * Extended Relational DBs (object-relational) - User defined types, stored procedures/ rules, Xtive closure, generalization - Postgres (Illustra), Oracle v.7, Sybase 10, Starbust, new SQL * Object Oriented DBs - New data model, OO query languages (e.g. C++) - Itasca, ObjectStore, Versant, Ontos, O2, Gemstone (Smalltalk),...

3 Q? Object data model = object programming model? Basic Object Model is similar Objects and object identifiers * Object has state (attributes) and behaviour (methods) * OID, independent of attribute-values, location, structure Complex values and types * Attributes can be primitive (integer), or non-primitive (list) * Constructors (e.g. set, tuple, list,...) Encapsulation - interferes with querying, may not be enforced Classes * Template for a set of objects with same attributes and methods * Persistent vs. non-persistent classes * Meta-classes, An object can change its class Inheritance: subclass inherits attributes, methods of its superclass * Inheritance allows a class called subclass to be defined on the basis * define additional attributes/methods or redefine inherited ones. Overloading, overriding, late binding a method name

4 * Common name for different operations inside a class or a set of classes. * Late binding: resolve ambiguity at run-time

5 Object Data Model - Object Programming Model Semantic Extensions for data modeling Composite Objects, part-of relationship * Additional semantics for references to other objects * Weak (normal) vs. composite (part-of relationship) * Exclusive/Shared part (reference to sub-object) * Dependent/Independent parts: Q? Delete part if whole is deleted? Associations: a link b/w entities in an application * Q? How is an association different from a reference? (Bidirectional) * Similar to relationship in E-R model, has a degree, cardinality * Most OODBs do not represent associations explicitly. Integrity Constraints: assertions to be satisfied by objects in a database. * Uniqueness constraint: Identical vs. Equality * Often support referential integrity constraints, However, * Do not support other constraints peculiar to object data model. - migration of object b/w classes, exclusivity contsraints among classes, etc.

6 Object Data Model Vs. Relational Model Attribute/Field values * Multi-valued composite attributes allowed (Violate 1NF) * Complex values via user defined types + constructors - list, set, tuple * Value types: Extensible type system Object/Classes Vs. Entities/Instances * Object-id (independent of value, location and structure) # Primary Key! * Complex object: Has References (oids), not foreign keys * Model behaviour as well via methods/stored procedures * Encapsulation Relationships * Generalization/Specialization (subclass1 ISA class1, inheritance), * Classification/instantiation (instance1 IS A class1) * Aggregation (part-of, composition hierarchy, composite object), * Association (e.g. union, grouping of similar objects, for checkout/in) * (-ve) But, Relationships are not explicit unlike EER

7 * (-ve) References need not be bi-directional, unlike Relational model

8 Object Data Model Vs. Relational Model (Contd.) Integrity Constraints (Model Inherent) * Uniqueness constraint - 2 meanings (identical vs. equal) * Lack of automatic enforcement (eg IC inherent to object model ) * However, often complemented with flexible rule system * Referential IC is hard-coded in methods Management of changes over time * Object versions * Schema evolution (e.g. Orion, Itasca)

9 Physical data storage Data Manager (DM): Relational Vs.OO Storage Q?. How will you implement the following on a relational DM? * complex values, methods, oid, Object reference, complex object, inheritance Relational DM (e.g. Postgres, Itasca) * Convert complex values to atomic one (conversion procedures) * Methods = procedure-valued fields (stored procedures) * Oid = primary key; Object reference = foreign key * Complex object: Decompose into multiple tuples - Join relevant relations to compose an object * Ex. a car = 4 tires + 4 doors + 1 engine +... * Inheritance = how many tables for a class hierarchy? Object DM * One tuple per object * Q? How to generate/mange object-ids, object references? * Object Index : oid -> location of object (Usually Hashed) * Index: Nested attribute/path -> oid, Clustering

10 Query Languages/ Query Optimization in OODB Query Language * Seamless integration with programming languages - Ex. C++/Lisp API, ODMG standard * Path expressions: astudent.department.manager.name * User defined types/methods: - Ex. distance(astudent.address, adepartment.location) < 5 miles. * Transitive Closure: select* (Postgres) * Query across a class hierarchy: select-any* (Postgres) Query Optimization Issues * User defined methods are hard to optimize * Class hierarchy based queries: need new strategies * Multi-valued attribute: need new cost models * Dual buffering (Separately process objects in the buffer/ on disk) - separate access path for objects in buffer / on disk

11 Transactions, Locking, Recovery Classical Transactions * Lock granularity: intention lock on large complex object - real locks on smaller parts * Transactions share objects in memory buffers - database gurantees consistency of objects in the object buffers - Recovery needs to handle object buffers Design transaction * Ex. A programmer fixes a bug: (change 3 modules, test, integrate) * Long lived, many reads-write * Concurrency Control - check-in/check-out, versions (working, transient, released) Other Issues * Versions * Schema evolution * Rule Systems