this presentation provide a full explanation of object relational database management system. its a part of advanced database management system. important topic of computer science if you are UG/PG student or preparing for some competitive exam.
2. Contents2
Introduction to ORDBMS
Object Relational Model
Current product scenario
Advantages and Disadvantages of ORDBMS
Difference Between RDBMS, OODBMS and ORDBMS
Illustra
SQL3
3. Introduction to ORDBMS
3
An object relational database is also called an object relational database
management system (ORDBMS).
An ORDBMS is object relational data base management system that
allows developers to integrate the database with their own custom data
types and methods.
Object information are converted into tables with rows & columns.
4. CONT…
4
This system simply puts an object oriented front end on a relational
database (RDBMS). When applications interface to this type of database, it
will normally interface as though the data is stored as objects.
It support object oriented capabilities to relational DBMS technology.
Its aim is achieving the functionality of object data management in their
unique way.
ORDBMS was created to handle new types of data such as audio, video,
and image files .
5. CONT…
5
This approach has its obvious advantages, especially for existing relational
applications and for their transition to an object oriented environment.
Therefore it is not necessary for programmers to write code to convert
between the two formats and database access is easy from an object oriented
computer language.
We use different technologies like open ODB , illustra etc.
PostgreSQL is the best known ORDBMS. Another examples are, Oracle DB,
Informix, SQL Server etc.
7. Current product scenario
7
Oracle:-
Oracle 9 ORDBMS is based on EJB (Enterprise Java Beans) 1.1
specification and aim to offer a scalable high performance execution
environment for EJBs.
Oracle also provides transaction interface and number of tools for
assistance in deployment of the EJB application
8. Cont…
8
IBM:-
IBM ventured in a big way into J2EE and EJB along with OODBMS
features of DB2 Universal Data Base(UDB).
It attempt to enhance the features and performance in the direction of
scalability, manageability, development productivity, integrated
information and business intelligence.
9. Advantages of ORDBMS
9
It allows organization to continue using their existing database systems,
without having to make major changes.
Point in time recovery of data is possible.
Built in complex SQL functions can be provided for data operations.
It allows user & programmers to start using object oriented system in
parallel.
ORDBMS ensures large storage capacity.
Support rich data types by adding a new object oriented layer.
10. Advantages of ORDBMS
10
Reusable & sharable
Scalability
Improved concurrency
Support for composite data types
Improved integrity
Data base extensibility
Uniform treatment of data items
11. Disadvantages of ORDBMS
11
Complexity.
Increased costs.
Supporters of relational approach believe simplicity and purity of
relational model are lost.
OO purists not attracted by extensions either.
12. Difference between RDBMS, OODBMS and
ORDBMS12
Criteria RDBMS OODBMS ORDBMS
Defining standard SQL2 ODMG 2.0 SQL3
Support for object
oriented feature
Does not support;
It is difficult to map
program object to the
database.
Support extensively Limited support, mostly
to new data type
Usage Easy to use Ok for programmer Easy to use except for
some extensions
Support for complex
relationship
Does not support
abstract data type
Supports a wide variety
of data types and data
with complex inter-
relationships
Supports abstract data
types and complex
relationships
13. Difference between RDBMS, OODBMS and
ORDBMS13
Criteria RDBMS OODBMS ORDBMS
Performance Very good performance Relatively less
performance
Expected to perform
good
Advantages Its dependence on SQL,
relatively simple query
optimization hence
good performance
It can handle all types of
complex applications,
reusability of code, less
coding
Ability to query complex
applications and ability
to handle large and
complex applications
Disadvantages Inability to handle
complex applications
Low performance due to
complex query
optimization, inability to
support large-scale
systems
Low performance in
web application
15. Illustra
15
Illustra was the latest ‘avtar of of the original POSTGRES’.
After several transient versions and names such as ‘Mira’ , ‘Montage’, a
final commercialized version, Illustra , hit the market in mid 90’s.
This include features inheritance, user defined types, functions,
operators, historical database features, large objects, etc.
Extended SQL with object oriented features is also supported.
Function can be written by users in C or SQL.
16. Object data model of illustra
16
Originally the SQL 92 relational standard was implemented in illustra
together with object extension for defining user defined data types and
function from the later SQL 3 standard committee activity.
These extensions included type and table hierarchies, multiple
inheritance, object identifier, function overloading etc.
The central theme of object extension of the relational model as
supported in illustra comprises adding user defined abstract data types
in addition to normal built-in type of SQL.
17. Example
17
a) Creating a base type(user defined) by a create statement is as follow:
Create type circle
(
internal length = 24
input = circle-in
output = circle-out
);
18. Example
18
b) Functions can be created by a ‘create function’ statement, which
registers a new function in the database , as follows:
Create function <function name> [<parameter list>]
returns <type name>
as <sql-statements>/external name
language {c} [not varient];
19. Example
19
c) To create a composite type, the user should specify the name and data types of the
new components.
Type ‘employee_t’ is defined as a subtype of type ‘person’ by using under
statement, manager is an additional column. Composite type cannot be used
recursively.
20. Example
20
d) Table (relations)can be created by ‘create table’ statement specifying
table(relation) name and column, the same as in a conventional relational
system as follows:
Create table Employees
(
name text,
company text
);
21. SQL3
21
SQL3 is the current version of the SQL with added extensions & features to support object
oriented database management.
Current SQL3 includes provision for
- User Defined Abstract Data Types (ADTs),
- Methods,
- Object identifiers,
- Subtypes & Inheritance
- Polymorphism
- Integration with External Languages.
Facility for control structures and parameterized types to make SQL3 computationally
complete for creating, managing & querying persistent objects.
22. User defined ADT’s in SQL3
22
In addition to the build-in data types, User Defined Abstract Data Types (ADTs) are
permitted in SQL3.
The values in columns in relational tables may be either user defined or build-in data types.
In an ADT definition, both attributes and operations are encapsulated as a single entity.
An ADT specification consists of
- ADT Name
- Stored Attribute
- Virtual / Derived Attributes
- Operations with equality and ordering relationship.
25. Properties of user defined ADT’s
25
•To access an attribute ‘A’ of an ADT instance ‘X’uses a special notation X.A
•There are 2 types of ADT attributes –
- Stored Attributes
- Virtual / Derived Attributes
•A Stored Attribute is specified by giving its name and data type.
•The data type can be known data type or another ADT.
•Each stored attribute declare a pair of functions to get & set the attribute value.
26. Properties of user defined ADT’s
26
• A Virtual Attribute has a value that is derived or computed by get-attribute
function specified using GET declaration.
• Virtual attribute can be UPDATABLE, READ ONLY, CONSTANT.
• Value of UPDATBLE attributes can be changed through set-attribute function.
• READ ONLY attribute can not be changed.
• CONSTANT attribute can be assigned value only at instance creation.
27. Properties of user defined ADT’s
27
• Routines (Procedures & functions) if are defined within the ADT
definition have access to ADT’s PRIVATE attributes.
• Routines may also be defined outside the ADT definition.
For example – constructor function.
• Special routines like CAST functions are defined to map an ADT to other
existing data types.
For example – an IMAGE ADT may be CAST to a BIT STRING
TYPE representation.
28. Properties of user defined ADT’s
28
• ADTs can be defined as
- Data type of columns in tables,
- Parameters in procedures and functions,
- Attributes in other ADT definition,
- Variables in Compound SQL statements.
• To store an ADT instance persistently in the database, it is to be stored as the column value
of a table.
For example –
CRATE TABLE persons
(person-data person-type instance );
29. Queries with user defined ADT’s
29
ADTs can be defined as
- Data type of columns in tables,
- For example –
CRATE TABLE emp
( person-data person-type,
manager person-type,
spouce person-type INSTANCE,
….
);
Query to find the names of people older than 40
SELECT name (e.person-data)
FROM emp e
WHERE age (e.person-data) >40;
30. Routines
30
• A routine in SQL is basically a subprogram either a FUNCTION, which returns a value, or
a PROCEDURE, which does not return a value.
• A FUNCTION may be either an ACTOR or a DESTRUCTOR.
• A DESTRUCTOR function destroys ADT instances.
• An ACTOR function is any other function that reads or updates components of an ADT
instance.
31. Routine specification
31
A routine is specified by giving its name, its parameters, a RETURNS clause
and a body.
The RETURNS clause specifies the data type of the result returned.
A routine may be either an SQL routine or an external routine.
Body of SQL routine is written in SQL.
An external routine has an externally provided body written in some standard
programming language.
Different routines may have same name. This is referred to as overloading.
The parameter lists of such routines must be different to identify.
32. Routine specification
32
• Example of external routine:
EXTERNAL NAME <external function name>
LANGUAGE <language name>
[NOT] VARIENT
• A VARIENT routine return different result when called multiple time even
with same arguments.
33. Questions
33
What is ORDBMS ? Explain.
What is the advantages and disadvantages of ORDBMS?
Explain the design and architecture of POSTGRES DBMS.
Discus iterative queries ,alters and rules in POSTGRES.
Explain extended relational model approach how it is differ from
semantic model approach?
With an example explain the object data model of illustra.
Write a short note on SQL3
What are the user defined ADT in SQL3? What are the routines in
SQL3?