Object Database Management Systems (ODBMSs)



Similar documents
Overview RDBMS-ORDBMS- OODBMS

The ObjectStore Database System. Charles Lamb Gordon Landis Jack Orenstein Dan Weinreb Slides based on those by Clint Morgan

ObjectOrientedDatabaseManagementSystemsConceptsAdvantagesLimitationsandComparativeStudywithRelationalDatabaseManagementSystems

Introduction to Object-Oriented and Object-Relational Database Systems

Object-Oriented Databases Course Review

XXI. Object-Oriented Database Design

Database Concepts. Database & Database Management System. Application examples. Application examples

Object Oriented Databases (OODBs) Relational and OO data models. Advantages and Disadvantages of OO as compared with relational

Object oriented design process

Object Oriented Database Management System for Decision Support System.

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

Introduction to Databases

Chapter 1 Databases and Database Users

Chapter 2 Database System Concepts and Architecture

Copyright 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley. Chapter 1 Outline

Chapter 13. Introduction to SQL Programming Techniques. Database Programming: Techniques and Issues. SQL Programming. Database applications

Object-Oriented Databases

CS2Bh: Current Technologies. Introduction to XML and Relational Databases. Introduction to Databases. Why databases? Why not use XML?

THE OPEN UNIVERSITY OF TANZANIA FACULTY OF SCIENCE TECHNOLOGY AND ENVIRONMENTAL STUDIES BACHELOR OF SIENCE IN DATA MANAGEMENT

Introduction to Database Systems

U III 5. networks & operating system o Several competing DOC standards OMG s CORBA, OpenDoc & Microsoft s ActiveX / DCOM. Object request broker (ORB)

Module 4 Creation and Management of Databases Using CDS/ISIS

ECS 165A: Introduction to Database Systems

DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2

Concepts of Database Management Seventh Edition. Chapter 9 Database Management Approaches

The Synergy Between the Object Database, Graph Database, Cloud Computing and NoSQL Paradigms

A COMPARATIVE STUDY BETWEEN THE PERFORMANCE OF RELATIONAL & OBJECT ORIENTED DATABASE IN DATA WAREHOUSING

1 File Processing Systems

CSC 742 Database Management Systems

CSE 132A. Database Systems Principles

SECURITY MODELS FOR OBJECT-ORIENTED DATA BASES

Chapter 5 More SQL: Complex Queries, Triggers, Views, and Schema Modification

Course Notes on A Short History of Database Technology

Course Notes on A Short History of Database Technology

Database Management. Chapter Objectives

Complex Data and Object-Oriented. Databases

CHAPTER 6 DATABASE MANAGEMENT SYSTEMS. Learning Objectives

BCS Higher Education Qualifications. Professional Graduate Diploma in IT. Programming Paradigms Syllabus

ISM 318: Database Systems. Objectives. Database. Dr. Hamid R. Nemati

Study Notes for DB Design and Management Exam 1 (Chapters 1-2-3) record A collection of related (logically connected) fields.

The Relational Model. Why Study the Relational Model?

Database Management Systems: Relational, Object-Relational, and Object-Oriented Data Models COT/4-02-V1.1

Modern Databases. Database Systems Lecture 18 Natasha Alechina

Object-Oriented Database Technology

Database System Architecture & System Catalog Instructor: Mourad Benchikh Text Books: Elmasri & Navathe Chap. 17 Silberschatz & Korth Chap.

Agile Techniques for Object Databases

Databases and DBMS. What is a Database?

Schema Evolution in SQL-99 and Commercial (Object-)Relational DBMS

Course: CSC 222 Database Design and Management I (3 credits Compulsory)

Chapter 1: Introduction. Database Management System (DBMS) University Database Example

MultiMedia and Imaging Databases

Databases. DSIC. Academic Year

SQL Server. 1. What is RDBMS?

The Relational Model. Ramakrishnan&Gehrke, Chapter 3 CS4320 1

Commercial Database Software Development- A review.

DATABASE MANAGEMENT SYSTEM

Assistant Information Technology Specialist. X X X software related to database development and administration Computer platforms and

CS352 Lecture - Object-Based Databases

Database Resources. Subject: Information Technology for Managers. Level: Formation 2. Author: Seamus Rispin, current examiner

Chapter 1: Introduction. Database Management System (DBMS)

CACHÉ: FLEXIBLE, HIGH-PERFORMANCE PERSISTENCE FOR JAVA APPLICATIONS

Object Oriented Design with UML and Java. PART XVIII: Database Technology

Types & Uses of Databases

Object Relational Database Mapping. Alex Boughton Spring 2011

Objectives of Lecture 1. Labs and TAs. Class and Office Hours. CMPUT 391: Introduction. Introduction

Database Design - 2nd Edition

Chapter 1: Introduction

Overview of Data Management

Developing Microsoft SQL Server Databases (20464) H8N64S

Database System. Session 1 Main Theme Introduction to Database Systems Dr. Jean-Claude Franchitti

OBJECTS AND DATABASES. CS121: Introduction to Relational Database Systems Fall 2015 Lecture 21

1. INTRODUCTION TO RDBMS

æ A collection of interrelated and persistent data èusually referred to as the database èdbèè.

ICOM 6005 Database Management Systems Design. Dr. Manuel Rodríguez Martínez Electrical and Computer Engineering Department Lecture 2 August 23, 2001

Lecture Objectives. Software Life Cycle. Software Engineering Layers. Software Process. Common Process Framework. Umbrella Activities

Data Modeling Basics

CEC225 COURSE COMPACT

What is a database? COSC 304 Introduction to Database Systems. Database Introduction. Example Problem. Databases in the Real-World

B.Sc. (Computer Science) First Year

Database System Concepts

20464C: Developing Microsoft SQL Server Databases

Oracle Database: Develop PL/SQL Program Units

Objectives. Distributed Databases and Client/Server Architecture. Distributed Database. Data Fragmentation

DATA BASE.

Overview of Database Management

Introduction. Introduction: Database management system. Introduction: DBS concepts & architecture. Introduction: DBS versus File system

Chapter 2. Data Model. Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel

Using SAS as a Relational Database

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

Transcription:

Object Database Management Systems (ODBMSs) CSC 436 Fall 2003 * Notes kindly borrowed from DR AZIZ AIT-BRAHAM, School of Computing, IS & Math, South Bank University 1 Evolution and Definition of the ODBMS Hierarchical Data Model Network Data Model Relational Data Model Semantic Data Model ER Data Model Extended Relational Data Model Object Data Model oobject data model (ODM): A data model that captures the semantics of objects supported in object-oriented programming. oobject database (ODB): A persistent and sharable collection of objects defined by an ODM. oodbms: The manager of an ODB. 2

Object Data Model odefinition One: An ODBMS must, at a minimum: Provide database functionality Support object identity Provide encapsulation Support objects with complex state odefinition Two: Object-orientation = ADTs + Inheritance + Object identity Object-oriented database = Object-orientation + Database capabilities odefinition Three: An ODBMS must provide: 1. High-level query language with query optimization capabilities in the underlying system 2. Support for persistence and atomic transactions: concurrency and recovery control 3. Support for complex object storage, indexes and access methods for fast and efficient retrieval Object-oriented databse = object-oriented system + (1)-(3) 3 Issues in ODBMSs Traditional database Systems Semantic data models Object-Oriented programming Special requirements Persistence Sharing Transactions Concurrency control Recovery control Security Integrity Querying Generalisation Aggregation Object identity Encapsulation Inheritance Types and classes Methods Complex objects Polymorphism Extensibility Versioning Schema evolution Object Data Model 4

Transactions otransactions involving complex objects can continue for several hours (or even days) => Support long duration transactions => re-examine concurrency and recovery protocols oin an ODBMS, the unit of concurrency and recovery control is logically an object. olock conflict in long duration transactions is unacceptable => Use versioning 5 Versioning othe process of maintaining the evolution of objects is known as version management oan object version represents an identifiable state of an object O A O B O C V 1 V 2 V 3 V 1 V 2 V 1 V 1A V 2A V 1A V 2B V 2A V 1B Configuration Object schema 6

Schema Evolution oengineering design is an incremental process and evolves with time. To support this process, applications require considerable flexibility in dynamically defining and modifying the database schema. otypical changes to the schema include: Changes to the class definition:» Modifying attributes» Modifying methods Changes to the inheritance hierarchy:» Making a class S the superclass of class C» Removing a class S from the list of superclasses of C» Modifying the order of the superclasses of C Changes to the set of classes, such as creating and deleting classes and modifying class names 7 Alternative Strategies for an ODBMS oextend an existing object-oriented programming language with database capabilities (e.g. GemStone) oprovide extensible object-oriented DBMS libraries (e.g. Ontos and ObjectStore) oembed ODB language constructs in a conventional host language (e.g. O 2 ) oextend and existing database language with objectoriented capabilities (Ontos, Versant O 2 and provide a version of Object SQL) odevelop a novel database data model/data language (e.g. Semantic Information Manager - SIM) 8

The ODBMS Manifesto - 1989 The first 8 rules apply to the object-oriented characteristics: 1 Thou shalt support complex objects 2 Thou shalt support object identity 3 Thou shalt encapsule thine objects 4 Thou shalt support types or classes 5 Thine classes or types shalt inherit from their ancestors 6 Thou shalt not bind prematurely 7 Thou shalt be computationally complete 8 Thou shalt be extensible 9 The ODBMS Manifesto (cont.) The final 5 rules apply to the DBMS characteristics: 9 Thou shalt remember thy data 10 Thou shalt manage very large databases 11 Thou shalt accept concurrent users 12 Thou shalt recover from hardware and software failures 13 Thou shalt have a simple way of querying data 10

The ODBMS Manifesto (cont.) ooptional features: the goodies Multiple inheritance Type checking and type inferencing Distribution Design transactions Versions oopen choices Programming paradigm Representation system Type system Uniformity 11 ODBMS - Advantages oenriched modeling capabilities oextensibility oremoval of impedance mismatch omore expressive query language oschema evolution osupport for long duration transactions oapplicability to advanced database applications oimproved performance 12

ODBMS - Disadvantages olack of universal data model olack of experience olack of standards oquery optimisation olocking ocomplexity oviews osecurity 13 Extended Relational Systems omany vendors of RDBMS products agree that their systems are not currently suited to the advanced applications and that added added functionality is required. oextended relational data models are based on enhancements of the relational data model to incorporate procedures, objects, versions and other new capabilities. othere is no single extended relational model; rather, there are a variety of these models, whose characteristics depend upon the way and the degree to which extensions were made. 14

The Third-Generation Database Manifesto 1990 Three Tenets: otenet 1: Besides traditional data management services, third generation DBMSs will provide support for richer object structures and rules. otenet 2: Third generation DBMSs must subsume second generation DBMSs. otenet 3: Third generation DBMSs must be open to other subsystems. 15 The Third-Generation Database Manifesto (II) Propositions Concerning Object and Rule Management: 1 A third-generation DBMS must have a rich type system 2 Inheritance is a good idea 3 Functions, including database procedures and methods and encapsulation, are a good idea 4 Unique identifiers for records should be assigned by the DBMS only if a user-defined primary key is not available 5 Rules (triggers, constraints) will become a major feature in future systems, They should not be associated with a specific function or collection 16

The Third-Generation Database Manifesto (III) Propositions Concerning Increasing DBMS Function: 6 Essentially all programmatic access to a database should be through a non-procedural, high-level access language 7 There should be at least two ways to specify collections, one using enumeration of members and one using the query language to specify membership 8 Updateable views are essential 9 Performance indicators have almost nothing to do with data models and must not appear in them 17 The Third-Generation Database Manifesto (IV) Propositions that Result from the Necessity of an Open System: 10 Third generation DBMSs must be accessible from multiple high-level languages 11 Persistent forms of a high-level language, for a variety of high-level languages are a good idea. They will all be supported on top of a single DBMS by compiler extensions and a complex runtime system 12 For better or worse, SQL is intergalactic dataspeak 13 Queries and their resulting answers should be the lowest level of communication between a client and a server 18

Object-Oriented Database Design Comparison between object data modeling (ODM) and logical data modeling (LDM) ODM LDM Difference Object Entity Object includes behavior Attribute Attribute None Relationship Relationship Associations are the same but inheritance in ODM includes both state and behavior Messages No corresponding concept in LDM Class Entity type None Instance Entity None Encapsulation No corresponding concept in LDM 19 Relationships orelationships are represented in an ODM using reference attributes (a reference attribute contains a value, or collection of values, that are themselves objects) oa 1:1 relationship between objects A and object B is represented by adding a reference attribute to object A and, to maintain referential integrity, a reference attribute to object B. oa 1:M relationship between objects A and object B is represented by adding an attribute containing a set of references to each object oan M:N relationship between objects A and B is represented by adding an attribute containing a set of references to each object 20

Referential Integrity There are different techniques to handle referential integrity: odo not allow the user to explicitly delete objects => The system is responsible for garbage collection (GemStone) oallow the user to delete objects when they are no longer required => The system may detect invalid references automatically and set the reference to NULL or disallow the deletion (Versant) oallow the user to modify and delete objects and relationships when they are no longer required => The system automatically maintains the integrity of objects (Ontos, Objectivity/DB and ObjectStore) 21 Identifying Methods oconstructors and destructors: Constructor methods generate new instances of a class. Each new instance is given a unique OID. Destructor methods delete class instances that are no longer required. oaccess: Access methods return the value of an attribute or set of attributes of a class instance. It may return a single attribute value, multiple attribute values or a collection of values. otransform: Transform methods change (transform) the state of a class instance. 22

Further Reading oto know more about object-oriented analysis and design: Coad, P. and Yourdon E.: Object-Oriented Analysis 2nd edn, Yourdon Press/Prentice-Hall, 1991 Coad E.: Object-Oriented Systems Design: An Integrated Approach, Prentice Hall, 1994 othe Object-Oriented Database System Manifesto: http://www.cs.cmu.edu/afs/cs.cmu.edu/user/clamen/oodbms/man ifesto/manifesto.ps.gz othe Third Generation Database System Manifesto: ftp://s2k-ftp.cs.berkeley.edu/pub/postgres/papers/erl-m90-28.ps.z 23