Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar)...
-
Upload
kenya-frantom -
Category
Documents
-
view
222 -
download
4
Transcript of Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar)...
![Page 1: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/1.jpg)
Object Oriented & Object Relational Databases
Ranga Raju VatsavaiTeaching Mentor (Prof. Shekhar)
CSci 5708 : Architecture and Implementation of Database Management Systems, Fall 2003 Week 15 (11/24, 11/26/03) Lecture Notes
![Page 2: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/2.jpg)
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
OODBMS ORDBMS
Conceptual ODL/UML EER/PEER
![Page 3: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/3.jpg)
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
![Page 4: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/4.jpg)
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, …)
![Page 5: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/5.jpg)
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
34
56 7
8
![Page 6: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/6.jpg)
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
34
56 7
8
![Page 7: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/7.jpg)
Introduction – Motivating Example
Relations POINT(pname, x, y), EDGE(ename, aPoint),
RECTANGLE(rname, anEdge).
0,0
1
2
34
56 7
8
r5 e1
r5 e2
r5 e3
r5 e4
e1 p1
e1 p2
e2 p2
e2 p3
e3 p3
e3 p4
e4 p4
e4 p1
p1 3 4
p2 3 10
p3 10 10
p4 10 4
RECTANGLE
EDGEPOINT
![Page 8: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/8.jpg)
Introduction – Motivating Example
Logical Flow
Edge e1 Edge e2
E1.ename = e2.enameE1.aPoint <> e2.aPoint
Edge_Pnt_List (eName, stPnt, endPnt)Point p1
Point p2
Edge_length (eName, eLength)
Rectangle r
rname
![Page 9: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/9.jpg)
Introduction – Motivating Example
CREATE VIEW pnt_list (ename, stPnt, endPnt)AS SELECT e.ename, e1.aPoint, e2.aPoint
FROMedge e1, edge e2WHERE 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 p2WHERE e.stPnt = p1.pname AND e.endPnt = p2.pname;
![Page 10: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/10.jpg)
Introduction – Motivating Example
Discussion Question –Print the square names
![Page 11: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/11.jpg)
Introduction – Motivating Example
Solution
SELECT r.rnameFROM rectangle r, edge_length eWHERE r.anEdge = e.enameGROUP BY r.rnameHAVING max(e.elength) ~ MIN (e.elength);
![Page 12: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/12.jpg)
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)
![Page 13: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/13.jpg)
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
![Page 14: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/14.jpg)
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
![Page 15: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/15.jpg)
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)
![Page 16: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/16.jpg)
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>)
![Page 17: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/17.jpg)
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
![Page 18: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/18.jpg)
OODBMS-Fundamentals
Exercise: Consider the geometry objects defined in our first example and defined class hierarchies
0,0
1
2
34
56 7
8
![Page 19: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/19.jpg)
OODBMS-Fundamentals
example - GEOMETRY_OBJECT: Shape, Area, ReferencePoint RECTANGLE subtype-of GEOMETRY_OBJECT
(Shape=‘rectangle’): edge1, edge2, edge3, edge4
![Page 20: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/20.jpg)
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
![Page 21: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/21.jpg)
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
![Page 22: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/22.jpg)
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
![Page 23: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/23.jpg)
Database Modeling - EER
PersonSSN firstNam
e
d
Student Faculty
Department
major worksin
1 1
NN
status rank
dob
lastName
code name
![Page 24: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/24.jpg)
Database Modeling - EER
Find a suitable entity and define a overlapping type of relationship
![Page 25: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/25.jpg)
Database Modeling - UML
PersonSSNdob
firstNamelastName
Department
CodeName
Studentstatus
Facultyrank
* *
{disjoint, mandatory}
deptmajor
1
1
majorsIn worksIn
0..1chairchairOf
![Page 26: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/26.jpg)
Database Modeling - PEERExactly one
Many (0 or More)
Optional (0 or One)
One or More
Numerically Specified
Aggregation
Inheritance
Derived Class
1+
OGC-Geometry
![Page 27: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/27.jpg)
Database Modeling - PEER
State Park (ER Model)
River RoadCrosses
Name Length Geometry Name NoOfLanes
Geometrysupplies
Volume
Facility Forest Forest_Stand
Fire_Station Fire_Image
Name
Geometry
Belongs_to
within
Name
Elevation
accessGeometry
Stand-id
Geometry
Specie
Part_of
capturesmanages
Name Geometry Image-id Image
1 1
M1
NM
M
N
1 M
1
MM
N
![Page 28: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/28.jpg)
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
![Page 29: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/29.jpg)
Database Modeling - PEER
Pictograms
<Pictogram> <Shape>* // any possible shape! // user-defined
shapes
<Shape> <Basic Shape><Multi-Shape><Derived Shape><Alternate Shape>
![Page 30: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/30.jpg)
Database Modeling - PEER
<Basic Shape> PolygonPoint Line
Pictograms for Basic Shapes
Pictograms for Multi-Shapes
0, nn<Cardinality
>0,111,n0,nn
![Page 31: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/31.jpg)
Database Modeling - PEER
<Derived Shape>Pictograms for Derived
Shapes
Pictograms for Alternate Shapes
<Basic Shape>
<Basic Shape><Basic Shape>
<Basic Shape><Derived Shape>
![Page 32: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/32.jpg)
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 RasterTIN
Thesian
![Page 33: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/33.jpg)
Database Modeling - PEER
State Park (PEER)
River RoadCrosses
Name Length Name NoOfLanes
supplies
Volume
Facility Forest Forest_Stand
Fire_Station Fire_Image
Name
Belongs_to
NameElevation
access
Stand-id Specie
Part_of
capturesmanages
Name Image-id
1 1
NM
M
N
1 M
1
MM
N
![Page 34: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/34.jpg)
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
![Page 35: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/35.jpg)
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
![Page 36: Object Oriented & Object Relational Databases Ranga Raju Vatsavai Teaching Mentor (Prof. Shekhar) CSci 5708 : Architecture and Implementation of Database.](https://reader036.fdocuments.in/reader036/viewer/2022062515/56649c7e5503460f949338d4/html5/thumbnails/36.jpg)
Additional Readings
http://www.cs.umn.edu/~vatsavai/oo-ordbms.ppt
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. http://www-users.cs.umn.edu/~shekhar/5705/
Spatial Database – A Tour (Chapter 2 and 3)