Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.

Similar presentations

Presentation on theme: "Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database."— Presentation transcript:

1 Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database Management Systems, Fall 2003 Week 15 (11/24, 11/26/03) Lecture Notes

2 Outline for today 11/24/03 Objectives Introduction Need for OO/OR-DBMS OO Fundamentals How (OO)DBMS incorporates OO ideas Database Modeling/Querying Conclusions OODBMSORDBMS ConceptualODL/UMLEER/PEER

3 Outline for next class 11/26/03 Objectives ORDBMS Fundamentals How ORDBMS incorporates OO ideas Mapping Conceptual Model into Logical Model OQL vs. SQL-99 Comparison of OODBMS and ORDBMS Conclusions

4 Learning Objectives Basic concepts of OO and OR models Extensions at conceptual modeling Mapping Conceptual Model into Logical Model Exposure to additional features in SQL:1999 standard. Ability to model and implement a broader class of applications (spatial, multimedia, engineering, biological, scientific, …)

5 Introduction Why OODBMS? Let us start with modeling this simple example in a RDBMS Assume that we are given the following diagram 0,

6 Introduction – Motivating Example Our objective is to store this graph in a RDBMS and support queries on these simple geometries What kind of relations we need? Print names of rectangles which are squares Find all objects which are inside the rectangle 7. 0,

7 Introduction – Motivating Example Relations POINT(pname, x, y), EDGE(ename, aPoint), RECTANGLE(rname, anEdge). 0, r5e1 r5e2 r5e3 r5e4 e1p1 e1p2 e2p2 e2p3 e3p3 e3p4 e4p4 e4p1 34 p2310 p310 p4104 RECTANGLE EDGE POINT

8 Introduction – Motivating Example Logical Flow Edge e1Edge e2 E1.ename = e2.ename E1.aPoint <> e2.aPoint Edge_Pnt_List (eName, stPnt, endPnt) Point p1 Point p2 Edge_length (eName, eLength) Rectangle r rname

9 Introduction – Motivating Example CREATE VIEW pnt_list (ename, stPnt, endPnt) AS SELECT e.ename, e1.aPoint, e2.aPoint FROMedge e1, edge e2 WHERE e1.ename = e2.ename ANDe1.aPoint <> e2.aPoint; CREATE VIEW edge_length (ename, elength) AS SELECT e.ename, sqrt(sq(p1.x –p2.x) + sq(p1.y – p2.y) FROM pnt_list e, point p1, point p2 WHERE e.stPnt = p1.pname ANDe.endPnt = p2.pname;

10 Introduction – Motivating Example Discussion Question – Print the square names

11 Introduction – Motivating Example Solution SELECT r.rname FROMrectangle r, edge_length e WHERE r.anEdge = e.ename GROUP BY r.rname HAVING max(e.elength) ~ MIN (e.elength);

12 Introduction Though we can model and query these simple geometric objects, its Not clean Complexity increases with complex objects (like irregular polygons) Even with these simple objects, how do you answer queries like ‘find nearest objects to point 2’ or ‘find all intersecting objects’ What is lacking Support for complex data types Support for predicates (e.g., area, intersect, length)

13 OODBMS-Fundamentals Has its origin in OO programming languages Object State – current value Behavior- what operations are permitted Difference between PL Object and DB Object PL – Objects exist only during program execution (transient objects). DB – Objects persist beyond program termination; stored permanently on a secondary storage DB – allows sharing of objects among multiple programs and applications

14 OODBMS-Fundamentals OID – unique system generated object identifier for each object Compare this with RDBMS primary key Object structure Arbitrarily complex in order to contain all necessary information about the object Compare this with RDBMS (rectangle object) – information about complex object is often scattered The state of complex object may be constructed from other objects using type constructors

15 OODBMS-Fundamentals Type constructors Basic – atom, tuple, and set Others – list, bag, and array (collection/bulk types) tuple – also called as a structured type Formally an object can be thought of as a triple (I,C,V) I – OID C – type constructor V – object state (current value)

16 OODBMS-Fundamentals Examples o 1 = (i 1, atom, ‘Pen-Chung Yew’) o 2 = (i 2, atom, ‘Minneapolis’) o 3 = (i 3, atom, ‘Computer Science’) o 4 = (i 4, set, {i 1,i 2,i 3 }) o 5 = (i 4, tuple, )

17 OODBMS-Fundamentals Type hierarchies and Inheritance OODB permits definition of new types based on other predefined types, leading to a type hierarchy Example TYPE_NAME: function, function, …, function PERSON: firstName, lastName, dob, SSN STUDENT: firstName, lastName, dob, SSN, status, GPA FACULTY: firstName, lastName, dob, SSN, rank, salary STUDENT subtype_of PERSON: major, GPA FACULTY subtype_of PERSON: rank, salary

18 OODBMS-Fundamentals Exercise: Consider the geometry objects defined in our first example and defined class hierarchies 0,

19 OODBMS-Fundamentals example - GEOMETRY_OBJECT: Shape, Area, ReferencePoint RECTANGLE subtype-of GEOMETRY_OBJECT (Shape=‘rectangle’): edge1, edge2, edge3, edge4

20 OODBMS-Fundamentals Standards: ODMG Made up of several parts Object Model Object Definition Language (ODL) Object Query Language (OQL) Binding to OO programming languages (C++, Smalltalk, Java) OOBMS O2 ObjectStore Jasmine

21 Database Modeling Enhance Entity Relationship (EER – Chap 4, Elmasri/Navathe) Pictogram Enhanced Entity Relationship (PEER – Chapter 2, SD A Tour). Unified Modeling Language (UML) Object Definition Language

22 Database Modeling Example We use two examples (school-DB) and park-DB (from SDB-A Tour). Identify typical objects (and hierarchies) in school-DB Person, Student, Faculty, Department Identify relationships 1:1, 1:M, M:N, partial participation, … Let us start with EER Includes all the modeling concepts of ER Additionally includes oo concepts of – subclass, superclass, specialization and generalization, attribute and relationship inheritance

23 Database Modeling - EER Person SSN firstName d StudentFaculty Department major worksin 1 1 N N status rank dob lastName code name

24 Database Modeling - EER Find a suitable entity and define a overlapping type of relationship

25 Database Modeling - UML Person SSN dob firstName lastName Department Code Name Student status Faculty rank * * {disjoint, mandatory} dept major 1 1 majorsIn worksIn 0..1 chair chairOf

26 Database Modeling - PEER Exactly one Many (0 or More) Optional (0 or One) One or More Numerically Specified Aggregation Inheritance Derived Class 1+ OGC-Geometry

27 Database Modeling - PEER State Park (ER Model) River Road Crosses Name Length Geometry NameNoOfLanes Geometry supplies Volume FacilityForestForest_Stand Fire_Station Fire_Image Name Geometry Belongs_to within Name Elevation access Geometry Stand-id Geometry Specie Part_of captures manages Name Geometry Image-id Image 1 1 M 1 N M M N 1 M 1 M M N

28 Database Modeling - PEER Pictogram : miniature version of geographic object inserted inside of a box Entity pictograms Relationship pictograms Advantages Ease of use Complete grammar Translation rules Pictogram inserted ER diagram to SQL3 level constructs

29 Database Modeling - PEER Pictograms * // any possible shape ! // user-defined shapes

30 Database Modeling - PEER Polygon PointLine Pictograms for Basic Shapes Pictograms for Multi-Shapes 0, n n 0,1 1 1,n 0,n n

31 Database Modeling - PEER Pictograms for Derived Shapes Pictograms for Alternate Shapes

32 Database Modeling - PEER Any Possible Shape * ! RasterTINThesian Pictograms for Raster Shapes Pictograms for Relationships Part_of (Network) Part_of (Partition) User Defined Shape Raster Shape Raster TIN Thesian

33 Database Modeling - PEER State Park (PEER) River Road Crosses Name Length NameNoOfLanes supplies Volume FacilityForestForest_Stand Fire_Station Fire_Image Name Belongs_to Name Elevation access Stand-id Specie Part_of captures manages Name Image-id 1 1 N M M N 1 M 1 M M N

34 Summary and Conclusions Learning Objectives Understand OO Concepts Conceptual Modeling RDBMS limitations No support for complex data types and predicates OO Rich set of features – encapsulation, inheritance,.. Helps manage complexity Conceptual Modeling – Simple Extensions EER, UML, PEER

35 Next Week ORDMBS (SQL-3) in depth Mapping of Conceptual Model onto ORDBMS (SQL-3 DDL constructs) Examples using Postgresql/PostGIS Comparison of OODBMS and ORDBMS Conclusions

36 Additional Readings Main – Database Management Systems by Raghu Ramakrishnan (Chapter 24: Object Database Systems). Additional References (relevant chapters): Fundamentals of Database Systems – Elmasri & Navathe A First Course In Database Systems – Ullman & Widom. Spatial Database – A Tour (Chapter 2 and 3)

Download ppt "Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database."

Similar presentations

Ads by Google