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

Similar documents
Introduction to Databases Object and Object-Relational Databases

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

Chapter 12 Object and Object Relational Databases

3. Object-Oriented Databases

Chapter 11 Object and Object- Relational Databases

Ch. 21: Object Oriented Databases

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

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Author's Prepublication Version

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

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

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

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

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

Object Query Standards by Andrew E. Wade, Ph.D.

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

Constructs in Oracle

DATABASE TECHNOLOGY - 1DL124

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

Inheritance and object compatibility

W5.L2. Week 5, Lecture 2

ODMG 2.0: A Standard for Object Storage

ODBMS's and ORM Tools

Concepts for Object-Oriented Databases

Transparent Java access to mediated database objects

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

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

A Concept of Type Derivation for Object-Oriented Database Systems

Part 3: Object-Oriented Database Management Systems

CHAPTER 2 LITERATURE REVIEW

HAS-A Relationship. If A uses B, then it is an aggregation, stating that B exists independently from A.

ITCS Implementation. Jing Yang 2010 Fall. Class 14: Introduction to SQL Programming Techniques (Ch13) Outline

COURSE 11. Object-Oriented Databases Object Relational Databases

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

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

New Programming Paradigms

ACRONYMS AND GLOSSARY

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

Information Management (IM)

Chapter 5 Object-Oriented Programming

Copyright 2016 Ramez Elmasri and Shamkant B. Navathe

Object oriented databases a natural part of object oriented software development? Bachelor thesis in computer science. By Anders Carlsson

Weiss Chapter 1 terminology (parenthesized numbers are page numbers)

Appendix A - Glossary(of OO software term s)

(All chapters begin with an Introduction end with a Summary, Exercises, and Reference and Bibliography) Preliminaries An Overview of Database

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

Chapter 9: Object-Based Databases

Inheritance and Polymorphism

Inheritance and Interfaces

Object-Oriented Design

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

Choosing a Database Technology

Review -Chapter 4. Review -Chapter 5

Inheritance (Chapter 7)

Index. Index. More information. block statements 66 y 107 Boolean 107 break 55, 68 built-in types 107

Introduction. Example Databases

1 ODBMS vs RDBMS 1. 3 Resources 16

Bonus Content. Glossary

Practice for Chapter 11

DATABASE MANAGEMENT SYSTEMS

Object Database Standards, Languages, and Design

Comparing the performance of object and object relational database systems on objects of varying complexity

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

Java SE7 Fundamentals

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

More About Objects. Zheng-Liang Lu Java Programming 255 / 282

Project # 1: Database Programming

Late-bound Pragmatical Class Methods

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

Introduction to Programming Using Java (98-388)

Unit 2. Unit 3. Unit 4

FUNDAMENTALS OF SEVENTH EDITION

Type Hierarchy. Lecture 6: OOP, autumn 2003

Java Object Oriented Design. CSC207 Fall 2014

Weak Levels of Consistency

Lecture 13: Object orientation. Object oriented programming. Introduction. Object oriented programming. OO and ADT:s. Introduction

CS558 Programming Languages Winter 2013 Lecture 8

Chapter 13 Introduction to SQL Programming Techniques

The Case for Simple Object-Orientation in VDM++ Erik Ernst Aarhus University, Denmark

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

Objects, Subclassing, Subtyping, and Inheritance

Introduction to Information Systems

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

Lecture Notes on Programming Languages

Chapter 6 Object Persistence, Relationships and Queries

An Incremental Query Compiler with Resolution of Late Binding

Introduction to modeling

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

Database Management Systems Paper Solution

More Relationships Between Classes

STARCOUNTER. Technical Overview

Programming in Scala Second Edition

Distributed Transaction Management

Introduction to Amos II

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

ROEVER ENGINEERING COLLEGE

Database Fundamentals Chapter 1

Extended Object Languages for the Extolware Persistence Framework

Lightweight J2EE Framework

Transcription:

ITCS 3160 Jing Yang 2010 Fall Class 16: Object and Object- Relational Databases (ch.11) Slides come from: References Michael Grossniklaus, Moira Norrie (ETH Zürich): Object Oriented Databases (Version 2010, lecture notes) Beat Signer (Vrije Universiteit Brussel): Introduction to Databases Object and Object Rlti Relational ldtb Databases (lecture notes). 2 1

Literature M. Atkinson, F. Bancilhon, D. DeWitt, K. Dittrich, D. Maier, and S. Zdonik: The Object Oriented Database System Manifesto, In: Building an Object Oriented Database System, Morgan Kaufmann 1992 M. Stonebraker, L. A. Rowe, B. Lindsay, J. Gray, M. Carey, M. Brodie, P. Bernstein, and D. Beech: Third Generation Database System Manifesto, In: ACM SIGMOD RECORD, 19(3), 1990 H. Darwenand C. J. Date: The Third Manifesto, In: ACM SIGMOD RECORD, 24(1), 1995 3 Object Relational Impedance Mismatch Interfacing with SQL is not straightforward data has to be converted between host language and SQL due to the impedance mismatch ~30% of the code and effort is used for this conversion! The problem gets even worse if we would like to use an object oriented host language 4 2

Object Oriented Databases ODBMSs use the same data model as object oriented programming languages no object relational impedance mismatch due to a uniform model An object database combines the features of an objectoriented language and a DBMS (language binding) treat data as objects object identity attributes and methods relationships between objects extensible type hierarchy user defined types, abstract data types single or multiple inheritance overloading, overriding, late binding declarative query language 5 Defining Object Oriented Databases Diverse focus of object oriented database systems making object oriented programming languages persistent managing and storing object data Many attempts to define object oriented databases The object oriented database manifesto 13 mandatory features 5 optional characteristics 4 open choices 6 3

The Object Oriented Database Manifesto by Atkinson et al. Malcolm Atkinson 7 Complex objects Complex object formed from simpler ones by constructors Constructors: tuple (record), set, bag, list, and array Minimum set of constructors: set, list, and tuple Sets: representing collections from the real world Tuples: representing properties of an entity Lists or arrays: capturing order, which occurs in the real world Constructor orthogonality: any constructor should apply to any object Appropriate operators must be provided for dealing with such objects 8 4

Object identity and equality Every object has unique and immutable object identifier (OID) Sharing of objects through references Two objects are identical if they have the same OID Two objects are equal if they have the same state 9 Encapsulation Object consists of interface and implementation Interfacedefines signatures ofpublic methods Implementation includes object data and methods Object state is only modified through public methods Object data structure may be exposed for ad hoc queries 10 5

Types and Classes systems should offer some form of data structuring mechanism, be it classes or types Types Summarizes common features of a set of objects with the same characteristics corresponds to the notion of an abstract data type data part describes object structure operation part describes object behavior separation of interface and implementation used to check correctness of programs at compile time Object classes Used to create and manipulate objects at run time object factory creates new objects The object warehouse keeps the set of objects that are instances of the class Warehouse can be updated and passed 11 Generalization Hierarchies Advantages powerfulmodeling tool guarantee semantic complexity reuse of specification and implementation Inheritance objects of subclass belong automatically to superclass attributes and methods are inherited from superclass subclass bl can introduce new attributes and methods Migration between classes move objects between hierarchy levels object specialization ( ) and generalization ( ) 12 6

Generalization Hierarchies (cont d) Substitution inheritance subtype has more operations than supertype subtype can be substituted where supertype is expected based on behavior rather than values Inclusion inheritance (Classification) every object of subtype is also object of supertype Example: filled square is a subclass of square Constraint inheritance special case of inclusion inheritance subtype is expressed by constraint on supertype Example: teenager is a subclass of person Specialization inheritance (Typing) subtype objects contain more specific information Example: employee and person 13 Overriding, Overloading and Late Binding Method overriding method is redefined in subtype guarantees specialization of methods preserves uniform method interface Method overloading effect caused by method overriding various version of a method can exist in parallel Late binding appropriate version of overloaded method selected at run time also known as virtual method dispatching 14 7

Computational Completeness and Extensibility Computational completeness requirement for the method implementation language any computable function can be expressed can be realized through connection with existing language SQL is not complete Extensibility database has a set of predefined types developers can define new types according to requirements no usage distinction between system and user types 15 Durability and Efficiency Persistence data has to survive the program execution orthogonal persistence: each object is allowed to be persistent implicit persistence: user should not have to explicitly move or copy data to make it persistent. Secondary storage management index management data clustering data buffering access path selection 16 query optimization 8

Concurrency Control and Recovery Concurrency management of multiple users concurrently interacting ti atomicity, consistency, isolation and durability serializability of operations Reliability resiliency to user, software and hardware failures transactions can be committed or aborted restore previous coherent state of data redoing and undoing of transactions logging of operations 17 Declarative Query Language High level language express non trivial iilqueries concisely text based or graphical interface declarative Efficient execution possibility for query optimization Application independent work on any possible database no need for additional methods on user defined types 18 9

Optional Characteristics and Open Choices Optional characteristics multiple inheritance type checking and inference distribution design transactions, long transactions, nested transactions Versions Open choices programming paradigm representation system type system uniformity 19 ODBMS History First generation ODBMS 1986 G Base (Graphael, F) 1987 GemStone (Servio Corporation, USA) 1988 Vbase (Ontologic) Statice (Symbolics) Second generation ODBMS 1989 Ontos (Ontos) ObjectStore(Object Design) Objectivity(Objectivity) Versant ODBMS (Versant Object Technology) 1989 The Object Oriented Database System Manifesto 20 10

ODBMS History (cont d) Third generation ODBMS 1990 Orion/Itasca (Microelectron is and Computer Technology Cooperation, USA) O2(Altaïr, F) Zeitgeist (Texas Instruments) Further developments 1991 foundation of the Object Database Management Group (ODMG) 1993 ODMG 1.0 standard 21 ODMG Object Database Management Group (ODMG) founded in 1991by RickCattell standardization body including all major ODBMS vendors Define a standard to increase the portability across different ODBMS products Object Model Object Definition Language (ODL) Object Query Language (OQL) language bindings C++, Smalltalk and Java bindings 22 11

ODMG Object Model Basic modeling primitives object: unique identifierifi Literal (values): no identifier An object's state is defined by the values it carries for a set of properties (attributes or relationships) An object's behavior is defined by the set of operations that can be executed Objects and literals are categorized by their type(common properties and common behavior) 23 Objects Atomic objects user defined Collection objects Set<t> Bag<t> List<t> Array<t> Dictionary<t,v> i Structured objects Tuples, Date, Interval, Time, Timestamp 24 12

Relationships One to one, one to many or many to many relationships with referential integrity maintained by the system 25 Behavior Behavior is specified as a set of operation signatures An operation signature defines name of the operation names and types of arguments type ofreturn value names of exceptions 26 13

Inheritance of Behavior A subtype may define new behavior in addition to the one defined in its supertypes refine a supertype's behavior 27 Inheritance of State and Behavior Keyword EXTENDS A subclass inherits all the properties and behavior of its superclass 28 14

"ODMG 4.0" Standard After the ODMG 3.0 standard the group disbanded ODMG Java language binding formed basis for the Java Data Objects(JDO) specification The OMG Object Database Technology Working Group (ODBT WG) was founded in 2005 due to the new interest tin object databases ODBT WG is now working on a fourth version of an object database standard 29 Object Oriented Databases Faster access than RDBMS for many tasks However, object databases lack a formal mathematical foundation! 30 15

Object Relational Mapping "Automatic" mapping of object oriented model to relational database developer has to deal less with persistence related programming Hibernate mapping of Java types to SQL types generates the required SQL statements behind the scene standalone framework Java Persistence API (JPA) Enterprise Java Beans Standard 3.0 use annotations to define mapping javax.persistence package 31 Object Relational Databases The object relational data model extends the relational data model introduces complex data types object oriented features extended version of SQL to deal with the richer type system Complex data types new collection types including multisets and arrays attributes can no longer just contain atomic values (1NF) but also collections nest and unnest operations for collection type attributes ER concepts such as composite attributes or multivalued attributes can be directly represented in the objectrelational data model 32 16

Object Relational Databases... Since SQL:1999 we can define user defined types Type inheritance can be used for inheriting attributes of user defined types 33 17