Object relational database management system

1,679 views 34 slides Sep 26, 2020
Slide 1
Slide 1 of 34
Slide 1
1
Slide 2
2
Slide 3
3
Slide 4
4
Slide 5
5
Slide 6
6
Slide 7
7
Slide 8
8
Slide 9
9
Slide 10
10
Slide 11
11
Slide 12
12
Slide 13
13
Slide 14
14
Slide 15
15
Slide 16
16
Slide 17
17
Slide 18
18
Slide 19
19
Slide 20
20
Slide 21
21
Slide 22
22
Slide 23
23
Slide 24
24
Slide 25
25
Slide 26
26
Slide 27
27
Slide 28
28
Slide 29
29
Slide 30
30
Slide 31
31
Slide 32
32
Slide 33
33
Slide 34
34

About This Presentation

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.


Slide Content

Object Relational Database Management System ( ORDBMS) 1

Contents 2 Introduction to ORDBMS Object Relational Model Current product scenario Advantages and Disadvantages of ORDBMS Difference Between RDBMS, OODBMS and ORDBMS Illustra SQL3

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.

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 .

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.

Object-Relational Model 6 Fig: object relational model

Current product scenario 7 Oracle:- Oracle 9 ORDBMS is based on EJB (Enterprise J ava B eans) 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

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.

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.

Advantages of ORDBMS 10 Reusable & sharable Scalability Improved concurrency Support for composite data types Improved integrity Data base extensibility Uniform treatment of data items

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.

Difference between RDBMS, OODBMS and ORDBMS 12 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

Difference between RDBMS, OODBMS and ORDBMS 13 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

Difference between RDBMS, OODBMS and ORDBMS 14

I llustra 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.

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.

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 );

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 ];

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.

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 );

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.

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.

Types of user defined ADT’s 23

Properties of user defined ADT’s 24

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.

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.

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.

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 );

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;

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 .

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 .

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 .

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?

THANKYOU 34