V. Megalooikonomou Object-Oriented and Object-Relational DBMSs (based on notes by Silberchatz,Korth,...
-
Upload
hillary-floyd -
Category
Documents
-
view
227 -
download
2
Transcript of V. Megalooikonomou Object-Oriented and Object-Relational DBMSs (based on notes by Silberchatz,Korth,...
V. Megalooikonomou
Object-Oriented and Object-Relational DBMSs
(based on notes by Silberchatz,Korth, and Sudarshan and notes by C. Faloutsos at CMU)
Temple University – CIS Dept.CIS616– Principles of Data Management
Detailed outline OO DBMSs OR DBMS
complex data types inheritance UDFs
ORACLE-specific extensions Conclusions
Why more than RDBMSs? RDBMS: tuples, of numbers +
strings What apps need only those?
Banks Airlines Retailer stores ...
Q: Other apps, with more req’s?
Why more than RDBMS’s Q: Other apps, with more req’s? A:
text multimedia; financial apps/forecasting Geographic Inf. Sys. CAD/CAM Network management
Their specs? complex objects (sets/vectors) inheritance new data types (image, video, ...)
and user defined functions (UDFs)
OO DBMS roughly, ‘C++’ with persistence commercial systems:
O2; ObjectStore; Objectivity Object Database Management
Group (ODMG): defined standards BUT: OODBMS have small market
share Hence: OR-DBMSs
OR DBMSs
traditional DBMS with attempts to provide
enriched data types user defined data types support for large / complex objects inheritance
SQL-3 proposed extensions complex types (sets, lists,
multisets) inheritance (IS-A hierarchies) User Defined Functions (UDFs)
Complex types
e.g., Row Types:create row type Doc (
callnum varchar2(10),title char(20),authors list (varchar2(20))
);create table document of type Doc;
Complex types
DML - insertions:
insert into document values(‘QA123.45’, ‘DB systems’,
set(‘Smith’, ‘Johnson’) );
Inheritance
single inheritance:create type Person (
ssn varchar2(10),name char(20));
create type Student (major varchar2(5))under Person;
Inheritance
multiple inheritance:create type Teacher (
salary integer) under Person;create type TA under Student,
Teacher;
Inheritance
multiple inheritance:
constraints: one TA record corresponds to exactly one ‘Teacher’ and ‘Student’ record
insertions/deletions/updates: appropriately propagated.
Object Ids and references
can define ‘object ids’ for each object,
and use them, effectively as pointers.
Query language extensions
(recall:)create row type Doc (
callnum varchar2(10),title char(20),authors list (varchar2(20))
);create table document of
type Doc;
find titles, (co-)authored by ‘Smith’
SQL-3 proposed extensions - overview complex types (sets, lists,
multisets) inheritance (IS-A hierarchies) User Defined Functions (UDFs)
UDFscreate function author-count (adoc
document)returns integer as
select count (authors)from adoc;
select title from document dwhere author-count(d) > 1
Detailed outline OO DBMSs OR DBMS
complex data types inheritance UDFs
ORACLE-specific extensions Conclusions
ORACLE-specific Large objects, e.g., video, images, 3d-
MRI scans new data types: LOB (=Large OBject)
BLOB: (up to 4Gb; binary: jpeg, mpeg, ...) CLOB: (up to 2Gb; character: english text) NCLOB:(..............; multi-byte characters) (LONG: similar, for backwards compatibility)
ORACLE-specific stored procedures PL/SQL: a ‘C’-like language
too large to describe here… example of a stored procedure:
ORACLE-specific
SQL> create or replace procedure del-st-rec
(s-id number) as begin delete from student where s-id = ssn; end del-st-rec;
SQL> execute del-st-rec ( 123 );
IllustraInformixIBM’s Informix Dynamic Server Illustra Informix Dynamic Server
(Universal Data Option) IBM DB2 Universal Database –
Informix Product family
IllustraInformixIBM’s Informix Dynamic Server
Datablades technology - extensions for specific data domains Image Text Geodetic Spatial Time series Video Web
Informix - Sample SQL queries
COMPUTE VOLUME OF A GIVEN STRUCTURE return volume((select unique image from structures where side='Left' and atlas='Brodmann' and name='17')) ;
DISPLAY GIF OF ALL LESIONS SUMMED UP insert into temp_image_1 values(permanent(map_image(sum_images(( select image from patient_images where image.description='All
Lesions')), 'redgreenscale'))) ; select TS.SliceNo, slice(TS.SliceNo,overlay.image)::GIF as LesionDensity from TalairachSlices TS, temp_image_1 overlay order by SliceNo ;
Detailed outline OO DBMSs OR DBMS
complex data types inheritance UDFs
ORACLE-specific extensions Informix Conclusions
Conclusions OO and OR DBMS strive for
complex data types inheritance UDFs
OR DBMSs: overwhelming market share (why?)