Introduction to Object-Oriented and Object-Relational Database Systems



Similar documents
Overview RDBMS-ORDBMS- OODBMS

Complex Data and Object-Oriented. Databases

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

Object Oriented Databases. OOAD Fall 2012 Arjun Gopalakrishna Bhavya Udayashankar

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

Course Notes on A Short History of Database Technology

Course Notes on A Short History of Database Technology

1 File Processing Systems

Overview of Data Management

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

Object-Oriented Databases Course Review

Introduction: Database management system

Database Management. Chapter Objectives

Object Oriented Database Management System for Decision Support System.

Object-Oriented Databases

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

Overview of Database Management

WHITE PAPER A COMPARISON BETWEEN RELATIONAL AND OBJECT ORIENTED DATABASES FOR OBJECT ORIENTED APPLICATION DEVELOPMENT JONATHAN ROBIE DIRK BARTELS

Database Management Systems

History of Database Systems

Object Database Management Systems (ODBMSs)

ObjectOrientedDatabaseManagementSystemsConceptsAdvantagesLimitationsandComparativeStudywithRelationalDatabaseManagementSystems

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

ECS 165A: Introduction to Database Systems

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

CS352 Lecture - Object-Based Databases

DATABASE MANAGEMENT SYSTEM

Should we use Object Database Management Systems?

Contents RELATIONAL DATABASES

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

Modern Databases. Database Systems Lecture 18 Natasha Alechina

Foundations of Business Intelligence: Databases and Information Management

Information Management in Process-Centered Software Engineering Environments

Information Models: Applications and Technology. The Data Scalability Problem

Thesis for the Degree of Master of Science, 20p. Evaluation of An Object Database for use in S.P.I.D.E.R. Jonas Brännvall

Introductory Concepts

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

Core Syllabus. Version 2.6 B BUILD KNOWLEDGE AREA: DEVELOPMENT AND IMPLEMENTATION OF INFORMATION SYSTEMS. June 2006

FROM RELATIONAL TO OBJECT DATABASE MANAGEMENT SYSTEMS

CSE 132A. Database Systems Principles

Chapter 1: Introduction

Week 1 Part 1: An Introduction to Database Systems. Databases and DBMSs. Why Use a DBMS? Why Study Databases??

Demystified CONTENTS Acknowledgments xvii Introduction xix CHAPTER 1 Database Fundamentals CHAPTER 2 Exploring Relational Database Components

2. Background on Data Management. Aspects of Data Management and an Overview of Solutions used in Engineering Applications

Module 4 Creation and Management of Databases Using CDS/ISIS

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

XXI. Object-Oriented Database Design

Part VI. Object-relational Data Models

Realization of Inventory Databases and Object-Relational Mapping for the Common Information Model

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

Chapter 6 FOUNDATIONS OF BUSINESS INTELLIGENCE: DATABASES AND INFORMATION MANAGEMENT Learning Objectives

DATABASE SYSTEM CONCEPTS AND ARCHITECTURE CHAPTER 2

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

Overview. Introduction to Database Systems. Motivation... Motivation: how do we store lots of data?

14 Databases. Source: Foundations of Computer Science Cengage Learning. Objectives After studying this chapter, the student should be able to:

Chapter 9: Object-Based Databases

DESIGN AND IMPLEMENTATION

Chapter 2 Database System Concepts and Architecture

Types & Uses of Databases

Chapter 1: Introduction

CSE 233. Database System Overview

Physical Design in OODBMS

DBMS / Business Intelligence, SQL Server

NoSQL systems: introduction and data models. Riccardo Torlone Università Roma Tre

Availability Digest. Raima s High-Availability Embedded Database December 2011


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

Course MIS. Foundations of Business Intelligence

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

5.5 Copyright 2011 Pearson Education, Inc. publishing as Prentice Hall. Figure 5-2

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

The Relational Model. Why Study the Relational Model?

CSE 530A Database Management Systems. Introduction. Washington University Fall 2013

Java Universal Binding: Storing Java Objects in Relational and Object-Oriented Databases

Object/Relational Access Layers

10. Creating and Maintaining Geographic Databases. Learning objectives. Keywords and concepts. Overview. Definitions

Introduction to Database Systems

Object Database Tutorial

Introduction to Computing. Lectured by: Dr. Pham Tran Vu

Foundations of Business Intelligence: Databases and Information Management

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

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

THE EVOLVING ROLE OF DATABASE IN OBJECT SYSTEMS

Database System Concepts

COMP5138 Relational Database Management Systems. Databases are Everywhere!

From Object Oriented Conceptual Modeling to Automated Programming in Java

How To Improve Performance In A Database

JDBC Drivers, Bridges and SequeLink. Edward M. Peters Vice President & General Manager DataDirect

Databases. DSIC. Academic Year

Generating Enterprise Applications from Models

Cache Database: Introduction to a New Generation Database

CS 464/564 Introduction to Database Management System Instructor: Abdullah Mueen

COMPONENTS in a database environment

Standard for Object Databases

Lecture 1: Introduction

Database Design and Programming

The Classical Architecture. Storage 1 / 36

Database Systems. Lecture 1: Introduction

Chapter 14: Databases and Database Management Systems

Transcription:

, Professor Uppsala DataBase Laboratory Dept. of Information Technology http://www.csd.uu.se/~udbl Extended ER schema Introduction to Object-Oriented and Object-Relational Database Systems 1

Database Design Database Design Logical Database Design: How to translate a schema in the conceptual data model (e.g. ER-schemas) to a schema in the DBMS data model (e.g relational tables) PROBLEM: Semantics may disappear or be blurred when data is translated to less expressive data model Physical Database Design: E.g by indexes: - permit fast matching of records in table satisfying certain search conditions. PROBLEM: New applications may require data and index structures that are not supported by the DBMS. E.g. calendars, numerical arrays, geographical data, text, etc. 2

The ANSII-SPARC Tree Level Schema Architecture Acheives data independence External schema Conceptual Schema Internal Schema Data Independence Logical data independence: The capability to change conceptual schema without having to change interfaces between applications and views. E.g. Create new table, extend table, split table Physical data independence: The capability to change the internal schema without having to change applications and conceptual schema. E.g. add/drop indexes, change data formats, etc. NOTE: Data Independence is very important since databases continuously change! 3

Database Manipulation Views Query language: Originally a QL could only specify database searches. Now the standard query language SQL is a general language for interactions with the database. Typical query language operations are: - Searching for records fulfilling certain selection conditions - Iterating over entire tables applying update operations - Schema definition and evolution operators - Object-Oriented Databases have create and delete objects PROBLEM: Would like to be able to customize and extend query language for different application areas Definition: A view is a mapping from the Conceptual Schema to a subset of the database as seen by a particular (group of) users. The external schema is defined by a set of views. Relational views: SQL is a closed query language that maps tables into tables => SQL allows very general views (derived tables) to be defined as single queries NOTICE: Views provide logical data independence. 4

1968 Hierarchical (IMS) Trees Evolution of Database Technology 1970 Network model (CODASYL) Complex data structures 1980 Relational model (e.g. ORACLE) Tables 1990 1st Generation OODB (e.g. ObjectStore) OO data structures 1997 Object Relational DBMS (e.g. SQL99) Object model {} New DBMS applications (for OODB) Classical DBMS: Administrative applications e.g. Banking (ATMs) Properties: Very large structured data volumes Very many small Transactions On-line (High transaction rates) Occasional batch programs High Security/Consistency 5

New DBMS applications areas New DBMS applications (for OODB) Problem areas: CASE Computer Aided Software Engineering CAD Computer Aided Design CAM Computer Aided Manufacturing OIS Office Information Systems Multi-media databases Scientific Applications Hypertext databases (WWW) New Needs for Engineering, Scientific databases, etc.: Extensibility (on all levels) Better performance Expressability E.g. Object-Orientation needed Tight programming language interfaces E.g. C++, Java Long transactions E.g. Engineering requires checkin/checkout model Very large objects 6

Problems with relational databases for new application areas Object Stores Problems with using RDBMSs for OO applications Complex mapping from OO conceptual model to relations Complex mapping => complex programs and queries Complex programs => maintenance problems Complex programs => reliability problems Complex queries => database query optimizer may be very slow Application vulnerable to schema changes Performance First generation ODBs (around 1990) Extend OO programming language with DBMS primitives E.g. Smalltalk, C++, Java Allow persistent data structures in C++ programs Navigate through database using C++ primitives (as CODASYL) An object store for C++ Many products, e.g.: ObjectStore, Objectivity, Poet, Versant, Ontos, Gemstone, Itasca, O 2 Special embedded (C++/Java) OO Query language proposal: OQL 7

Object Stores Pros and cons: + Long transactions with checkin/checkout model + Always same language (C++/Java) + High efficiency only for checked-out data - Primitive query languages - No methods in database (all code executes in client) - Rudimentary data independence (no views) - Limited concurrency -Unsafe, database may crash -Slow for many small transactions (e.g. ATM applications) Orthogonal Persistence in Object Stores Integrated with programming language E.g. C++/Java with persistent objects (e.g. ObjectStore/Pjama) class PERSON {... };... {PERSON P; // Local within block... } static PERSON p; // Local for execution persistent PERSON p; // Exists between program executions 8

Orthogonal Persistence in Object Stores Pointer swizzling: Automatic conversion from disk addresses to pointers References to data structures on disk (OIDs) look like regular C++/Java pointers/references! Navigational access style. Fast when database cached in main-memory of client! Preprocessed by OODBMS for convenient extention of C++ (JDK support in Pjama) Object-Relational Databases Second generation ODBs (around 1997) Idea: Extend on RDBMS functionality Customized (abstract) data types Customized index structures Customized query optimizers Use declarative query language, SQL99 Extensible DBMS technology: Object-orientation for abstract data types Data blades provide: User definable index structures Cost hints and for the query optimizer 9

Object-Relational Databases Pros and cons: + Support for high-level SQL queries, compatibility + Views, logical data independence possible with queries + Programming language independence + Stored procedures, triggers, constraints + High transaction performance by avoiding data shipping - Overkill for application needing just a C++ object store Performance may suffer compared to OODBs for applications needing just an object store - May be very difficult to extend index structures and query optimizers OO/OR Comparison Object identity E.g. for structure sharing: Unique OIDs maintained by DBMS E.g. Parent(:tore) = :ulla, Parent(:kalle)=:ulla Complex objects Not only tables, numbers, strings But sets, bags, lists, and arrays, i.e. non-1nf relations. E.g. Courses(:tore) = {:c1,:c2,:c3} 10

OO/OR Comparison OO/OR Comparison Extensibility User definable data types, e.g. create type Person, Create type Timepoint, etc.. Operations on new datatypes, e.g. name(:tore), :t2 - :t1, :t2 > :t1, etc. Both OO and OR allow abstract datatypes through object-orientation OR databases: Allow extensions of physical representations and query processor Class Hierarchies as modelling tool (both OO/OR) Classification E.g. Student subtype of Person Shared properties Specialization Student subtype of Person with extra attributes University, Classes,... 11

OO/OR Comparison Computational completeness OR databases: Turing complete query language: SQL99 Code executes on server OO Databases: C++/Java code with embedded OQL statements executes in client (web server) Persistence OO databases: Transparent access to persistent object by swizzling OR databases: Embedded queries to access persistent objects Secondary storage management OR databases: Indexes can be implemented by user (difficult!) OO/OR Comparison Concurrency OO databases: Good support for long transactions OR database: Good support for short transactions Ad Hoc Query Facility OO Databases: Weak OR Databases: Very strong Data independence OO Databases: Weak OR Databases: Strong 12

OO/OR Comparison Object-Oriented DBMS Standard Views Important for data independence Query language required Only in OR databases! Schema evolution Relational DBs have it! Fully supported in OR databases, primitive in OO databases The ODMG standard proposal: R. Cattell, Ed.: The ODMG-93 Standard for Object Databases Morgan-Kaufmann Publishers, San Mateo, California, 1993. Object Data Model Object Query Language: OQL (different model than SQL:99) 13

Object-Relational DBMS Standard The SQL:99 (SQL3) standard proposal: ISO standard Very large (1000 pages) SQL-92 is subset Much more than object-orientation included Triggers, procedural language, OO, error handling, etc. Certain parts, e.g. standards for procedures, error handling, triggers, already being included in the SQL:99 standard. 14