Object Oriented DBMS An Introduction and Learning Outcome

 Course Overview

This is a graduate level course. The course starts with the discussion on why the users or industry needs the Object Oriented Database Management Systems (OODBMSs). The first main reason is the limitations found in the RDBMS. Second reason is the need for extra features in the advanced DB applications. The third reason is the motivation for the use of OO concepts in databases after the success of OO paradigm in the application development. Then the focus shifts on two approaches towards achieving Object Orientation in databases: Extended Relational and Object Relational DBMSs. 

The basic concept to support OO feature is to transform high-level programming language constructs or OSQL commands to the relational commands in order to satisfy both the OO and relational features. Then OODBMS perspective, related issues and OODBMS standards are discussed. In the end, OO issues in the context of distributed database systems are discussed.

Course Learning Outcomes

Upon successful completion of this course, students should be able to:

  • Understand the need of object oriented databases.
  • Know about the current state of relational and object-relational databases.
  • Learn the features of object oriented databases.
  • Know about some leading object oriented database management systems.
  • Know about research issues in object oriented databases.

Main reasons for OODBs

Limitations of the Relational Data Model (currently dominated DM).

Requirements of Advanced DB Applications.

History of Data Models

File-based approach for data processing.

In early 60s research was initiated on a data handling system.

Objective was to handle large amount of data efficiently

Mid-60s IMS developed

Arranges data in hierarchical form, in a tree-like structure

Same time network data model proposed

IDMS was the NDM based DBMS

CODASYL got involved and DBTG was established

§  Hierarchical databases.

§  Network databases.

§  Relational databases.

§  Object-oriented databases.

§  Graph databases.

§  ER model databases.

§  Document databases.

§  NoSQL databases.

Problems faced in H & NDM

Very complex structure from the Applications programmer’s point of view
Difficult to design and use properly, because of the navigational nature of the data structure.
Difficult to make changes in a database; no structural independence.
No theoretical foundation.

Relational Data Model

Proposed by E.F. Codd in 1970

    Major strengths

   §  Mathematical foundation.

   §  Higher degree of data independence.

   §  Expanded set-oriented manipulation language.

 Components of RDM

Structure (Relation/Table)

Manipulation language (SQL)

Integrity Constraints (two)

First two components have direct support from relational mathematics.

            So we have six basic properties of relational DB tables.

Six Basic Properties of Relational DB Tables or Relations

   §  Each cell of a table contains atomic/single value.

   §  Each column has a distinct name; the name of the attribute it represents.

   §  The values of the attributes come from the same domain.

   §  The order of the columns is immaterial.

   §  The order of the rows is immaterial.

   §  Each row/tuple/record is distinct, no two rows can be same.

Integrity Constraints

   §  Entity Integrity Constraint.

   §  Referential Integrity Constraint.

  §  Components of RDM

Structure (Relation/table)

Manipulation language (SQL)

Integrity Constraints. 

Cons with RDM

   §  Semantically weak; just one structure.

   §  Tables can store only atomic/single value.

   §  Normalized design recommended

ER DM

   §  Entity-Relationship data model defined in 1976 by Chen.

   §  Semantically rich data model.

   §  Facilitates in modeling by providing different structures to model different situations.

 

ER Data Model

By constructs we mean:

   §  Entity Type

   §  Relationship

   §  Simple Attribute

   §  Composite Attribute

   §  Multi-valued Attribute

   §  Computed Attribute

   §  Enhanced ER DM provided even further constructs.

Weaknesses of RDBMSs

Limited or representation of Real World Modeling

Normalization leads to relations that don’t correspond to entities in real world.

Semantic Overloading

Relational model has only one construct for representing data and data relationships,      which is relation or table.

Relational model is semantically overloaded.

Limited Support for Integrity and Enterprise Constraints.

Homogeneous Data Structure

Relational model assumes both horizontal and vertical homogeneity.

Many RDBMSs now allow Binary Large Objects (BLOBs).

Limited Operations

RDBMs only have a fixed set of operations which cannot be extended.

Difficulty in Handling Recursive Queries

Recursive queries are supported but if only the depth of recursion is known.

Extension proposed to relational algebra to handle this type of query is unary transitive

(recursive) closure operation.

Impedance Mismatch

Most DMLs lack computational completeness.

To overcome this, SQL can be embedded in a high-level 3GL.

This produces an impedance mismatch - mixing different programming paradigms.

Other Problems with RDBMSs

Transactions are generally short-lived and concurrency control protocols not suited for

Long-lived transactions.

Schema changes are difficult.

RDBMSs are Limited at navigational access.


 This lecture will cover the following topics

§  The need of OO databases.

§  Basics of Databases; as a revision.

§  Features of Object-Orientation.

§  Object-Oriented data models.

§  Object-Relational DBMSs.

§  Object-Oriented Database Management Systems (OODBMSs).

§  Features of OODBMSs.

§  Different OODBMSs.

Main Reasons for OODBMS

   §  The limitations of RDM are debatable as there are database communities that do not agree or disagree at 100% with these points.

   §  Advanced DB Applications

Advanced DB Applications

Computer-Aided Design (CAD)

Application generally related to engineering disciplines, like Mechanical, Civil or electrical etc.

Relevant data may be about buildings, airplanes, and integrated circuit chips etc.

Designs of this type have some common characteristics:

§  Data has many types, each with a small number of instances; contrary to a typical DB application.

§  Designs may be very large.

§  Design is not static but evolves through time; updates need to be propagated.

§  Involves version control and configuration management.

§  Updates are far-reaching.

§  Cooperative engineering.


Computer-Aided Manufacturing (CAM)

§  Stores similar data to CAD, plus data about discrete production.

§  Applications must respond to real time events.

§  Generally algorithms and custom rules are used to respond in a particular situation.

                Computer-Aided Software Engineering (CASE)

§  Stores data about stages of software development lifecycle.

§  Design may be extremely large.

§  Involves cooperative working.

§  Need to maintain dependencies among components.

§  Versioning and configuration management involved.

                Network Management Systems

§  Coordinate delivery of communication services across a computer network.

§  Perform such tasks as network path management, problem management, and network planning.

§  Office Information Systems (OIS) and Multimedia Systems.

§  Digital Publishing.

                 Geographic Information Systems (GIS)

§  Deal with spatial (3d and 4d) and temporal information (history about the changes in the pre conditions and post conditions), such as that used in land management and underwater exploration.

§  May involve data from survey and satellite photographs; may be very large in size and may have changes during the period of time.

 Meteorological System

   §  MeteoInfo is a free and comprehensive software package which is used for meteorological data     visualization and analysis.  The meteorological data model also provides the ability for complex   meteorological analysis using grid and station data.

   §  Meteorologists use a variety of tools to help them gather information about weather and climate. Some more familiar ones are thermometers which measure air temperature, anemometers which gauge wind speeds, and barometers which provide information on air pressure.

So we had the reasons

§  Feature hungry applications.

§  Limitations of the RDM.

§  Popularity of OO paradigm.

OBJECT ORIENTED DBMS

OO DBMSs add database functionality to object programming languages. They bring much more than persistent storage of programming language objects. Object DBMSs extend the semantics of the object oriented programming languages to provide full-featured database programming capability.

According to Rao (1994), "The object-oriented database (OODB) paradigm is the combination of object-oriented programming language (OOPL) systems and persistent systems. The power of the OODB comes from the seamless treatment of both persistent data, as found in databases, and transient data, as found in executing program.

OBJECT ORIENTED + DATABASE  MANAGEMENT SYSTEM

Object oriented databases are also called Object Database Management Systems (ODBMS). Object databases store objects rather than data such as integers, strings or real numbers. Objects are used in object oriented languages such as Smalltalk, C++, Java, and others. Objects basically consist of the following:

Attributes - Attributes are data which defines the characteristics of an object. This data may be simple such as integers, strings, and real numbers or it may be a reference to a complex object.

Methods - Methods define the behavior of an object and are what was formally called procedures or functions.

In contrast to a relational DBMS where a complex data structure must be flattened out to fit into tables or joined together from those tables to form the in-memory structure, object DBMSs have no performance overhead to store or retrieve a web or hierarchy of interrelated objects.

This one-to-one mapping of object programming language objects to database objects has two benefits over other storage approaches:

It provides higher performance management of objects, and it enables better management of the complex interrelationships between objects. This makes object DBMSs better suited to support applications such as financial portfolio risk analysis systems, telecommunications service applications, World Wide Web document structures, design and manufacturing systems, and hospital patient record systems, which have complex relationships between data

Object Persistence

With traditional databases, data manipulated by the application is transient and data in the database is persisted (Stored on a permanent storage device). In object databases, the application can manipulate both transient and persisted data.

ADVANTAGES OF OBJECT ORIENTED DATABASE

Capable to handle many different types of data types

An object oriented database can store any type of data including text, numbers, pictures, video and voice.

Combination of object oriented programming and database technology

The object oriented database technology combines object oriented programming with the database technology to provide an integrated application development system. There are many advantages of including the definition of operations with the definition of data. First the operations which are defined are applied and are not depending on the specific database application running at the moment. Second the data types can be extended to support complex data.

Improves productivity

Inheritance allows programmers to develop solutions to complex problems by defining the new objects in terms of defined objects in the past. Polymorphism and dynamic binding allows programmers to define operations for one object and then to share the specification of the operation with other object. These objects can further extend this operation to provide behaviors that are unique to those objects.

Data access

Object oriented databases represent relationships explicitly supporting both navigational and associative access to information.

Enriched modeling capabilities

The object oriented data mode allows the ‘real world’ to be modeled more closely. The objects which encapsulates both state and behavior is more natural and realistic representation of real world objects. An object can store all relationships that it has with other objects including many-to-many relationships and objects can be formed into complex objects that the traditional data model cannot cope with easily.

Extensibility:

OODBMSs allow new data types to be built from existing data types. The ability to factor out common properties of several classes and form them into a super class that can be shared with subclass can greatly reduce redundancy within system is regarded that one of the main advantage of object orientation. Further, the reusability of classes promotes faster development and easier maintenance of database and its applications.

Removal of Impedance mismatch:

A single language between Data Manipulation Language (DML) and the programming language overcomes the Impedance mismatch. This eliminates many of the efficiencies that occur in mapping a declarative language such as SQL to an imperative language ‘C’.

More expressive query language:

Navigational access is the most common form of data access in OODBMSs. This is in contrast to a associative access of SQL(that is, declarative statement with selection based on one or more predicates). Navigational explosion is suitable for handling parts explosion, recursive queries and so on.

 Support for schema evolution:

The tight coupling between data and applications in OODBMSs makes schema evolution more feasible.

APPLICABILITY TO ADVANCED DATABASE APPLICATIONS

There are many areas where traditional DBMSs have not been used, such as Computer Aided Design (CAD), Computer Aided Software Engineering (CASE), Office Information System (OIS), and Multimedia systems. The enriched modeling capabilities of OODBMSs have made them suitable for these applications.

No Primary Keys

The user of an RDBMS has to worry about uniquely identifying tuples by their values and making sure that no two tuples have the same primary key values to avoid error conditions. In an OODBMS, the unique identification of objects is done behind the scenes via OIDs and is completely invisible to the user. Thus there is no limitation on the values that can be stored in an object.

Post a Comment

40 Comments

  1. Very Informative👍🏻

    ReplyDelete
  2. Over view and detail is perfect

    ReplyDelete