The ODMG Standard 2.0 Focusing On The ODMG Object Model Group Members: Christopher Parrott, Christopher Sinclair, David Tucker & Andrew Wan Presentation.

Slides:



Advertisements
Similar presentations
OO databases 1 Object Oriented databases. OO databases 2 Developing OODBMS - motivation motivation more and more application areas require systems that.
Advertisements

Introduction to Databases
Management Information Systems, Sixth Edition
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 8 Slide 1 System models.
File Systems and Databases
Object-Oriented Standards OMG OMDG. Overview Object Management Group (OMG) International non profit-making consortium founded in 1989 to address object.
Organizing Data & Information
Object Oriented Databases - Overview
Database Administration Part 1 Chapter Six CSCI260 Database Applications.
Copyright © 2011 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 11 Object and Object- Relational Databases.
Mgt 20600: IT Management & Applications Databases Tuesday April 4, 2006.
Object-Oriented Methods: Database Technology An introduction.
Dr. Kalpakis CMSC 461, Database Management Systems Introduction.
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.
Database Management COP4540, SCS, FIU An Introduction to database system.
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
Chapter 1 Database Systems. Good decisions require good information derived from raw facts Data is managed most efficiently when stored in a database.
What is a Database? A database is any collection of data.
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.
Week 1 Lecture MSCD 600 Database Architecture Samuel ConnSamuel Conn, Asst. Professor Suggestions for using the Lecture Slides.
© D. Wong 2002 © D. Wong CS610 / CS710 Database Systems I Daisy Wong.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
 Introduction Introduction  Purpose of Database SystemsPurpose of Database Systems  Levels of Abstraction Levels of Abstraction  Instances and Schemas.
Chapter 4 System Models A description of the various models that can be used to specify software systems.
 DATABASE DATABASE  DATABASE ENVIRONMENT DATABASE ENVIRONMENT  WHY STUDY DATABASE WHY STUDY DATABASE  DBMS & ITS FUNCTIONS DBMS & ITS FUNCTIONS 
Management Information Systems By Effy Oz & Andy Jones
Chapter 7: Database Systems Succeeding with Technology: Second Edition.
CHAPTER 8: MANAGING DATA RESOURCES. File Organization Terms Field: group of characters that represent something Record: group of related fields File:
Chapter 1 : Introduction §Purpose of Database Systems §View of Data §Data Models §Data Definition Language §Data Manipulation Language §Transaction Management.
Introduction to Database Management Systems. Information Instructor: Csilla Farkas Office: Swearingen 3A43 Office Hours: M,T,W,Th,F 2:30 pm – 3:30 pm,
Oleh Munawar Asikin. Principles of Information Systems, Seventh Edition 2  Database management system (DBMS): group of programs that manipulate database.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
1.file. 2.database. 3.entity. 4.record. 5.attribute. When working with a database, a group of related fields comprises a(n)…
Principles of Information Systems, Sixth Edition Organizing Data and Information Chapter 5.
McGraw-Hill/Irwin Copyright © 2013 by The McGraw-Hill Companies, Inc. All rights reserved. Chapter 5 Data Resource Management.
5 - 1 Copyright © 2006, The McGraw-Hill Companies, Inc. All rights reserved.
Lesson Overview 3.1 Components of the DBMS 3.1 Components of the DBMS 3.2 Components of The Database Application 3.2 Components of The Database Application.
Database Systems DBMS Environment Data Abstraction.
Introduction to Database Systems1. 2 Basic Definitions Mini-world Some part of the real world about which data is stored in a database. Data Known facts.
Introduction to Database Management Systems. Information Instructor: Csilla Farkas Office: Swearingen 3A43 Office Hours: Monday, Wednesday 2:30 pm – 3:30.
Scaling Heterogeneous Databases and Design of DISCO Anthony Tomasic Louiqa Raschid Patrick Valduriez Presented by: Nazia Khatir Texas A&M University.
Programming Logic and Design Fourth Edition, Comprehensive Chapter 16 Using Relational Databases.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 8 Slide 1 System models.
Lection №4 Development of the Relational Databases.
The ODMG Standard for Object Databases
Data Design and Implementation. Definitions Atomic or primitive type A data type whose elements are single, non-decomposable data items Composite type.
Copyright (c) 2014 Pearson Education, Inc. Introduction to DBMS.
Chapter 18 Object Database Management Systems. Outline Motivation for object database management Object-oriented principles Architectures for object database.
The Object-Oriented Database System Manifesto Malcolm Atkinson, François Bancilhon, David deWitt, Klaus Dittrich, David Maier, Stanley Zdonik DOOD'89,
Object-Oriented Design Concepts University of Sunderland.
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
LECTURE TWO Introduction to Databases: Data models Relational database concepts Introduction to DDL & DML.
Data Models. 2 The Importance of Data Models Data models –Relatively simple representations, usually graphical, of complex real-world data structures.
OOPSLA Lab1 Chapter 7 Java Binding Prof. Hyoung-Joo Kim OOPSLA Lab. Dept. of Computer Engineering Seoul National University.
Introduction to DBMS Purpose of Database Systems View of Data
An Introduction to database system
Object-Oriented Database Management System (ODBMS)
Chapter 12 Outline Overview of Object Database Concepts
Introduction to Database Systems
File Systems and Databases
Chapter 5 Data Resource Management.
Introduction to Database Management Systems
Introduction to DBMS Purpose of Database Systems View of Data
Database System Concepts and Architecture
Presentation transcript:

The ODMG Standard 2.0 Focusing On The ODMG Object Model Group Members: Christopher Parrott, Christopher Sinclair, David Tucker & Andrew Wan Presentation Presenters: Christopher Parrott & Christopher Sinclair

Introduction ODMG (Object Data Management Group) formed in 1991.ODMG (Object Data Management Group) formed in Independent organisation to standardise Object Oriented Database Management Systems.Independent organisation to standardise Object Oriented Database Management Systems. Corporate members includes Sun, Poet & Computer Associates.Corporate members includes Sun, Poet & Computer Associates. ODMG covers following key areas:ODMG covers following key areas:  Object Model (OM)  Object Definition Language (ODL)  Object Query Language (OQL)  C++, Java & Smalltalk Bindings.

The Object Model About ODMG Object ModelAbout ODMG Object Model Database TypesDatabase Types  Specifications & Implementations Object type definition consists of two components, they are Interface & one or more Implementations.Object type definition consists of two components, they are Interface & one or more Implementations. Type Specification

Objects Object IdentifiersObject Identifiers Object LifetimeObject Lifetime CollectionsCollections Collection ObjectsCollection Objects Set ObjectsSet Objects Bag ObjectsBag Objects List ObjectsList Objects Array ObjectsArray Objects Dictionary ObjectsDictionary Objects

Objects Literal Values.Literal Values.  ODMG model supports several literal types: AtomicAtomic CollectionCollection StructuredStructured Object HierarchyObject Hierarchy

Modelling State IntroductionIntroduction  Provides description of data structure & relates interfaces to a set of object types in a type hierarchy. Object Type InterfacesObject Type Interfaces  Describes how data can be stored & relations to other types of data. Type diagram of object type definition

Modelling State Attributes & RelationshipsAttributes & Relationships  One To One  One To Many  Many To Many NamesNames Examples Of Relationships Representation of how object names can be used names can be used to represent entities with shared components

Modelling State MetadataMetadata  Descriptive information about persistent objects that defines the ‘schema’.  Used by ODBMS to define structure.  Metadata is stored in an ‘ODL Schema Repository’.  Considered important for object oriented database systems. Example of a operation that returns the class of an object.Example of a operation that returns the class of an object. Above operation will store description of employee class.Above operation will store description of employee class. EmployeeMetaData is used to print the employee’s name as the getName function is part of the employee class.EmployeeMetaData is used to print the employee’s name as the getName function is part of the employee class. EmployeeMetaData = William->getClass( ) EmployeeName = EmployeeMetaData ->getName( )

Modelling Behaviour IntroductionIntroduction  Object’s behaviour is defined by its set of operations.  Operation has its specific type defined. OperationsOperations  Described as a piece of code fragment.  Manipulates the properties and data of object. ExceptionsExceptions

Concurrency & Transaction Control ODMG view on locking & Concurrency ControlODMG view on locking & Concurrency Control Locking ControlLocking Control Types of locksTypes of locks  Read Locks  Write Locks  Upgrade Locks Prevention against form of deadlock when two processes both obtain read locks on object then attempt to obtain a write lock on the same object.Prevention against form of deadlock when two processes both obtain read locks on object then attempt to obtain a write lock on the same object. Deadlock avoided initially by obtaining upgrade lock instead of read locks for all objects user intends to modify.Deadlock avoided initially by obtaining upgrade lock instead of read locks for all objects user intends to modify. Avoids potential conflicts when write lock is later obtained.Avoids potential conflicts when write lock is later obtained.

Concurrency & Transaction Control Lock DurationLock Duration Concurrency ControlConcurrency Control TransactionsTransactions  All programs that implements persistent objects must be organised into transactions.  Once transaction commits, ODBMS guarantees changes made by transaction are never lost.  ODMG data supports traditional ACID (Atomicity, Consistency, Integrity & Durability).  Transactions are started with begin command, similar to new command when creating objects.  Transactions can be initiated & started explicitly.

Concurrency & Transaction Control Event ManagementEvent Management Managing Logical DatabasesManaging Logical Databases  ODBMS can manage one or more logical databases. All of these logical databases are instances of type database.  Instances of type database created using DatabaseFactory interface.  Query identifies part of data explicitly by naming or by specifying conditions.  Database type also supports operations designed to aid the administration of the whole system. Such operations include: DeleteDelete MoveMove CopyCopy BackupBackup Restore all of which to keep database in ‘Good Order’Restore all of which to keep database in ‘Good Order’

Object Specification Languages About Object Specification LanguagesAbout Object Specification Languages  Used in representation of ODMG compliant object database management systems.  Composed of independent languages used in the definition of schemas.  Objectives of these independent languages are: Provide portability of databases across ODMG compliant implementations.Provide portability of databases across ODMG compliant implementations. Interoperability of OODMS from different & multiple vendors.Interoperability of OODMS from different & multiple vendors.  One of main OSL languages is ODL (Object Definition Language), there is also OIF (Object Interchange Format).

Object Query Language About Object Query LanguagesAbout Object Query Languages  Developed by ODMG for use with ODMG databases.  Language Provides mechanism by which user can request a subset of data from a database, such requests referred to as ad hoc.  Object Query Language (OQL) is part of the SQL family of languages.  Contains query syntax from SQL such as: ‘Select… From… Where…’‘Select… From… Where…’

Bindings The idea of BindingsThe idea of Bindings  Binding creates association between run-time system of programming language & the persistent store of database system.  Usually takes the form of library functions which access the DBMS functionality.  ODMG standard implements bindings based on one fundamental principle: “The programmer should perceive the binding as a single language for expressing both database & programming operations, not two separate languages with arbitrary boundaries between them”. ODMG 2.0, 1997“The programmer should perceive the binding as a single language for expressing both database & programming operations, not two separate languages with arbitrary boundaries between them”. ODMG 2.0, 1997

Literature Review Alagic, SuadAlagic, Suad1996/1997 The ODMG Object Model: Does it Make Sense? OOPSLA (ACM Conference on Object-Oriented Programming, Systems, Languages, and Applications) USA Chaudhri, Akmal B.Chaudhri, Akmal B.1997 Experiences Using Object Data Management In the Real World OOPSLA 1997 Workshop

The New ODMG 3.0 Standard What's new in the ODMG 3.0 StandardWhat's new in the ODMG 3.0 Standard Object ModelObject Model

Conclusions The ODMG standard & Its Real World Application.The ODMG standard & Its Real World Application. Conclusions & Criticisms of the ODMG Object Model.Conclusions & Criticisms of the ODMG Object Model.  ODMG model requires careful examination before it is accepted.  Not yet industry standard.  Type checking system in ODMG model is not perfect. Dynamic type checking used, but will always be in situations where it fails.Dynamic type checking used, but will always be in situations where it fails. Means that run-time checks will have to be used.Means that run-time checks will have to be used. Reduces Efficiency & Reliability of overall system.Reduces Efficiency & Reliability of overall system.  Parametric types not supported in current issue of the object model. Except in C++ BindingsExcept in C++ Bindings

Conclusions  Lack of “self” type.  Complaints towards ODMG model relate to the fact that it is not a formal, mathematical model.  ODGM model does have problems, but the model itself is still work in progress.  Most likely to be adjusted to solve some of the major weaknesses in current version.

The ODMG Standard 2.0 Focusing On The ODMG Object Model Group Members: Christopher Parrott, Christopher Sinclair, David Tucker & Andrew Wan Presentation Presented By: Christopher Parrott & Christopher Sinclair Any Questions? Any Questions? End Of Presentation