Overview of Object-Oriented Concepts Characteristics
BY VIKAS JAGTAP
1.1 Overview of Object-Oriented Concepts Characteristics:
Object-oriented data base systems are proposed as alternative
to relational systems and are aimed at application domains
where complex objects play a central role.
The approach is heavily influenced by object-oriented
programming languages and can be understood as an attempt to
add DBMS functionality to a programming language
environment
The Object Database Management Group (ODMG) has developed
a standard Object Data Model (ODM) and Object Query Language
(OQL), which are the equivalent of the SQL standard for relational
database system.
Object Relational Database Systems:
Object-Relational Data Base Management System (ORDBMS), is a
database management system (DBMS) similar to a relational
database, but with an object-oriented database model,
objects, classes, inheritance and polymorphism are directly
supported in database schemas and in the query language. In
addition, it supports extension of the data model with custom data-
types and methods.
• One aim for the Object-relational database is to bridge the gap
between conceptual data modeling techniques such as Entity-
relationship diagram (ERD) and object-relational mapping (ORM),
which often use classes and inheritance, and relational databases,
which do not directly support them.
Another, related, aim is to bridge the gap between relational
databases and the object-oriented modeling techniques used in
programming languages such as Java, C++, or C#.
Object oriented programming
Data Base capabilities
An OODB bridges gap between OOP & Data Base Technology
Inheritance
Data Encapsulation Object Identity
Polymorphism
Security
Integrity
versioning
Transactions
Persistence
Concurrency
Query
Recovery
Archive
An object-relational DBMS allows software-developers to integrate
their own types and the methods that apply to them into the
DBMS.
ORDBMS technology aims to allow developers to raise the level of
abstraction at which they view the problem domain.
This goal is not universally shared; proponents of relational
databases often argue that object-oriented specification lowers the
abstraction level.
Many SQL ORDBMS in the market today are extensible with user-
defined types (UDT) and custom-written functions (e.g. stored
procedures).
Some (e.g. Microsoft SQL Server) allow such functions to be
written in object-oriented programming languages, but this by
itself doesn't make them object-oriented databases; in an object-
oriented database, object orientation is a feature of the data model.
Any product that adheres to the object-oriented aspects of
SQL:1999 could be described as an object-relational database
management product.
For example, IBM's DB2, Oracle database, and Microsoft SQL
Server, make claims to support this technology and do so with
varying degrees of success.
1.2 Objects: An object is the basic building block of object-
oriented programming.
Programmers developing a system model create object classes to
represent each component of a system.
Those generic classes are then used to create specific instances of
each object for use in the program.
Objects may interact with each other through the use of
methods.
Examples: In an object-oriented personnel database, there
might be a generic object class called "Employee."
Administrators may then create specific instances of that object
for individual employees, such as "Bill Jones" and "Mary Evans.“
 Users may then interact with those objects using methods
For example: HR personnel might use the increase_salary(x)
method to increase an employee's salary by $X. Mary would be
given a $500 raise by invoking "Mary Evans"-
>increase_salary(500).
OID’s:
In object database systems, data objects can be given an object
identifier (OID), which is some value i.e unique in the database
across time.
The DBMS is responsible for generating OID’s,
ensuring that an OID identifies an object uniquely over its entire
life time.
• OIDs can be system generated and user defined.
Reference Types:
The reference types are used in order to refer to a particular
location in table.
• Classes:
A class defines the data values stored by, and the functionality
associated with, an object of that class.
• One of the primary advantages of OO data
modeling is this tight integration of data and
behavior through class mechanism.
• Each object belongs to one, and only one, class.
• An object is often referred to as an instance of a
class.
• A class specification provides the external view of
the instances of that class.
• A class has an extent (sometimes called an extension), which is the
set of all instances of the class.
• Within an OODBMS, the class construct is normally used to define
the database schema.
• Some OODBMS use the term type instead of class. The OODBMS
schema defines what objects may be stored within the database.
Attributes:
Attributes represent data components that make up the content
of a class. Attributes are called data members in the C++
programming language.
• Instance attributes are data components that are stored by each
instance of the class. Class attributes (static data members in C++)
are data values stored once for all instances of the class.
• Attributes may or may not be visible to external users of the class.
Attribute types are typically a subset of the basic data types
supported by the programming language that interfaces to the
OODBMS.
Typically this includes enumeration types such as characters and
booleans, numeric types such as integers and floats, and fixed
length arrays of these types such as strings.
The OODBMS may allow variable length arrays, structures (i.e.,
records) and classes as attribute types.
Pointers are normally not good candidates for attribute types since
pointer values are not valid across application executions.
An OODBMS will provide attribute types that support inter-object
references.
OO applications are characterized by a network of inter-connected
objects.
Object inter-connections are supported by attributes that reference
other objects.
Other types that might be supported by an OODBMS include text,
graphic, and audio.
Often these data types are referred to as binary large objects
(BLOBS).
 Derived attributes are attributes that are not explicitly stored but
instead calculated on demand.
Derived attributes require that attribute access be in-distinguishable
from behavior invocation
 Behaviors:
Behaviors represent the functional component of a class.
• A behavior describes how an object operates upon its attributes and
how it interacts with other related objects.
• Behaviors are called member functions in the C++ programming
language.
• Behaviors hide their implementation details from users of a class.
Encapsulation:
Classes are said to encapsulate the attributes and behaviors of their
instances.
• Behavior encapsulation shields the clients of a class (i.e.,
applications or other classes) from seeing the internal
implementation of a behavior.
• This shielding provides a degree of data independence so that
clients need not be modified when behavior implementations are
modified (they will have to be modified if behavior interfaces
change).
• A class's attributes may or may not be encapsulated.
• Attributes that are directly accessible to clients of a class are not
encapsulated (public data members in C++ classes).
• Modifying the definition of a class's attributes that are not
encapsulated requires modification of all clients that access them.
• Attributes that are not accessible to the clients of a class are
encapsulated (private or protected data members in C++ classes).
• Encapsulated attributes typically have behaviors that provide clients
some form of access to the attribute.
• Modifications to these attributes typically do not require
modification to clients of the class.
Inheritance:
Inheritance allows one class to incorporate the attributes and
behaviors of one or more other classes.
 A subclass is said to inherit from one or more super classes.
The subclass is a specialization of the super class in that it adds
additional data or behaviors, or overrides behaviors of the super
class.
Super classes are generalizations of their subclasses.
Inheritance is recursive.
A class inherits the attributes and behaviors from its super classes,
and from its super class's super classes, etc.
In a single inheritance model, a class may directly inherit from only
a single other class.
In a multiple inheritance model a class may directly inherit from
more than one other class.
Systems supporting multiple inheritance must specify how
inheritance conflicts are handled.
Inheritance conflicts are attributes or behaviors with the same name
in a class and its superclass, or in two superclasses.
Inheritance is a powerful OO modeling concept that supports reuse
and extensibility of existing classes.
The inheritance relationships between a group of classes define a
class hierarchy.
Class hierarchies improve the ability of users to understanding
software systems by allowing knowledge of one class (a super class)
to be applicable to other classes (its subclasses).
Polymorphism:
Polymorphism allows the same operator or symbol to have
different implementations, depending on the type of objects to
which the operator is applied.
• Polymorphism and dynamic binding allow one to define operations
for one object and then to share the specification of the operation
with other objects.
• These objects can further extend this operation to provide
behaviors that are unique to those objects.
• Dynamic binding determines at runtime, which of these operations
is actually executed, depending on the class of the object requested
to perform the operation.
• Polymorphism and dynamic binding are powerful object-oriented
features that allow one to compose objects to provide solutions
without having to write code that is specific to each object.
• All of these capabilities come together synergistically to provide
significant productivity advantages to database application
developers.
DATABASE DESIGN FOR ORDBMS:
 The main objective of ORDBMS design was to achieve the
benefits of both the relational and the object models such as
scalability and support for rich data types.
ORDBMSs employ a data model that attempts to incorporate
OO features into RDBMSs.
All database information is stored in tables, but some of the
tabular entries may have richer data structure, termed abstract
data types (ADTs).
An ORDBMS supports an extended form of
SQL called SQL3 that is still in the development
stages.
The extensions are needed because ORDBMSs have to support
ADT's.
The ORDBMS has the relational model in it because the data is
stored in the form of tables having rows and columns and SQL is
used as the query language and the result of a query is also table or
tuples (rows).
But the relational model has to be drastically modified in order to
support the classic features of object-oriented programming.
Hence the characteristics of an ORDBMSs are:
Base data type extension
Support complex objects,
Inheritance, and
Rule Systems.
ORDBMS allow users to define data types, functions and operators.
As a result, the functionality of the ORDBMSs increases along with
their performance.
An example schema of a student relation which ORDBMS supports
is :
STUDENT
(fname,lname,ID,sex,major,address,dname,location,picture).
The extra attributes "location" and "picture" which are not present
in the traditional EMPLOYEE relation of RDBMS. The data type of
"location" is "geographic point" and that of "picture" is "image“ are
included in ORDBMS.
1.4 Comparing RDBMS,OODBMS & ORDBMS:
Criteria RDBMS OODBMS
ORDB
MS
Defining
standard
SQL2 ODMG-2.0
SQL3
(in
proces
s)
Support for
object-oriented
features
Does not support; It is
difficult to map program
object to the database
Supports extensively
Limited
support
;
mostly
to new
data
types
Usage Easy to use
OK for programmers; some
SQL access for end users
Easy to
use
except
for
some
extensi
ons
Support for
Complex
relationships
Does not support abstract
data types
Supports a wide variety of
data types and data with
complex inter-relationships
Supports
Abstract
Data types
And
Complex
Relationship
s
Performance Very good performance Relatively less performance
Expected to
perform very
well
Product
maturity
Relatively old and so very
mature
This concept is few years old
and so relatively mature
Still in
Developmen
t
stage so
immature.
The use of
SQL
Extensive supports SQL
OQL is similar to SQL, but with
additional features like Complex
objects and object-oriented
features.
SQL3 is
Being
Developed
with OO
Features
Incorporated
in it
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
Performanc
e
in web
Applications
Support from
vendors
It is considered to be highly
successful so the market
size is
very large but many vendors
are
moving towards ORDBMS
Presently lacking vendor
support due to vast size of
RDBMS market
All major
RDBMS
vendors are
after this so
has very
good future
The main advantage of ORDBMSs is their massive scalability.
Oracle8, released by Oracle Corporation, is designed to manage
large amounts of information.
Oracle8 is expected to help NASDAQ manage its Very Large Data
Bases, VLDBs, which contain hundreds of gigabytes of time series
applications are required by traders and analysts to examine trends
on stock data.
 In spite of many advantages, ORDBMSs also have a drawback.
The architecture of object-relational model is not appropriate for
high-speed web applications.
However, with advantages like large storage capacity, access speed,
and manipulation power of object databases, ORDBMSs are set to
conquer the database market.
The support from major DBMS vendors and its features will make
ORDBMSs the market leader.
The International Data Corporation (IDC) also expresses the
opinion that the ORDBMS market will surpass the size of the
ODBMS market in next three years.

Overview of Object-Oriented Concepts Characteristics by vikas jagtap

  • 1.
    Overview of Object-OrientedConcepts Characteristics BY VIKAS JAGTAP
  • 2.
    1.1 Overview ofObject-Oriented Concepts Characteristics: Object-oriented data base systems are proposed as alternative to relational systems and are aimed at application domains where complex objects play a central role. The approach is heavily influenced by object-oriented programming languages and can be understood as an attempt to add DBMS functionality to a programming language environment
  • 3.
    The Object DatabaseManagement Group (ODMG) has developed a standard Object Data Model (ODM) and Object Query Language (OQL), which are the equivalent of the SQL standard for relational database system. Object Relational Database Systems: Object-Relational Data Base Management System (ORDBMS), is a database management system (DBMS) similar to a relational database, but with an object-oriented database model,
  • 4.
    objects, classes, inheritanceand polymorphism are directly supported in database schemas and in the query language. In addition, it supports extension of the data model with custom data- types and methods. • One aim for the Object-relational database is to bridge the gap between conceptual data modeling techniques such as Entity- relationship diagram (ERD) and object-relational mapping (ORM),
  • 5.
    which often useclasses and inheritance, and relational databases, which do not directly support them. Another, related, aim is to bridge the gap between relational databases and the object-oriented modeling techniques used in programming languages such as Java, C++, or C#.
  • 6.
    Object oriented programming DataBase capabilities An OODB bridges gap between OOP & Data Base Technology Inheritance Data Encapsulation Object Identity Polymorphism Security Integrity versioning Transactions Persistence Concurrency Query Recovery Archive
  • 7.
    An object-relational DBMSallows software-developers to integrate their own types and the methods that apply to them into the DBMS. ORDBMS technology aims to allow developers to raise the level of abstraction at which they view the problem domain. This goal is not universally shared; proponents of relational databases often argue that object-oriented specification lowers the abstraction level.
  • 8.
    Many SQL ORDBMSin the market today are extensible with user- defined types (UDT) and custom-written functions (e.g. stored procedures). Some (e.g. Microsoft SQL Server) allow such functions to be written in object-oriented programming languages, but this by itself doesn't make them object-oriented databases; in an object- oriented database, object orientation is a feature of the data model.
  • 9.
    Any product thatadheres to the object-oriented aspects of SQL:1999 could be described as an object-relational database management product. For example, IBM's DB2, Oracle database, and Microsoft SQL Server, make claims to support this technology and do so with varying degrees of success.
  • 10.
    1.2 Objects: Anobject is the basic building block of object- oriented programming. Programmers developing a system model create object classes to represent each component of a system. Those generic classes are then used to create specific instances of each object for use in the program. Objects may interact with each other through the use of methods.
  • 11.
    Examples: In anobject-oriented personnel database, there might be a generic object class called "Employee." Administrators may then create specific instances of that object for individual employees, such as "Bill Jones" and "Mary Evans.“  Users may then interact with those objects using methods
  • 12.
    For example: HRpersonnel might use the increase_salary(x) method to increase an employee's salary by $X. Mary would be given a $500 raise by invoking "Mary Evans"- >increase_salary(500). OID’s: In object database systems, data objects can be given an object identifier (OID), which is some value i.e unique in the database across time. The DBMS is responsible for generating OID’s,
  • 13.
    ensuring that anOID identifies an object uniquely over its entire life time. • OIDs can be system generated and user defined. Reference Types: The reference types are used in order to refer to a particular location in table. • Classes: A class defines the data values stored by, and the functionality associated with, an object of that class.
  • 14.
    • One ofthe primary advantages of OO data modeling is this tight integration of data and behavior through class mechanism. • Each object belongs to one, and only one, class. • An object is often referred to as an instance of a class. • A class specification provides the external view of the instances of that class.
  • 15.
    • A classhas an extent (sometimes called an extension), which is the set of all instances of the class. • Within an OODBMS, the class construct is normally used to define the database schema. • Some OODBMS use the term type instead of class. The OODBMS schema defines what objects may be stored within the database.
  • 16.
    Attributes: Attributes represent datacomponents that make up the content of a class. Attributes are called data members in the C++ programming language. • Instance attributes are data components that are stored by each instance of the class. Class attributes (static data members in C++) are data values stored once for all instances of the class. • Attributes may or may not be visible to external users of the class.
  • 17.
    Attribute types aretypically a subset of the basic data types supported by the programming language that interfaces to the OODBMS. Typically this includes enumeration types such as characters and booleans, numeric types such as integers and floats, and fixed length arrays of these types such as strings. The OODBMS may allow variable length arrays, structures (i.e., records) and classes as attribute types. Pointers are normally not good candidates for attribute types since pointer values are not valid across application executions.
  • 18.
    An OODBMS willprovide attribute types that support inter-object references. OO applications are characterized by a network of inter-connected objects. Object inter-connections are supported by attributes that reference other objects. Other types that might be supported by an OODBMS include text, graphic, and audio. Often these data types are referred to as binary large objects (BLOBS).  Derived attributes are attributes that are not explicitly stored but instead calculated on demand.
  • 19.
    Derived attributes requirethat attribute access be in-distinguishable from behavior invocation  Behaviors: Behaviors represent the functional component of a class. • A behavior describes how an object operates upon its attributes and how it interacts with other related objects. • Behaviors are called member functions in the C++ programming language. • Behaviors hide their implementation details from users of a class.
  • 20.
    Encapsulation: Classes are saidto encapsulate the attributes and behaviors of their instances. • Behavior encapsulation shields the clients of a class (i.e., applications or other classes) from seeing the internal implementation of a behavior. • This shielding provides a degree of data independence so that clients need not be modified when behavior implementations are modified (they will have to be modified if behavior interfaces change). • A class's attributes may or may not be encapsulated.
  • 21.
    • Attributes thatare directly accessible to clients of a class are not encapsulated (public data members in C++ classes). • Modifying the definition of a class's attributes that are not encapsulated requires modification of all clients that access them. • Attributes that are not accessible to the clients of a class are encapsulated (private or protected data members in C++ classes). • Encapsulated attributes typically have behaviors that provide clients some form of access to the attribute.
  • 22.
    • Modifications tothese attributes typically do not require modification to clients of the class. Inheritance: Inheritance allows one class to incorporate the attributes and behaviors of one or more other classes.  A subclass is said to inherit from one or more super classes. The subclass is a specialization of the super class in that it adds additional data or behaviors, or overrides behaviors of the super class.
  • 23.
    Super classes aregeneralizations of their subclasses. Inheritance is recursive. A class inherits the attributes and behaviors from its super classes, and from its super class's super classes, etc. In a single inheritance model, a class may directly inherit from only a single other class. In a multiple inheritance model a class may directly inherit from more than one other class.
  • 24.
    Systems supporting multipleinheritance must specify how inheritance conflicts are handled. Inheritance conflicts are attributes or behaviors with the same name in a class and its superclass, or in two superclasses. Inheritance is a powerful OO modeling concept that supports reuse and extensibility of existing classes. The inheritance relationships between a group of classes define a class hierarchy.
  • 25.
    Class hierarchies improvethe ability of users to understanding software systems by allowing knowledge of one class (a super class) to be applicable to other classes (its subclasses). Polymorphism: Polymorphism allows the same operator or symbol to have different implementations, depending on the type of objects to which the operator is applied.
  • 26.
    • Polymorphism anddynamic binding allow one to define operations for one object and then to share the specification of the operation with other objects. • These objects can further extend this operation to provide behaviors that are unique to those objects. • Dynamic binding determines at runtime, which of these operations is actually executed, depending on the class of the object requested to perform the operation.
  • 27.
    • Polymorphism anddynamic binding are powerful object-oriented features that allow one to compose objects to provide solutions without having to write code that is specific to each object. • All of these capabilities come together synergistically to provide significant productivity advantages to database application developers.
  • 28.
    DATABASE DESIGN FORORDBMS:  The main objective of ORDBMS design was to achieve the benefits of both the relational and the object models such as scalability and support for rich data types. ORDBMSs employ a data model that attempts to incorporate OO features into RDBMSs. All database information is stored in tables, but some of the tabular entries may have richer data structure, termed abstract data types (ADTs).
  • 29.
    An ORDBMS supportsan extended form of SQL called SQL3 that is still in the development stages. The extensions are needed because ORDBMSs have to support ADT's. The ORDBMS has the relational model in it because the data is stored in the form of tables having rows and columns and SQL is used as the query language and the result of a query is also table or tuples (rows).
  • 30.
    But the relationalmodel has to be drastically modified in order to support the classic features of object-oriented programming. Hence the characteristics of an ORDBMSs are: Base data type extension Support complex objects, Inheritance, and Rule Systems.
  • 31.
    ORDBMS allow usersto define data types, functions and operators. As a result, the functionality of the ORDBMSs increases along with their performance. An example schema of a student relation which ORDBMS supports is : STUDENT (fname,lname,ID,sex,major,address,dname,location,picture).
  • 32.
    The extra attributes"location" and "picture" which are not present in the traditional EMPLOYEE relation of RDBMS. The data type of "location" is "geographic point" and that of "picture" is "image“ are included in ORDBMS.
  • 33.
    1.4 Comparing RDBMS,OODBMS& ORDBMS: Criteria RDBMS OODBMS ORDB MS Defining standard SQL2 ODMG-2.0 SQL3 (in proces s) Support for object-oriented features Does not support; It is difficult to map program object to the database Supports extensively Limited support ; mostly to new data types Usage Easy to use OK for programmers; some SQL access for end users Easy to use except for some extensi ons
  • 34.
    Support for Complex relationships Does notsupport abstract data types Supports a wide variety of data types and data with complex inter-relationships Supports Abstract Data types And Complex Relationship s Performance Very good performance Relatively less performance Expected to perform very well Product maturity Relatively old and so very mature This concept is few years old and so relatively mature Still in Developmen t stage so immature. The use of SQL Extensive supports SQL OQL is similar to SQL, but with additional features like Complex objects and object-oriented features. SQL3 is Being Developed with OO Features Incorporated in it
  • 35.
    Advantages Its dependence onSQL, 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 Performanc e in web Applications Support from vendors It is considered to be highly successful so the market size is very large but many vendors are moving towards ORDBMS Presently lacking vendor support due to vast size of RDBMS market All major RDBMS vendors are after this so has very good future
  • 36.
    The main advantageof ORDBMSs is their massive scalability. Oracle8, released by Oracle Corporation, is designed to manage large amounts of information. Oracle8 is expected to help NASDAQ manage its Very Large Data Bases, VLDBs, which contain hundreds of gigabytes of time series applications are required by traders and analysts to examine trends on stock data.  In spite of many advantages, ORDBMSs also have a drawback.
  • 37.
    The architecture ofobject-relational model is not appropriate for high-speed web applications. However, with advantages like large storage capacity, access speed, and manipulation power of object databases, ORDBMSs are set to conquer the database market. The support from major DBMS vendors and its features will make ORDBMSs the market leader.
  • 38.
    The International DataCorporation (IDC) also expresses the opinion that the ORDBMS market will surpass the size of the ODBMS market in next three years.