Database Management COP4540, SCS, FIU Database Modeling A Introduction to object definition language (ODL)

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

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.
ODMG Standard: Object Model1 OBJECT-ORIENTED DATABASE SYSTEMS ODMG Standard: Object Model Susan D. Urban and Suzanne W. Dietrich Department of Computer.
Winter 2002Arthur Keller – CS 18015–1 Schedule Today: Feb. 28 (TH) u Datalog and SQL Recursion, ODL. u Read Sections , Project Part 6.
Object-Orientation in Query Languages By: Toan Nguyen Class: CS 157A.
SLIDE 1IS 257 – Spring 2004 Object-Oriented Database Development (Hoffer Chap 15) University of California, Berkeley School of Information.
Additional ODL Concepts OO Model to Relational Model Object-Relational Design OO vs OR.
Chapter 15 (Web): Object-Oriented Database Development
Object-Oriented Standards OMG OMDG. Overview Object Management Group (OMG) International non profit-making consortium founded in 1989 to address object.
CS 104 Introduction to Computer Science and Graphics Problems Introduction to Database (2) Basic SQL 12/05/2008 Yang Song.
1 Other High-Level Design Languages Unified Modeling Language Object Description Language.
© 2007 by Prentice Hall 1 Chapter 15 (Web): Object-Oriented Database Development Modern Database Management 8 th Edition Jeffrey A. Hoffer, Mary B. Prescott,
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
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.
Object-Oriented Database Design using UML and ODMG
EER vs. UML Terminology EER Diagram Entity Type Entity Attribute
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.
CIS 671OODBs1 Lecture 3 Object database standards, languages and design.
DBMS Lecture 9  Object Database Management Group –12 Rules for an OODBMS –Components of the ODMG standard  OODBMS Object Model Schema  OO Data Model.
Why Object-Oriented DBMS? Abstract data types (relational data model is too simple). Interface with host programming language Managing large number of.
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.
Chapter 20 Concepts for Object-Oriented Databases Copyright © 2004 Pearson Education, Inc.
Database Management COP4540, SCS, FIU Relational Model Chapter 7.
Chapter 2: Object Model Prof. Hyoung-Joo Kim OOPSLA Lab. Dept. of Computer Engineering Seoul National Univ.
Chapter 21 Object Database Standards, Languages, and Design Copyright © 2004 Pearson Education, Inc.
Object Definition Language
Object Definition Language
Databases Illuminated
Copyright © 2004 Pearson Education, Inc.. Chapter 21 Object Database Standards, Languages, and Design.
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.
Slide Chapter 3 Data Modeling Using the Entity- Relationship (ER) Model.
Chapter 2 Object-Relational DBMSs Chapter 28 in Textbook.
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
OOPSLA Lab.1 Chapter 6 Smalltalk Binding Prof. Hyoung-Joo Kim OOPSLA Lab. Dept. of Computer Engineering Seoul National University.
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.
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.
CSE202 Database Management Systems
Why Object-Oriented DBMS?
ODMG Object Model, Object Definition Language (ODL)
Object-Oriented Databases and the ODMG Standard
Database Design Oct. 3, 2001.
Database Design Why do we need it? Consider issues such as:
Object – Oriented Databases
Seminar 6 : OODB Schema in ODL
Object-Relational DBMSs
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.
Object Definition Language
Chapter 15: Object-Oriented Database Development
Object-Oriented DBMS’s
Presentation transcript:

Database Management COP4540, SCS, FIU Database Modeling A Introduction to object definition language (ODL)

Database Management COP4540, SCS, FIU Object-oriented database systems New data types and classes are introduced –Record Structure, collection type, reference type –Class hierarchies and inheritance Data are grouped in objects –Object Identity (OID) Why object-oriented? –More powerful expressiveness –High reusability of schemas –Less misuse of data

Database Management COP4540, SCS, FIU ODMG Standard ODMG (Object Data Management Group) –A consortium of OODBMS vendor Several parts –Object Model –Object Definition Language –Object Query Language –Binding to OO programming language

Database Management COP4540, SCS, FIU Overview of Object Model (1) Objects and Literal –Basic building blocks of the object model. –The key difference: Object Identifier. Built-in Interface for Collection Objects –Set no multiple occurrence allowed –List the order is important –Bag multi-set –Array the size is fixed –Dictionary a collection of association pairs

Database Management COP4540, SCS, FIU Interface, Classes, and Inheritance –The similar concept can be found in C++/JAVA. –Interface: non-instantiable –Class:instantiable –Question: what are the corresponding concepts in C++ and Java? –Inheritance Behavior inheritance: supertype should be an interface. EXTENDS: both supertype and subtype must be classes. Multiple inheritance is allowed only for behavior inheritance. Overview of Object Model (2)

Database Management COP4540, SCS, FIU Extents, Keys –declare an extent for any object type that is defined via a class declaration, and it will contain all persistent objects of the class. –Extents are also used to automatically enforce the set/subset relationship between the extents of a supertype and its subtype. –A class with an extent can have one or more keys. Simple key composite key (compound key). Overview of Object Model (2)

Database Management COP4540, SCS, FIU Object Definition Language (ODL) A proposed standard language for specifying the structure in OO terms. It is independent of any particular programming language. An extension to IDL, which is a component of CORBA. A kind of data definition language at conceptual level. Abstract ODL Relational Design C++ Smalltalk RDBMS C++ Based OODBMS Smalltalk-Based OODBMS

Database Management COP4540, SCS, FIU Basic Declarations in ODL ODL class declarations class (extent key … { }; Element declarations attribute ; relationship ;

Database Management COP4540, SCS, FIU Relationships in ODL A way to connect objects in the database, either from same class or different classes. Inverse relationship Multiplicity of relationships –one to one –many to one (one to many) –many to many

Database Management COP4540, SCS, FIU Method Example float gpa (in: Student) raises (noGrades) float = return type in: indicate Student argument is read-only –Other options: out, inout noGrades is an exception that can be raised by method gpa.

Database Management COP4540, SCS, FIU Types in ODL Basic types –integer, real/float, string, enumerated types and classes. Type constructors –Four basic collection types: Set:Set Bag:Bag List:List Array:Array –Struct for Structures: Struct N { T 1 F 1, T 2 F 2, …, F n T n )

Database Management COP4540, SCS, FIU Additional Notes on Types Structured types have names and bracketed lists of field-type pairs. Enumerated types have names and bracketed lists of values. An element from another class is indicated by: ::

Database Management COP4540, SCS, FIU Additional Notes on Types Limitation on nesting class Relationship collection Attribute basic, no class struct collection

Database Management COP4540, SCS, FIU An Example class Beers (extent all_beers) { attributestring name; attributestring manufacturer; attribute integer price; relationship set servedAt inverse Bar::serves; relationship set fans inverse Drinkers::likes; }; class Bars (extent all_bars) { attributestring name; attributestruct Add {string street, string city, integer zip} address; attribute enum Lic {full, beer, none} licenseType; relationship set customers inverse Drinkers::frequents; relationship set servers inverse Beers::servedAt; }; class Drinkers (extent all_drinkers) { attributestring name; attributestruct Bars::Addr address; relationship set likes inverse Beers::fans; relationship set frequents inverse Bars::customers; };

Database Management COP4540, SCS, FIU Another Example class Person (extent persons key ssn) { attributestruct Pname {string fname, string lname, string lname} name; attributestring ssn; attribute date birthdate; attributeenum Gender{F, M} sex; abbribute struct Add {short no, string street, short aptno, string city, string state, short zip} address; short age(); }; class Student extends Person (extent students) { attributestring class; relationship Department majors_in inverse Department::has_majors; voidchange_major(in string dname) raises(dname_not_valid) };