ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.

Slides:



Advertisements
Similar presentations
Object Oriented Database Group 4 Mathieu Metz Palani Kumaresan Napa Gavinlertvatana Kristine Pei Keow Lee Prabhu Ramachandran.
Advertisements

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.
Object Databases Baochuan Lu. outline Concepts for Object Databases Object Database Standards, Languages, and Design Object-Relational and Extended-Relational.
Databases CIS 422. Lifetime of Data Transient results to the evaluations of expression Variables involved in procedure activation Global variables Dynamically.
--The Object Database--1 The Object Database  Object databases integrate database technology with the object-oriented paradigm  In object databases,
Object-Oriented Standards OMG OMDG. Overview Object Management Group (OMG) International non profit-making consortium founded in 1989 to address object.
Programs with SQL Host language + Embedded SQL Preprocessor Host Language + function calls Host language compiler Host language program Preprocessor Host.
Other Data Models. Text New edition (DBS the complete book): Chapter 4 Old edition (First course in DBS): –Section 2.1 –Section –Section 2.4.1,
Object Oriented Databases - Overview
Chapter Implementation Faithful translation of a design into a target environment Design should be free of target-environment dependencies Should.
July 13, 2015ADBS: OODB1 Concepts for Object-Oriented Databases Chapter 20.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Slide
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.
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-Oriented Database Design using UML and ODMG
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
Enhanced Entity Relationship Modeling © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Enhanced Entity Relationship Modeling Susan D. Urban and.
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.
Object Query Language (OQL) and Language Binding
Agenda  TMA03  M877 Block 3 Databases with Objects.
1 Introduction to databases concepts CCIS – IS department Level 4.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
ORDBS1 Object Relational Database Systems: 1. Introduction 2. Objects in SQL3 3. Comparison of ODL/OQL and SQL3 Approaches CIS 671.
Chapter 21 A Object Data Model - Intro Copyright © 2004 Pearson Education, Inc.
Seminar #: 9 (Object Oriented Database Schema in ODL) Advanced Databases (CM036) 1 Seminar 9 : OODB Schema in ODL Purpose To understand how an OODB is.
Object-Oriented Database Management Systems (ODBMS)
Chapter 2: Object Model Prof. Hyoung-Joo Kim OOPSLA Lab. Dept. of Computer Engineering Seoul National Univ.
ADVANCED DATABASE SYSTEMS DR. FATEMEH AHMADI- ABKENARI SEPTEMBER Object Databases.
1 Advanced Databases – Lecture # 11 Object-Oriented Databases Advanced Databases Object Oriented Databases School of Informatics Akhtar Ali.
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.
Unified Modeling Language © 2002 by Dietrich and Urban1 ADVANCED DATABASE CONCEPTS Unified Modeling Language Susan D. Urban and Suzanne W. Dietrich Department.
Chapter 3 Object Specification Languages Prof. Hyoung-Joo Kim OOPSLA Lab. Dept. of Computer Engineering Seoul National Univ.
1 Advanced Databases (CM036) – Lecture # 12: The ODMG Standard for Object Databases Object Query Language (OQL) & Language Binding Advanced Database Technologies.
Object Definition Language
1 CS457 Object-Oriented Databases Chapters as reference.
Scaling Heterogeneous Databases and Design of DISCO Anthony Tomasic Louiqa Raschid Patrick Valduriez Presented by: Nazia Khatir Texas A&M University.
Databases Illuminated
CSE 6331 © Leonidas Fegaras OODB1 Object-Oriented Databases and the ODMG Standard.
Database Design Why do we need it? – Agree on structure of the database before deciding on a particular implementation. Consider issues such as: –What.
Object Relational Features
11-1 CHAPTER 11 Concepts for Object-Oriented Databases.
© D. Wong Security and User Authorization in SQL 8.7 pp. 410  Authorization ID = user name  Special authorization ID: PUBLIC  Privileges for:
Seminar #: 10 (Object Oriented Database Design) Advanced DB Technologies (CG096) 1 Seminar 10 : OODB Design Purpose To understand how an OODB is structured.
AND OBJECT-ORIENTED DATABASES OBJECT-RELATIONAL DATABASES.
Copyright © 2007 Ramez Elmasri and Shamkant B. Navathe Chapter 7 Object-Oriented Database.
The ODMG Standard for Object Databases
Seminar #: 10a (Object Oriented Database Design) Advanced Databases (CM036) 1 Seminar 10a : OODB Design Purpose This seminar is the continuation of seminar.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Object oriented DataBase Prof. Sin-Min Lee Department of Computer Science.
1 Advanced Databases – Lecture # 12: The ODMG Standard for Object Databases Advanced Databases The ODMG Standard for Object Databases.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
1 ODMG: ODL and OQL This lecture is a short version of: Lecture 11 (on ODL) & Lecture 12 (on OQL) M. Akhtar Ali School of Informatics.
Faeez, Franz & Syamim.   Database – collection of persistent data  Database Management System (DBMS) – software system that supports creation, population,
OOPSLA Lab1 Chapter 7 Java Binding Prof. Hyoung-Joo Kim OOPSLA Lab. Dept. of Computer Engineering Seoul National University.
Object-Oriented Databases (chapter 2/3) Object Persistence - Introduction Persistent Programming Languages Specifying Object Persistence via Naming and.
Chapter 21 Object Database Standards, Languages, and Design Copyright © 2004 Pearson Education, Inc.
ODMG Object Model, Object Definition Language (ODL)
Advanced Databases Object Oriented Databases
Database Design Why do we need it? Consider issues such as:
OBJECTS & DATABASES Arnaud Sahuguet – CIS-550.
Seminar 10 : OODB Design (Self-Study)
Object – Oriented Databases
Seminar 6 : OODB Schema in ODL
Chapter 12 Outline Overview of Object Database Concepts
Object Database Standards, Languages, and Design
Presentation transcript:

ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer Science and Engineering Arizona State University Tempe, AZ

ODMG Standard: Object Model2 OUTLINE Purpose of ODMG Components of ODMG Basic Modeling Concepts

ODMG Standard: Object Model3 CURRENT STATE OF OBJECT MODELS Unlike the relational model, commercial OODB's were developed before any formal, standard basis was established for object models. A proliferation of commercial tools with some similarities and also with differences. Makes portability difficult. Has been difficult to establish a standard approach to query languages for OODB's with formal semantics to support query optimization.

ODMG Standard: Object Model4 STANDARDS OF OBJECT MODELS Standards for object models are now being developed to promote portability and interoperability between tools. The Object Data Management Group Standard (ODMG). The Object Management Group Standard (OMG). SQL99 Standard (Extended Relational).

ODMG Standard: Object Model5 THE ODMG STANDARD Purpose Major goal is to establish standards that allow OODB customers to write portable applications that can run on more than one OODB product. Supported by major OODB vendors and users. The data schema, programming language binding, and data manipulation and query language must be portable. Differences will always exist in performance, languages supported, specific functionality (e.g., versioning), programming environments, application construction tools, networking, predefined libraries, etc.

ODMG Standard: Object Model6 THE ODMG STANDARD Components Major components of the standard include: An Object Model - Defines the basic components of an object model. An Object Definition Language - Defines a data definition language, known as ODL (for Object Definition Language). An Object Query Language - Defines a declarative object query language (OQL) for querying and updating objects. OQL has an extended SQL flavor.

ODMG Standard: Object Model7 THE ODMG STANDARD Programming Languages Support A C++ Language Binding - Supports portable C++ code for manipulating objects. The language is called the C++ Object Manipulation Language (OML). A Smalltalk Language Binding - Have drafted similar bindings to support the development of portable code in Smalltalk. A Java Language Binding – Java bindings are now available.

ODMG Standard: Object Model8 USING THE ODMG STANDARD

ODMG Standard: Object Model9 BASIC MODELING CONCEPTS Basic modeling primitives are the object (has a unique object identifier - OID) and the literal (has no identifier). An OID is immutable (the value of an OID for a particular object cannot change). Objects are categorized into types. A type has an interface (properties and operations). A type has one or more implementations. An implementation defines data structures (physical representations of objects) and/or methods. Behavior of objects is defined by a set of operations.

ODMG Standard: Object Model10 OBJECT PROPERTIES Object states are defined by properties, which are: attributes (string, integer, etc. as values, including objects), or relationships (other objects as values with inverse traversal path specified and integrity maintained by the db) The state of an object is mutable (the value of attributes and relationships can change).

ODMG Standard: Object Model11 TYPES AND EXTENTS Types are objects and thus have properties: Supertypes and subtypes The subtypes of a supertype can define additional operations and properties. Subtypes can refine properties and operations. Supports multiple inheritance. Extents The set of all instances of a type. Can optionally request that the system maintain the extent automatically.

ODMG Standard: Object Model12 OBJECT CLASSES A type interface plus an implementation defined for the type is a class. A class in ODMG is similar to a class in C++. C++ classODMG class a public part attributes and relationships a private part implementation A class can define keys. Same as in the relational model. Single keys or composite keys.

ODMG Standard: Object Model13 THE ODMG BUILT-IN TYPE HIERARCHY Object Atomic Object Collection, Set, Bag, List Array. Structured_literal Date, Time, Timestamp, Interval, Structure <> Literal Atomic_Literal Long, Short, Unsigned long, Unsigned short, Float, Double, Boolean, Char, Octet, String, Enum <> Collection_literal Set, Bag, List, Array Structured_literal Date, Time, Timestamp, Interval, Structure <>

ODMG Standard: Object Model14 NAMING AND LIFETIME Objects can have names (i.e., meaningful or logical OID's). Names can also be viewed as handles that allow users to easily reference a specific object. Objects have lifetimes. transient (allocated in memory only) persistent (stored on disk)

ODMG Standard: Object Model15 ODL SYNTAX SUMMARY FOR CLASSES class c_name [extends superclass_name] (extent extent_name keykey_name ) { attribute attribute_name; … relationship relation_name inverse ; … method_definitions; }

ODMG Standard: Object Model16 HOLLYWOOD SCHEMA IN ODL class Person class Person (extent persons key ssn) { attribute string ssn; attribute string name; attribute string gender; attribute string phone; attribute string address; relationship Person isMarriedTo inverse … ; void createPerson(in string ssn, in string name, in string gender, in string phone, in string address); void deletePerson();... }

ODMG Standard: Object Model17 HOLLYWOOD SCHEMA IN ODL class Celebrity class Celebrity extends Person (extent celebrities) { attribute date birthDate; relationship Agent agent inverse Agent::celebrities; void createCelebrity(in string ssn, in string name, in string gender, in string phone, in string address, in date birthDate); void deleteCelebrity();... }

ODMG Standard: Object Model18 INHERITANCE OF STATE VS. INHERITANCE OF BEHAVIOR Classes in ODMG 2.0 are types that can be directly instantiated. The extends relationship represents inheritance of state and behavior, where the subordinate class inherits all of the properties and behavior of the class that it extends. Interfaces can be used to define types that cannot be directly instantiated. Interfaces are used to define the inheritance of behavior only. Interfaces may inherit from other interfaces (is-a relationship). Classes may inherit from interfaces (is-a relationship). Classes may inherit from other classes (the extends relationship). Interfaces may not inherit from classes.

ODMG Standard: Object Model19 SUMMARY OF SYNTAX FOR INTERFACE CLASSES interface i_name { methodDefinitions … } class c_name [extends superClass]: i_name ( …) {… }