(Ref: ODMG2.0, R Cattell et al, Morgan Kaufmann, 1997)

Slides:



Advertisements
Similar presentations
Why Object-Oriented DBMS? Abstract data types Interface with host programming language (the impedance mismatch). Object identity: (peter, 40, {(john, 15,
Advertisements

©Silberschatz, Korth and Sudarshan4.1Database System Concepts Lecture-1 Database system,CSE-313, P.B. Dr. M. A. Kashem Associate. Professor. CSE, DUET,
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
©Silberschatz, Korth and Sudarshan1.1Database System Concepts Chapter 1: Introduction Purpose of Database Systems View of Data Data Models Data Definition.
Object-Orientation in Query Languages By: Toan Nguyen Class: CS 157A.
Fall 2001Arthur Keller – CS 18015–1 Schedule Nov. 15 (TH) Object Queries (OQL). u Read Sections 9.1. Project Part 6 due on Sunday night. Nov. 20 (T) More.
Additional ODL Concepts OO Model to Relational Model Object-Relational Design OO vs OR.
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,
1 Announcements Research Paper due Monday November 22.
Databases Illuminated Chapter 7 The Object-Oriented Model.
Object and object-relational databases 1. Object databases vs. Object-relational databases Object databases Stores complex objects – Data + functions.
Database Design April 3, Projects, More Details Goal: build a DB application. (almost) anything goes. Groups of 3-4. End of week 2: groups formed.
Advanced Database CS-426 Week 2 – Logic Query Languages, Object Model.
1 Introduction to databases concepts CCIS – IS department Level 4.
Introduction to Databases
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.
Database Management COP4540, SCS, FIU Database Modeling A Introduction to object definition language (ODL)
Object Definition Language
By: Richard Fleischman & Sharon Young Advanced Data Models.
Object Definition Language
Database Design Why do we need it? – Agree on structure of the database before deciding on a particular implementation. Consider issues such as: –What.
© D. Wong Security and User Authorization in SQL 8.7 pp. 410  Authorization ID = user name  Special authorization ID: PUBLIC  Privileges for:
Object-Relational Model. Review: Data Models Hierarchical Network ER (Pure) Relational (Pure) Object-oriented (ODMG) Object-relational (since SQL:1999)
Copyright © 2016 Ramez Elmasri and Shamkant B. Navathe Chapter 12 Outline Overview of Object Database Concepts Object-Relational Features Object Database.
1 ODMG. 2 Object Database Management Group (ODMG) ODMG has been formed in late 1991 by: ObjectDesign, Ontos, O2 Technology, Versant, Objectivity, Digital.
Database System Concepts Introduction Purpose of Database Systems View of Data Data Models Data Definition Language Data Manipulation Language Transaction.
Databases Salihu Ibrahim Dasuki (PhD) CSC102 INTRODUCTION TO COMPUTER SCIENCE.
©Silberschatz, Korth and Sudarshan 1.1 Database System Concepts قواعد البيانات Data Base قواعد البيانات CCS 402 Mr. Nedal hayajneh E- mail
Introduction to Database Systems, CS420
Why Object-Oriented DBMS?
CS 325 Spring ‘09 Chapter 1 Goals:
Introduction to DBMS Purpose of Database Systems View of Data
Assignements.
Object-Oriented Databases and the ODMG Standard
Some Simple Design Modeling Techniques
Modeling Constraints Extracting constraints is what modeling is all about. But how do we express them? Examples: Keys: social security number uniquely.
Datab ase Systems Week 1 by Zohaib Jan.
Fundamentals of Database Design
Chapter 1: Introduction
Database Design Oct. 3, 2001.
Databases Chapter 16.
Database Design Why do we need it? Consider issues such as:
OBJECTS & DATABASES Arnaud Sahuguet – CIS-550.
Chapter 1: Introduction
The OO Solution The OO model closely resembles the problem domain
CS 480: Database Systems Lecture 5 January 25, 2013.
Exercise 1 Draw a UML class diagram that represents a travel agency's ticketing information. In this diagram, you should represent the concept of a person,
ER MODEL Lecture 3.
Chapter 12 Outline Overview of Object Database Concepts
The OO Solution The OO model closely resembles the problem domain
Introduction to Database Systems
Lecture 4: Database Modeling (continued)
11. שפות ODL ו-OQL ותכנון מכוון עצמים
Entity – Relationship Model
ISC321 Database Systems I Chapter 10: Object and Object-Relational Databases: Concepts, Models, Languages, and Standards Spring 2015 Dr. Abdullah Almutairi.
name category name price makes Company Product stockprice buys employs
Object Definition Language
Introduction to DBMS Purpose of Database Systems View of Data
Lecture 5: The Relational Data Model
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 1: Introduction
Chapter 15: Object-Oriented Database Development
Chapter 1: Introduction
CSC Database Management Systems
Introduction to Object-Oriented Software Development
Chapter 1: Introduction
childOf Children motherOf parentOf Persons Mother fatherOf
Presentation transcript:

(Ref: ODMG2.0, R Cattell et al, Morgan Kaufmann, 1997) CIS 550 -- Fall ‘99 Handout 5a Notes on ODL (Ref: ODMG2.0, R Cattell et al, Morgan Kaufmann, 1997) CIS550 Handout 5a

ODL Object Definition Language (ODL): an object-oriented approach to database design A proposal from ODMG (somewhat volatile, and influenced by Java) Like the E-R model it starts from the premise that a database consists of objects (or entities) and relationships between objects (entities) CIS550 Handout 5a

ODL What are the objects (or observable entities) in my database? How can “similar” objects be grouped together into classes? Objects are similar are they have the same properties: attributes (values of various types) relationships to other objects methods, or functions that can be performed on an object CIS550 Handout 5a

Interface Declaration To specify a class, we use an “interface declaration” which describes the properties of object in the class. EXAMPLE: Airline Reservation Application Such an application might contain information about passengers and flights between various cities. The application is used to book reservations for passengers on flights, to determine the passenger list for a flight, etc. CIS550 Handout 5a

Example: Passengers class Passenger (extent passengers key name, phone) { attribute string name; attribute string phone; attribute struct {string street, string city} address; struct {string number, date exp} credit-card; relationship SET<Flight> reservation method bool expired}; CIS550 Handout 5a

Example: Flights class Flight (extent flights, key airline, flight-no,departure) { attribute string airline; attribute string flight-no; attribute Date departure; attribute Date arrival; relationship SET<Passenger> passenger-list method integer num-passengers}; CIS550 Handout 5a

Constraints on relationships Inverse constraints. In our example, we would expect that if passenger X had a reservation on flight F, then X would be in the passenger-list for F. This is a many-many relationship SET<Flight> reservation interface Passenger … {... relationship inverse Flight :: passenger-list; …}; interface Flight … {… relationship SET<Passenger> passenger-list inverse Passenger :: reservation; …}; CIS550 Handout 5a

many-one: we could also model Planes as follows Why not use an attribute? class Plane ...{ attribute string make; attribute integer model-no; attribute integer id-no; relationship SET<Flight> used-for;}; interface Flight ... { … relationship Plane equipment; …}; CIS550 Handout 5a

Attributes and Types E.g. if we were modeling a Book we might say Unlike the relational model (atomic types), ODL types are built from atomic types, interface types, using type constructors Set<...>, Bag<...>, List<...>, Struct<...>. E.g. if we were modeling a Book we might say class Book … {... attribute List<string> authors; ...}; CIS550 Handout 5a

ODL: Subclasses class Person (extent persons key SS) { attribute string name; attribute string SS}; class Male: Person { attribute integer num_tools; relationship Female wife inverse Female::husband}; class Female: Person{ attribute integer num_shoes; relationship Male husband inverse Male:: wife}: CIS550 Handout 5a

Differences between O2 DDL and ODL ODL is based on Java/OMG IDL (mostly syntax) Following Java, one can also define interfaces. Extents are supported Keys are supported Inverse relationships are supported CIS550 Handout 5a