View
71
Download
0
Category
Preview:
Citation preview
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 1/111
Object-RelationalDatabase
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 2/112
Relational Strengths and Weaknesses� Strengths
± Data independence
± Powerful query language
± Well-developed backup and recovery,
concurrency control, etc.� Weaknesses
± Support for complex data types
±
Support for generalization/specialization ± Encapsulation
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 3/113
Object-Relational DBMS (ORDBMS)� Supports relational and object-
oriented features
� Query relations and objects through
a single query language
� ³Extended Relational DBMS´
� ³Universal DBMS´
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 4/114
Features of an ORDBMS� Enhanced SQL to work with both relations
and objects
� Support for:
± Generalization/specialization
± Inheritance
± Polymorphism
± Additional, defined data types, e.g. BLOBs
± User-defined or abstract data types
±
Storage of code in the database ± Aggregation
± Object identifiers (OIDs)
± Multivalued attributes
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 5/11
5
User-Defined Data Type� CREATE NAME_TYPE
AS OBJECT(
LASTNAME VARCHAR2(25)
FIRSTNAME VARCHAR2(25)
MIDDLEINIT CHAR(1));
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 6/11
6
User-Defined Data Type� CREATE PERSON_TYPE
AS OBJECT(
NAME NAME_TYPE,
ADDRESS ADDRESS_TYPE,
DATEBIRTH DATE,
PHONE VARCHAR2(12));
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 7/11
7
User-Defined Data Type� CREATE TABLE EMPLOYEE(
EMPID NUMBER(8) NOT NULL
PRIMARY KEY
EMP PERSON_TYPE);
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 8/11
8
Generalization/Specialization� CREATE TYPE EMP_TYPE
AS OBJECT(
EMPNO NUMBER,
EMPNAME VARCHAR2(50)
EMPADDRESS VARCHAR2(100))NOT FINAL;
CREATE TYPE HOURLY_EMP_TYPE
UNDER EMP_TYPE(HOURLYRATE NUMBER);
CREATE TABLE HOURLY_EMP
OF HOURLY_EMP_TYPE;
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 9/11
9
Content Addressing� Consider an employee table with a
field for each employee¶s photo,defined as
EMP_PHOTO IMAGE
� SELECT *
FROM EMPLOYEE
WHERE MY_PHOTO LIKE
EMP_PHOTO;
5/9/2018 Object-Relational Database Slides - slidepdf.com
http://slidepdf.com/reader/full/object-relational-database-slides 10/11
10
Encapsulation� CREATE TYPE ADDR_TYPE AS(
STREET VARCHAR(45),CITY VARCHAR(25),
ZIP CHAR(5))
METHOD APT_NO() RETURNS
CHAR(8);
� METHOD
CREATE FUNCTION APT_NO()
RETURNS CHAR(8) FORADDR_TYPE AS
EXTERNAL NAME µ/X/Y/APTNO.CLASS¶
LANGUAGE µJAVA¶;
Recommended