Presentation is loading. Please wait.

Presentation is loading. Please wait.

Object Oriented & Object Relational Databases

Similar presentations

Presentation on theme: "Object Oriented & Object Relational Databases"— 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 OO Fundamentals
Need for OO/OR-DBMS OO Fundamentals How (OO)DBMS incorporates OO ideas Database Modeling/Querying Conclusions OODBMS ORDBMS Conceptual ODL/UML EER/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,0 1 2 3 4 5 6 7 8

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,0 1 2 3 4 5 6 7 8

7 Introduction – Motivating Example
Relations POINT(pname, x, y), EDGE(ename, aPoint), RECTANGLE(rname, anEdge). POINT RECTANGLE EDGE p1 3 4 p2 10 p3 p4 r5 e1 e2 e3 e4 e1 p1 p2 e2 p3 e3 p4 e4 0,0 1 2 3 4 5 6 7 8

8 Introduction – Motivating Example
Logical Flow Edge e1 Edge 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 FROM edge e1, edge e2 WHERE e1.ename = e2.ename AND e1.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 AND e.endPnt = p2.pname;

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

11 Introduction – Motivating Example
Solution SELECT r.rname FROM rectangle 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 o1 = (i1, atom, ‘Pen-Chung Yew’)
o2 = (i2, atom, ‘Minneapolis’) o3 = (i3, atom, ‘Computer Science’) o4 = (i4, set, {i1,i2,i3}) o5 = (i4, tuple, <DNAME:i3, DCHAIR:i1>)

17 OODBMS-Fundamentals Type hierarchies and Inheritance Example
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,0 1 2 3 4 5 6 7 8

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

20 OODBMS-Fundamentals Standards: OOBMS ODMG Made up of several parts O2
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 Let us start with EER
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 Student Faculty Department major worksin 1 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 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 NoOfLanes supplies Volume Facility Forest Forest_Stand Fire_Station Fire_Image Belongs_to within Elevation access Stand-id Specie Part_of captures manages Image-id Image 1 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 <Pictogram> <Shape> * // any possible shape ! // user-defined shapes <Shape> <Basic Shape> <Multi-Shape> <Derived Shape> <Alternate Shape>

30 Database Modeling - PEER
<Basic Shape> Polygon Point Line Pictograms for Basic Shapes Pictograms for Multi-Shapes 0, n n <Cardinality> 0,1 1 1,n 0,n n

31 Database Modeling - PEER
Pictograms for Derived Shapes Pictograms for Alternate Shapes <Derived Shape> <Basic Shape> <Basic Shape> <Basic Shape> <Basic Shape> <Derived Shape>

32 Database Modeling - PEER
Any Possible Shape * ! Raster TIN Thesian 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 NoOfLanes supplies Volume Facility Forest Forest_Stand Fire_Station Fire_Image Belongs_to Elevation access Stand-id Specie Part_of captures manages Image-id 1 N M

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"

Similar presentations

Ads by Google