Object Oriented Databases - Overview

Slides:



Advertisements
Similar presentations
Chapter 10: Designing Databases
Advertisements

Introduction Advanced data models and emerging trends (Ch. 11, 3 rd ed. – Ch. 20, 4 th ed.)
Object Oriented Database Group 4 Mathieu Metz Palani Kumaresan Napa Gavinlertvatana Kristine Pei Keow Lee Prabhu Ramachandran.
Why Object-Oriented DBMS? Abstract data types Interface with host programming language (the impedance mismatch). Object identity: (peter, 40, {(john, 15,
Jane Reid, BSc/IT DB, QMUL, 25/2/02 1 Object-oriented DBMS Background to ODBMS ODBMS requirements Object components ODB conceptual design –Graphical ODB.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
George Blank University Lecturer.
Object Databases Baochuan Lu. outline Concepts for Object Databases Object Database Standards, Languages, and Design Object-Relational and Extended-Relational.
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
ISBN Chapter 11 Abstract Data Types and Encapsulation Concepts.
Irwin/McGraw-Hill Copyright © 2004 The McGraw-Hill Companies. All Rights reserved Whitten Bentley DittmanSYSTEMS ANALYSIS AND DESIGN METHODS6th Edition.
Object-Oriented Databases
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Fundamentals, Design, and Implementation, 9/e Chapter 16 Object-Oriented Database Processing.
XML –Query Languages, Extracting from Relational Databases ADVANCED DATABASES Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria.
Department of Computer Sciences Bahria University (Karachi Campus)
July 13, 2015ADBS: OODB1 Concepts for Object-Oriented Databases Chapter 20.
Abstract Data Types and Encapsulation Concepts
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
1 Announcements Research Paper due Monday November 22.
Databases Illuminated Chapter 7 The Object-Oriented Model.
Advanced Database CS-426 Week 13 – Object Relational Databases.
Chapter 4 Object and Object-Relational Databases (Part ½: Object-Oriented Concepts) Lecturer: H.Ben Othmen Department of Computer Science, Umm Al-Qura.
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
XML – Data Model, DTD and Schema
Object and object-relational databases 1. Object databases vs. Object-relational databases Object databases Stores complex objects – Data + functions.
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Programming Languages and Paradigms Object-Oriented Programming.
Chapter 24 Introduction to Object DBMSs Prepared by Kai Huang CS157B Prof Sin-Min Lee.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
11 1 Object oriented DB (not in book) Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel Learning objectives: What.
Chapter 21 A Object Data Model - Intro Copyright © 2004 Pearson Education, Inc.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Unified Modeling Language, Version 2.0
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.
Database Management COP4540, SCS, FIU Database Modeling A Introduction to object definition language (ODL)
Chapter 21 Object Database Standards, Languages, and Design Copyright © 2004 Pearson Education, Inc.
Fall 2010 CS4310 Requirements Engineering A Brief Review of UML & OO Dr. Guoqiang Hu Department of Computer Science UTEP 1.
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.
Copyright © 2004 Pearson Education, Inc.. Chapter 21 Object Database Standards, Languages, and Design.
Dale Roberts Object Oriented Programming using Java - Introduction Dale Roberts, Lecturer Computer Science, IUPUI Department.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
ITEC 3220A Using and Designing Database Systems Instructor: Gordon Turpin Course Website: Office: CSEB3020.
Object Relational Features
CS451 - Lecture 2 1 CS451 Lecture 2: Introduction to Object Orientation Yugi Lee STB #555 (816) * Acknowledgement:
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide Introduction Object Oriented (OO) Data Models since mid-90’s Reasons for creation of.
11-1 CHAPTER 11 Concepts for Object-Oriented Databases.
Object-Oriented Programming Chapter Chapter
ISBN Object-Oriented Programming Chapter Chapter
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 7 Object-Oriented Database.
The ODMG Standard for Object Databases
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Kyung Hee University Class Diagramming Notation OOSD 담당조교 석사과정 이정환.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
1 10 Systems Analysis and Design in a Changing World, 2 nd Edition, Satzinger, Jackson, & Burd Chapter 10 Designing Databases.
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
ISBN Chapter 12 Support for Object-Oriented Programming.
Chapter 11: Abstract Data Types Lecture # 17. Chapter 11 Topics The Concept of Abstraction Advantages of Abstract Data Types Design Issues for Abstract.
Concepts for Object Databases
CSE202 Database Management Systems
ODMG Object Model, Object Definition Language (ODL)
Object-Oriented Analysis and Design
Object-Oriented Database Management System (ODBMS)
Object – Oriented Databases
Chapter 12 Outline Overview of Object Database Concepts
ISC321 Database Systems I Chapter 10: Object and Object-Relational Databases: Concepts, Models, Languages, and Standards Spring 2015 Dr. Abdullah Almutairi.
4/27/2019.
Presentation transcript:

Object Oriented Databases - Overview ADVANCED DATABASES Object Oriented Databases - Overview Khawaja Mohiuddin Assistant Professor Department of Computer Sciences Bahria University (Karachi Campus) Khawaja.mohiuddin@bimcs.edu.pk https://sites.google.com/site/khawajamcs Contents for this lecture are taken from: Chapter 10 of “Database Systems: Models, Languages …”, 6th Ed.” by Elmasri and Navathe (Chapter 11 of “Fundamentals of Database Systems” 6th Ed. by Elmasri and Navathe)

Objectives To cover an overview of following concepts Object identity Type constructor Encapsulation of operations Programming language compatibility Type hierarchies and inheritance Extents Polymorphism and operator overloading

Object and Object-Relational Databases Object databases (ODB, previously called OODB) Object Data Management Systems (ODMS, previously called ODBMS or OODBMS Why: To cater the need for new data types for complex structures, for storing images, videos, or large textual items; longer-duration transactions, etc. To directly or seamlessly integrate with software that is developed using object-oriented programming languages. Specify: Structure of complex objects Operations that can be applied to these objects

Overview of Object Database Concepts Introduction to object-oriented concepts and features Origins in OO programming languages Object has two components: State (value) and behavior (operations) Instance variables Hold values that define internal state of object Operation is defined in two parts: Signature or interface and implementation

Overview of Object Database Concepts (cont’d.) Inheritance Permits specification of new types or classes that inherit much of their structure and/or operations from previously defined types or classes Operator overloading Operation’s ability to be applied to different types of objects Operation name may refer to several distinct implementations

Object Identity, and Objects versus Literals Unique identity Implemented via a unique, system-generated object identifier (OID) Immutable (can not be changed) Most OO database systems allow for the representation of both objects and literals (or values)

Complex Type Structures for Objects and Literals Structure of arbitrary complexity Contain all necessary information that describes object or literal Nesting type constructors Construct complex type from other types Most basic constructors: Atom: Includes basic built-in data types, such as integers, strings, floating point numbers, enumerated types, Booleans, and so on. Each value of the type is considered an atomic (indivisible) single value

Complex Type Structures for Objects and Literals (cont’d.) Struct (or tuple): Made up of several components, and is also sometimes referred to as a compound or composite type. Collection Allow part of an object or literal value to include a collection of other objects or values when needed.

Complex Type Structures for Objects and Literals (cont’d.) Collection types: Set - objects or literals that are a set of distinct elements {i1, i2, ..., in}, all of the same type Bag - similar to a set except that the elements in a bag need not be distinct List - an ordered list [i1, i2, ..., in] of OIDs or values of the same type Array - a fixed size, single-dimensional array of elements of the same type

Complex Type Structures for Objects and Literals (cont’d.) Collection types (cont’d): Dictionary - a collection of two tuples (K, V), where the value of a key K can be used to retrieve the corresponding value V Object definition language (ODL) Used to define object types for a particular database application

Encapsulation of Operations and Persistence of Objects Related to abstract data types and information hiding in programming languages Define behavior of a type of object based on operations that can be externally applied External users only aware of interface of the operations Divide structure of object into visible and hidden attributes

Encapsulation of Operations Object constructor Used to create a new object Destructor operation Used to destroy (delete) an object Modifier operations Modify the states (values) of various attributes of an object Retrieve information about the object Dot notation used to apply operations to object

Persistence of Objects Transient objects Exist in executing program Disappear once program terminates Persistent objects Stored in database and persist after program termination Naming mechanism (Involves giving an object a unique persistent name within a particular database) Reachability (by making the object reachable from some other persistent object. An object B is said to be reachable from an object A if a sequence of references in the database lead from object A to object B)

Persistence of Objects (cont’d.)

Type Hierarchies and Inheritance Definition of new types based on other predefined types Leads to type (or class) hierarchy Type: type name and list of visible (public) functions Format: TYPE_NAME: function, function, ..., function

Type Hierarchies and Inheritance (cont’d.) Subtype Useful when creating a new type that is similar but not identical to an already defined type Example: EMPLOYEE subtype-of PERSON: Salary, Hire_date, Seniority STUDENT subtype-of PERSON: Major, Gpa

Type Hierarchies and Inheritance (cont’d.) Extent Store collection of persistent objects for each type or subtype Extents are subsets of the extent of class OBJECT Persistent collection Stored permanently in the database Transient collection Exists temporarily during the execution of a program

Other Object-Oriented Concepts Polymorphism of operations Also known as operator overloading Allows same operator name or symbol to be bound to two or more different implementations Depending on type of objects to which operator is applied Can be compile time (static binding) or run time (dynamic binding) Multiple inheritance Subtype inherits functions (attributes and methods) of more than one supertype

Other Object-Oriented Concepts (cont’d.) Selective inheritance Subtype inherits only some of the functions of a supertype

Conclusion In this Lecture, we covered following topics Object identity Type constructor Encapsulation of operations Programming language compatibility Type hierarchies and inheritance Extents Polymorphism and operator overloading