Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.

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
4. Object-Oriented Programming Procedural programming Structs and objects Object-oriented programming Concepts and terminology Related keywords.
1 OBJECT-ORIENTED CONCEPTS. 2 What is an object?  An object is a software entity that mirrors the real world in some way.  A software object in OOP.
Solutions to Review Questions. 4.1 Define object, class and instance. The UML Glossary gives these definitions: Object: an instance of a class. Class:
Object-Oriented Databases v OO systems associated with – graphical user interface (GUI) – powerful modeling techniques – advanced data management capabilities.
Chapter Object-Oriented Practices. Agenda Object-Oriented Concepts Terminology Object-Oriented Modeling Tips Object-Oriented Data Models and DBMSs.
OBJECTS Object Oriented ???????. OBJECTS Object-Oriented n OO convenient label for a collection of interconnected ideas n OO approach views computer.
Object Oriented System Development with VB .NET
Object-Oriented Databases
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Introduction to Databases Transparencies
Introduction to Object DBMSs Transparencies © Pearson Education Limited 1995, 2005.
“DOK 322 DBMS” Y.T. Database Design Hacettepe University Department of Information Management DOK 322: Database Management Systems.
Object Oriented Databases - Overview
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
Object-oriented design CS 345 September 20,2002. Unavoidable Complexity Many software systems are very complex: –Many developers –Ongoing lifespan –Large.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
C++ fundamentals.
RIZWAN REHMAN, CCS, DU. Advantages of ORDBMSs  The main advantages of extending the relational data model come from reuse and sharing.  Reuse comes.
Chapter 4 Object and Object-Relational Databases (Part ½: Object-Oriented Concepts) Lecturer: H.Ben Othmen Department of Computer Science, Umm Al-Qura.
Object-Relational DBMSs By Yao-Wen Tu CS157b12/09/2003 Prof. Sin-Min Lee.
Introduction To System Analysis and design
Database System Concepts and Architecture Lecture # 3 22 June 2012 National University of Computer and Emerging Sciences.
Information storage: Introduction of database 10/7/2004 Xiangming Mu.
Introduction to the Other Databases
C++ Object Oriented 1. Class and Object The main purpose of C++ programming is to add object orientation to the C programming language and classes are.
Chapter 11: Inheritance and Composition. Objectives In this chapter, you will: – Learn about inheritance – Learn about derived and base classes – Redefine.
Part 3: Introduction to Object DBMSs
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Object-Oriented Database Management Systems (ODBMS)
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
11 Chapter 11 Object-Oriented Databases Database Systems: Design, Implementation, and Management 4th Edition Peter Rob & Carlos Coronel.
11 1 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel.
1 CS 430 Database Theory Winter 2005 Lecture 17: Objects, XML, and DBMSs.
Chapter 1 Object-oriented DBMSs Chapters in Textbook.
Lecture2: Database Environment Prepared by L. Nouf Almujally & Aisha AlArfaj 1 Ref. Chapter2 College of Computer and Information Sciences - Information.
OOP Class Lawrence D’Antonio Lecture 3 An Overview of C++
Chapter 18 Object Database Management Systems. McGraw-Hill/Irwin © 2004 The McGraw-Hill Companies, Inc. All rights reserved. Outline Motivation for object.
Object_Oriented Databases, by Dr. Khalil 1 Object-Oriented Databases Dr. Awad Khalil Computer Science Department AUC.
Lecture # 3 & 4 Chapter # 2 Database System Concepts and Architecture Muhammad Emran Database Systems 1.
C++ Programming Basic Learning Prepared By The Smartpath Information systems
FEN NOEA/IT - Databases/ODB1 ODB – Object DataBases Object-Oriented – Fundamental Concepts UML and EE/R OO and Relational Databases Introduction.
1 CS457 Object-Oriented Databases Chapters as reference.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Object Oriented Database By Ashish Kaul References from Professor Lee’s presentations and the Web.
Chapter 10, Slide 1 ABSTRACT DATA TYPES Based on the fundamental concept of ABSTRACTION:  process abstraction  data abstraction Both provide:  information.
9-Dec Dec-15  INTRODUCTION.  FEATURES OF OOP.  ORGANIZATION OF DATA & FUNCTION IN OOP.  OOP’S DESIGN.
Mr.Prasad Sawant, MIT Pune India Introduction to DBMS.
OOP Review CS 124.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
Chapter 11: Inheritance and Composition. Introduction Two common ways to relate two classes in a meaningful way are: – Inheritance (“is-a” relationship)
1 Chapter 2 Database Environment Pearson Education © 2009.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
OOPS CONCEPT.  OOPS  Benefits of OOPs  OOPs Principles  Class  Object Objectives.
Question 1 Which of the following requires object database technology? A. Storing employee picture on disk B. Retrieving an employee picture C. Retrieving.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
1 n Object Oriented Programming. 2 Introduction n procedure-oriented programming consists of writing a list of instructions and organizing these instructions.
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
OODBMS and ORDBMS. Background Object-oriented software, based on the principles of user-defined datatypes, along with inheritance and polymorphism, is.
©Silberschatz, Korth and Sudarshan 1.1 Database System Concepts قواعد البيانات Data Base قواعد البيانات CCS 402 Mr. Nedal hayajneh E- mail
CSCE 240 – Intro to Software Engineering Lecture 3.
ISBN Chapter 12 Support for Object-Oriented Programming.
Object-Oriented Database Management System (ODBMS)
Object-Oriented Databases
INTRODUCTION TO OBJECT-ORIENTED PROGRAMMING (OOP) & CONCEPTS
Chapter 2 Database Environment.
Introduction to Data Structure
Object-Oriented Databases
Presentation transcript:

Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee

Object Oriented DBMS History Object-oriented model popularized in programming languages Simula 67, Smalltalk, C++, Java Earlier database models(hierarchical, network, relational) focused on record- oriented information New database applications need more & better support for complex data.

The weakness of RDBMSs Poor representation of ‘ real world ’ entities. The process of normalization generally leads to the creation of relations that do not corresponds to entities in the ‘ real world ’. Semantic overloading, namely there is no mechanism to distinguish between entities and relationships, or to distinguish between different kinds of relationship that exist between entities. Poor support for integrity and enterprise constraints.

The weakness of RDBMSs (cont) Homogeneous data structure. The fixed structure is too restrictive for many ‘ real world ’ objects that have a complex structure, and it leads to unnatural joins, which are inefficient. Limited Operations. It only has a fixed set of operations such as set and tuple – oriented operations, operations that are provided in the SQL specification. Difficulty handling recursive queries Impedance mismatch

New database applications Traditional applications had these properties: Uniformity Record orientation Small data items Atomic fields

New database applications (cont) New applications requiring more complex info: Computer-aided design(CAD). A CAD database stores data relating to mechanical and electrical design covering objects like buildings, IC circuits. Computer-aided software engineering(CASE). A CASE database stores data relating to the stages of the software development lifecycle planning. Office information systems (OIS). An OIS database stores data relating to the computer control of information in a business including s, invoices, etc.

Why consider these new applications? The following have made them feasible(they were out of reach in the 70s): Faster CPUs Larger main memories Larger disks Better, faster networks Lower cost for all of the above!

Object Oriented data Model Object is similar to an entity in ER model. If we are to implement Object Oriented DBMSs in Java, for each entity, we will create a class for it. Object Oriented concept centers around encapsulating both data and procedures for operation on data as a single unit.

What is encapsulation? Encapsulation means that an object contains both the data structure and the set of operations that can be used to manipulate it. Often cases, adopting encapsulation hides the implementation from the users do not necessarily have to know the detail of it.

Other OOP concepts Abstraction: Abstraction is the process of identifying the essential aspects of an entity and ignoring the unimportant properties. Information Hiding: We separate the external aspects of an object from its internal details, which are hidden from the outside world.

Object Oriented data Model(cont) Object: A uniquely identifiable entity that contains both the attribute that describe the state of a ‘ real world ’ object and the actions that are associated with it. Set of variables Set of methods (code to execute in response to messages). This is the main difference from the ER model.

Objects Variables can be Atomic values (like character, integer number, boolean value) Objects (other user defined objects). Reference to other objects

Objects (cont) Object classes. Objects that have the same attributes and respond to the same messages can be grouped together to form a class Define object type (structure and behavior) An object is an instance of a class Sometimes associated with a collection of all instances in class

class timeSeries { /* variables */ List* entryList; /* list of elements */ time beginning; time ending; elementDescriptor elemDesc; /* element type descriptor */ /* messages */ elementDescriptor getElementType(); Tuple getFirstElement(); Tuple getLastElement(); Tuple getFirstElementAfter(time t); } Example Object class

Inheritance Inheritance allows one class to be defined as a special case of a more general class. The types of inheritance are IS-A hierarchy idea Single inheritance Multiple inheritance Repeated inheritance. A special case of multiple inheritance in which the super class inherit from a common super class. Selective inheritance.

Polymorphism Objects of different types can respond to same message, e.g. “ print(), ” in different ways. Makes it possible to develop general, extensible software systems. It has three types: operation, inclusion and parametric. More important than inheritance

Object Identity An object in an Object Oriented Database remains the same object even if some or all of its attribute values change. It is a key part of the definition of an object. Not the same as relational DBMS, where a data vale is used for identity. Object-oriented databases use an internally- generated object identifier to uniquely identify an object.

Object containment Same as aggregation concept in ER model Part-of hierarchy

Other Object Oriented techniques Overloading: allows the name of a method to be reused within a class definition or across definitions. This is a special case of the more general concept of polymorphism. Overriding: a special case of overloading which allows the names of a property to be redefined in a subclass Dynamic binding: Allows the determination of an object ’ s type and methods to be deferred until runtime.

Persistent Programming Languages Standard programming languages only allow storing persistent (permanent) information which could be in files or in a database via a database API. In either case, format of objects in persistent storage is different than format in memory

Persistent Programming Languages (cont) Problem known as impedance mismatch Idea: allow programming language objects to be persistent. Persistent versions of Pascal, Smalltalk, C++ have been developed

Persistent Programming Languages (cont) Allows simpler creation and manipulation of persistent objects Drawbacks: Since language is powerful, it is easy to make errors that damage Database Hard to optimize I/O access made by database application

Making Objects Persistent Typically, persistence or non- persistence is specified at object creation time. E.g. class foo {int a; float y;} persistent collection foo_coll ; foo *x, *y; x = new foo(); //non-persistent y = new (foo_coll) foo(); //persistent

Some OODBs Have Limited Query Capability E.g. (similar to ObjectStore query) class emp {int eno, char [20] name, dept *d}; class dept {int dno, char[20]name}; persistent collection empcoll

Some OODBs Have Limited Query Capability (cont) collection * result; result = {: x in empcoll || x -> d.dnp = 10:] Less opportunity for optimization than in a relational DBMS with SQL

Complex Objects Sometimes we need object that consists of subobjects or components. A complex object is an item that is viewed as a single object in the ‘ real world ’ but combines with other objects in a set of complex A-PART-OF relationships. The objects contained may themselves be complex objects, resulting in an A- PART-OF hierarchy.

Summary Object Oriented DBs designed to support new application areas – multi-media, CAD, CASE, GIS etc. Object = data + methods Inheritance, object containment Persistent programming languages OODBs have limited query capability Advantages and disadvantages of OODBs. Next Generation DBMSs: Object-Oriented Data Model and Object-Relational Data Model