0% found this document useful (0 votes)
10 views7 pages

Cosc411 M2 2023

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
10 views7 pages

Cosc411 M2 2023

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 7

COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

OBJECT RELATIONAL DATABASES


(MODULE 2)
Introduction
This module describes in brief, with examples the concepts of relational databases (RDBs), their
key characteristics and drawbacks, object-oriented databases (OODBs), their features as well as
disadvantages, comparisons between RDBs and OODBs in data representations. It also contains a
brief notes on the current drivers of the database technology, object-relational database (ORDB)
design issues with examples and features.
Relational Databases (RDBs)
The relational model represents the database as a collection of relations. Informally, each relation
resembles a table of values or, to some extent, a flat file of records. It is called a flat file because
each record has a simple linear or flat structure. Examples of RDBs include Oracle, MySQL,
Microsoft SQL Server, etc. The RDB model is shown in Figure 2.1 (a) and (b) as follows:

(a)

Page 1 of 7
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

(b)
Figure 2.1: Relational Database Model
Features of Relational Databases

1. It must store data as relations such that each column is independently identified by its
column name and the ordering of rows is immaterial.
2. The operations available to the user, as well as those used internally by the system, should
be true relational operations; that is, they should be able to generate new relations from old
relations.
3. The system must support at least one variant of the JOIN operation.

Drawbacks of Relational Databases


1. Complexity: The process of developing a database system is by its nature a single, unifying
and more complex process, which will include data acquisition; data modelling and design;
database implementation; and database maintenance. The greater complexity of this
process may mean that errors in implementation, design and data acquisition may occur,
and be harder, within the organization, to get fixed.
2. Cost: Depending on the organization and its data need, the database approach may require
extra hardware and IT infrastructure, along with new maintenance contracts. Depending
on the system being replaced, this can make a database approach more expensive, in terms
of either initial or ongoing costs. The DBMS software itself may cost no money, since there

Page 2 of 7
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

are many free and open source options, but the system built around it will require developer
time and may also incorporate other, paid-for software.
3. Higher impact of failure: The database system is at the core of the information system of
an organization. All data is stored centrally, in the database. As a result, most applications
rely on this data. If the DBMS fails, the whole organization is paralyzed, unlike a
decentralized system, where a failure in one system will only directly affect the department
that uses it.
4. Performance: A database performance depends on the number of tables. If there were
more number of tables there would be slower response to queries.
5. Physical storage: RDBM software requires tremendous amount of physical storage since
it is made up of rows and columns.
Object-Oriented Databases (OODBs)
Database systems that are based on the object data model were known originally as object-oriented
databases (OODBs) but are now referred to as object databases (ODBs). An OODB represents
information in the form of objects as used in object-oriented programming. It can extend the
existence of objects so that they are stored permanently in a database, and hence the objects
become persistent objects that exist beyond program termination and can be retrieved later and
shared by other programs. Examples of OODBs include ObjectStore, Versant Object Database,
Objectivity/DB, etc. Figure 2.2 shows the OODB model as follows:

Figure 2.2: Object-Oriented Database Model

Page 3 of 7
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

Features of Object-Oriented Databases


1. Object Identity.
2. Complex Type Structures for Objects.
3. Encapsulation of Operations.
4. Type Hierarchies and Inheritance.
5. Polymorphism of Operations (Operator Overloading).
6. Multiple Inheritance and Selective Inheritance.
Drawbacks of Object-Oriented Databases
1. No Universal Data Model: Relational databases have a fixed data model in which data is
always represented in the form of tables. No such standard exists for object-oriented
databases in which data is modeled as custom objects, but depends on the type of data and
need of application.
2. No Standard Query Language: There is no standard query language for OODBMS like
SQL for Relational Databases. Even though Object Data Management Group (ODMG)
standardized OQL (Object Query Language) but it is still not fully implemented.
3. No Mathematical Foundation: Relational Databases are based on the solid foundations
of Relational Algebra and Relational Calculus. No such mathematical foundation exists
for object-oriented databases.
4. Lack of Ad hoc Queries (or Closure): Closure is a property of relational databases which
enables nested queries where new tables are created by joining existing ones and then
querying the new table. Since there are no joins in ODBMS, there are no nested queries
and the nature of query that can be performed is highly dependent on the design of database.
5. Strong opposition from the established RDBMSs: There have been strong oppositions
from other databases such as the RDBMs, which have been the most popular and accepted
DBMSs worldwide.
6. Lack of Interoperability between RDBs and OODBs: OODBs and RDBs are not
compatible because they have unified data models and architectures, and OODBs have no
application development and database access tools.
7. Minimal query optimization: One of the biggest problems in OODBs is the optimization
of declarative queries. The additional complexity of the object-oriented data model
(OODM) complicates the optimization of OODBs queries.

Page 4 of 7
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

8. Limited Popularity: Object-oriented databases are not widely adopted due to lack of
popularity. RDBs have been the most popular and widely accepted DBMSs.
9. Limited performance gain over RDBs: Requirements which include bulk database
loading; creation, update, and delete of individual objects (one at a time); retrieval from a
class of one or more objects that satisfy certain search conditions; joins of more than one
class; transaction commit, and so forth. For such applications, OODBs do not have any
performance advantages over RDBs.
OODB vs. RDB Model
RDB and OODB models differ in how various data entities are represented. The comparisons are
shown in Table 2.1 as follows:
Table 2.1: OODB vs. RDB Model
Object-Oriented Relational Database
Database Model Model
Class Relation
Object instance Tuple
Attribute Column
Method Stored procedure

The Current Drivers of the ORDBMS Technology

The main forces behind the development of extended Object Relational Database Management
Systems (ORDBMSs) stem from the inability of the legacy DBMSs and the basic relational data
model as well as the earlier RDBMSs and the latest OODBMs to meet the challenges of new
applications. There are areas that primarily involve a variety of types of data, for example,
1. Text in computer-aided desktop publishing;
2. Images in satellite imaging or weather forecasting;
3. Complex non-conventional data in engineering designs, in the biological genome
information, and in architectural drawings;
4. Time series data in history of stock market transactions or sales histories; and
5. Spatial and geographic data in maps, air/water pollution data, and traffic data.
Hence there is a clear need to design databases that can develop, manipulate, and maintain the
complex objects arising from such applications. Furthermore, it is becoming necessary to handle
Page 5 of 7
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

digitized information that represents audio and video data streams requiring the storage of binary
large objects in DBMSs.
Object Relational Database (ORDB)
An ORDB is a database system that is composed of both relational database (RDB) and object
oriented database (OODB). It is simply a combination of an object oriented database model and a
relational database model. So, it supports the basic components of OODB in its schemas and query
language used, such as objects, classes, inheritance, etc. as well as tabular structures of RDB.
The fundamental goal of ORDB model is to bridge the gap between RDBs and OODBs frequently
used in many programming languages, such as Java, C++, C#, etc. Examples of ORDBMS include
PostgreSQL, Informix Universal Server, Oracle, Microsoft’s SQL Server, etc. The ORDB model
is shown in figure 2.3 as follows:

Figure 2.3: Object-Relational Database Model


Features of Object-Relational Databases

1. Support for User-Defined Abstract Data Types: Abstract Data Types (ADTs) allow new
data types with structures suitable for particular applications to be defined.
2. Support for additional or extensible data types: A number of built-in data types have
been provided, including two-dimensional geometric objects (such as points, lines, circles,
and ellipses), images, time series, text, and Web pages. In addition to the built-in types,
ORDB provides the user with other constructs to declare additional types.

Page 6 of 7
COSC 411: DATABASE SYSTEMS II 2022/2023 SESSION

3. Support for user-defined routines (procedures or functions): ORDB supports user-


defined functions and procedures to manipulate the user defined types. This enables it to
handle user-defined types as a built-in type whenever the required functions are defined.
4. Support for type inheritance: A structured type can have subtypes that reuse all of its
attributes and contain additional attributes specific to the subtype.
5. Encapsulation: ORDBMs support encapsulation mechanism which restricts access to
some objects’ components.
6. Support for Object Identities (OIDs): Program objects are stored and transported for
database processing, and are named as persistent objects. All relations with a persistent
program object are relations with their OIDs. OIDs are used to identify objects.
7. Large Objects Support: These are disk-based objects that have the functionality of
random access files. They are used by ADTs to store any data that does not fit into a table
row.
8. Support for indexing extensions: ORDB supports indexing on user-defined routines on
either a single table or a table hierarchy. R-tree or generalized search tree (GST) for multi-
dimensional data enable fast searching of particular ADTs in a table.
9. Support for External Data Source: ORDB supports external data sources (such as data
stored in a file system) that are mapped to a table in the database called the virtual table
interface. This interface enables the user to define operations that can be used as proxies
for the other operations, which are needed to access and manipulate the row or rows
associated with the underlying data source. These operations include open, close, fetch,
insert, and delete.

Page 7 of 7

You might also like