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
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.
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.
§ 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.
§
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.
§ 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.
40 Comments
Worrh reading
ReplyDeleteInformative
ReplyDelete👍🏻
ReplyDeleteVery Informative👍🏻
ReplyDeleteVery informative
ReplyDeleteOver view and detail is perfect
ReplyDeleteVery well written
ReplyDeleteExpert level
ReplyDeleteAppreciated
Deletevery good reference material
ReplyDeleteexcellent
ReplyDeleteAbsolutely
Deletezabardast
ReplyDeletesuperb
DeleteGood blog
ReplyDeleteYou are right
Deletesuperb information
ReplyDeleteAppreciated
DeleteInyeresting information
ReplyDeleteSuperb information
ReplyDeleteBest explained
ReplyDeleteReliable work
ReplyDeleteCreative writing
ReplyDeleteInteresting stuff
ReplyDeleteSuperb
ReplyDeleteGreat
DeleteVery informative
ReplyDeletetechnical information
ReplyDeleteIntelligent work
ReplyDeleteSuperb
ReplyDeleteSo much impressive
ReplyDeleteInformation perfect
ReplyDeleteGood one
ReplyDeleteInformative
ReplyDeleteAgreed
ReplyDeleteAbsolutely right
ReplyDeleteGood and usable
ReplyDeletegood one for beginners
ReplyDeleteBest knowledge
ReplyDeleteBest 👌
ReplyDelete