Highlights of Object-Database Systems

Slides:



Advertisements
Similar presentations
Limitations of the relational model 1. 2 Overview application areas for which the relational model is inadequate - reasons drawbacks of relational DBMSs.
Advertisements

OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Chapter 10: Designing Databases
OBJECTS Object Oriented ???????. OBJECTS Object-Oriented n OO convenient label for a collection of interconnected ideas n OO approach views computer.
Advanced Topics COMP163: Database Management Systems University of the Pacific December 9, 2008.
Chapter 1: Data Models and DBMS Architecture Title: What Goes Around Comes Around Authors: M. Stonebraker, J. Hellerstein Pages: 2-40.
Object-Oriented Databases
Chapter 11 Data Management Layer Design
Copyright © 2004, Dr. Guimaraes OODBMS & ORDBMS Class Will Start Momentarily… Dr. Mario Guimaraes.
Fundamentals, Design, and Implementation, 9/e Chapter 16 Object-Oriented Database Processing.
Object-Oriented Methods: Database Technology An introduction.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
CS240A: Databases and Knowledge Bases Introduction Carlo Zaniolo Department of Computer Science University of California, Los Angeles.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
Limitations of the relational model. Just as the relational model supplanted the network and hierarchical model so too will the object – orientated model.
Introduction to Database Systems Fundamental Concepts Irvanizam Zamanhuri, M.Sc Computer Science Study Program Syiah Kuala University Website:
E.Bertino, L.Matino Object-Oriented Database Systems 1 Chapter.1 Introduction Seoul National University Department. of Computer Engineering OOPSLA Lab.
1 Object Databases: Introduction. 2 Why OO? v Relational Systems are limited: –Structural restrictions on data –Missing semantics (value-based relationships)
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 4th Edition Copyright © 2009 John Wiley & Sons, Inc. All rights.
1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs.
Object Persistence Design Chapter 13. Key Definitions Object persistence involves the selection of a storage format and optimization for performance.
1 CS457 Object-Oriented Databases Chapters as reference.
OODBMS: Introduction and Logical Database Design
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Chapter 2 Object-Relational DBMSs Chapter 28 in Textbook.
PowerPoint Presentation for Dennis, Wixom, & Tegarden Systems Analysis and Design with UML, 5th Edition Copyright © 2015 John Wiley & Sons, Inc. All rights.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
OODBMS and ORDBMS. Background Object-oriented software, based on the principles of user-defined datatypes, along with inheritance and polymorphism, is.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
Relational vs. Object Oriented Database Management System Syazwani Nur Dayana Nur Fatin Syafiqa M3cs2305B.
Management Information Systems by Prof. Park Kyung-Hye Chapter 7 (8th Week) Databases and Data Warehouses 07.
CS240A: Databases and Knowledge Bases Introduction Carlo Zaniolo Department of Computer Science University of California, Los Angeles.
Databases and DBMSs Todd S. Bacastow January
CS 325 Spring ‘09 Chapter 1 Goals:
Databases and DBMSs Todd S. Bacastow January 2005.
CS240A: Databases and Knowledge Bases Introduction
An Introduction to database system
Chapter 1: Introduction
COMSATS INSTITUTE OF INFORMATION TECHNOLOGY, VEHARI
Database Management:.
Object-Oriented Database Management System (ODBMS)
Chapter 1: Introduction
Object-Relational DBMSs
Geographic Information Systems
Databases.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Database System Concepts and Architecture.
System And Application Software
Chapter 2 Database Environment.
Data, Databases, and DBMSs
MANAGING DATA RESOURCES
Chapter 6 System and Application Software
File Systems and Databases
Systems Analysis and Design
The Relational Model Textbook /7/2018.
MANAGING DATA RESOURCES
Data Model.
PHÂN TÍCH THIẾT KẾ HƯỚNG ĐỐI TƯỢNG
Object-Oriented Databases
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 6 System and Application Software
Database & Information Systems
Chapter 6 System and Application Software
Chapter 2 Database Environment Pearson Education © 2009.
Chapter 1: Introduction
The Database Environment
Chapter 6 System and Application Software
MIS 385/MBA 664 Systems Implementation with DBMS/ Database Management
Presentation transcript:

Highlights of Object-Database Systems Chapter 21 Plus a few words about Deductive Databases (Chapter 20) 1/16/2019

Limitations of the Relational Model limited constraints expressible limited types of relationships normalization leads to atomization, inefficiency Limited built-in data types No support for complex objects, user-defined types BLOBs (binary large objects) are one workaround 1/16/2019

Pressures on Traditional RDBMSs From end-users: desire to store and retrieve non-traditional data From SW development community: desire to integrate today’s languages with DB By lucky coincidence, both parties converge on OO as a solution to many problems 1/16/2019

Evolving End-User Needs Complex objects: pictures, video, X-Rays, CAD drawings, sound files, time series, etc. Unstructured data from heterogeneous sources: document scans, commercial data services, the Web, etc. Historical data to "mine" for unsuspected value versions (for change control) 1/16/2019

SW Development Community SW Development community has come to expect C++/Java environment class libraries, inheritance GUI, event-based programming Want to develop DB in the same environment COBOL and DB grew up together COBOL pioneered the "record" construct character-based types Poor fit to today's languages like C++ 1/16/2019

A Look Back Before we look ahead... Hierarchical and Network (CODASYL) models were popular before relational Network had extremely rich semantics Complex relationships directly expressed (no joins) Primarily "navigational" Custom programs locate data via knowledge of schema, following pointers No standardized query languages 1/16/2019

Object-Oriented Trends Trends in OO Programming seem promising for databases Rich, user-defined data types support of new media lift 1NF restriction Inheritance (important type of relationship) Encapsulation of data and functions Increasing emphasis on components and reusability; cross-platform operation Tighter integration with C++, Java 1/16/2019

ORDBMS vs OODBMS Object-relational DBMS (ORDBMS): relational system with some object features added in Approach taken by major DB vendors (in different forms) Approach taken by SQL evolution Object-oriented DBMS (OODBMS) More radical rethinking of DBMS Tight fit to C++ or Java 1/16/2019

Strict OO Viewpoint Where possible: model the behavior and relationships of the real world Everything is an object Objects communicate only by passing messages In practice, a message is a function name plus a set of arguments Types can be determined at run-time Smalltalk is the model: untyped; interpreted; interactive 1/16/2019

Object Identifiers (OIDs) Unique (database-wide) identifier for each object similar in concept to a pointer, but is permanent independent of key One object can reference another via OID Allows complex embedding without data duplication somewhat similar to use of a foreign key Increases referential integrity problems 1/16/2019

Hybrids and Compromises I Coming from a traditional RDBM Will retain relational facilities Add support for user-defined types type constructors support for methods maybe support for specialized indexes Add OIDs and reference objects Add inheritance Modify existing query language SQL3/SQL4 will have OO features 1/16/2019

Hybrids and Compromises II Coming from C++/Java Add "persistence”: class objects automatically saved on disk Add TP support Add a query language 1/16/2019

Persistence The idea: it's easy for a program to work with a complex data structure in memory, but hard to flatten it into a file. It would be convenient if some variables were persistent, i.e., could exist on disk between executions of the program, i.e., be part of the DB. Not strictly on OO concept One challenge: mapping OIDs between in-memory pointers and disk addresses "pointer swizzling" 1/16/2019

Challenges for Query Languages DDL: coordinating PL with QL Encapsulation issues how much is visible? must all operations be predefined? Multimedia what does "query" mean? how to display results? Typical: user must “register” methods with DBMS 1/16/2019

OO Wrapup Commercial DBMSs are evolving into ORDBMSs User-defined ADTs Inheritance All the old reliable stuff (TP) Also coming: Web as a DB source 1/16/2019

Deductive Databases I See chapter 20 Another (non-OO) approach to relieving relational limitations Admits recursive queries such as transitive closures: “Give me all of John’s ancestors” Excellent at expressing complex constraints, making deductions and discoveries, etc. DB viewed as a set of facts and rules a row can be viewed as a fact which satisfies a predicate 1/16/2019

Deductive Databases II Query languages Datalog: DB extension of Prolog Logic-based vastly different from SQL but curiously, both are non-procedural “fixpoint”: v is a fixpoint of a function f if f(v)= v recognizing and computing fixpoints efficiently is the heart of recursive query processing Thorny problem: negation What part of “not” don’t you understand? 1/16/2019