Prof. Neeraj Bhargava
Pooja Dixit
Department of Computer Science
School of Engineering & System Science
MDS, University Ajmer, Rajasthan, India
1
 An object database is a database management system in which
information is represented in the form of objects as used
in object-oriented programming. Object databases are different
from relational databases which are table-oriented. Object-
relational databases are a hybrid of both approaches.
 OODBMSs allow object-oriented programmers to develop the
product, store them as objects, and replicate or modify existing
objects to make new objects within the OODBMS.
 Because the database is integrated with the programming
language, the programmer can maintain consistency within one
environment, in that both the OODBMS and the programming
language will use the same model of representation.
 Object-oriented modeling (OOM) is the construction of objects
using a collection of objects that contain stored values of the
instance variables found within an object. Unlike models that are
record-oriented, object-oriented values are solely objects.
2
 An object-oriented database is a database that subscribes to a
model with information represented by objects. Object-oriented
databases are a niche offering in the relational database
management system (RDBMS) field and are not as successful or well-
known as mainstream database engines.
 As the name implies, the main feature of object-oriented databases
is allowing the definition of objects, which are different from normal
database objects. Objects, in an object-oriented database, reference
the ability to develop a product, then define and name it. The object
can then be referenced, or called later, as a unit without having to go
into its complexities. This is very similar to objects used in object-
oriented programming.
 A real-life parallel to objects is a car engine. It is composed of
several parts: the main cylinder block, the exhaust system, intake
manifold and so on. Each of these is a standalone component; but
when machined and bolted into one object, they are now collectively
referred to as an engine. Similarly, when programming one can
define several components, such as a vertical line intersecting a
perpendicular horizontal line while both lines have a graded
measurement. This object can then be collectively labeled a graph.
3
 OODB = Object Orientation + Database Capabilities
FEATURES TO BE CONSIDERED:
 Persistence
 support of transactions
 simple querying of bulk data
 concurrency control
 resilience and recovery
 Security
 Versioning
 integrity
 performance issues
• DATA MODELS TO BE CONSIDERED:
 Complex object model
 Semantic data model such as Extended ER (EER) model
 OPM model
4
The Object-Oriented Data Model
 A data model is a logic organization of the real world objects (entities),
constraints on them, and the relationships among objects. A DB
language is a concrete syntax for a data model. A DB system implements
a data model.
 A core object-oriented data model consists of the following basic
object-oriented concepts:
(1) object and object identifier: Any real world entity is uniformly
modeled as an object (associated with a unique id: used to pinpoint an
object to retrieve).
(2) attributes and methods: every object has a state (the set of values for
the attributes of the object) and a behavior (the set of methods -
program code - which operate on the state of the object). The state and
behavior encapsulated in an object are accessed or invoked from outside
the object only through explicit message passing.
(3) class: a means of grouping all the objects which share the same set
of attributes and methods. An object must belong to only one class as
an instance of that class (instance-of relationship). A class is similar to
an abstract data type. A class may also be primitive (no attributes), e.g.,
integer, string, Boolean.
(4) Class hierarchy and inheritance: derive a new class (subclass) from an
existing class (superclass). The subclass inherits all the attributes and
methods of the existing class and may have additional attributes and
methods. single inheritance (class hierarchy) vs. multiple inheritance
(class lattice).
5

Object oriented modeling

  • 1.
    Prof. Neeraj Bhargava PoojaDixit Department of Computer Science School of Engineering & System Science MDS, University Ajmer, Rajasthan, India 1
  • 2.
     An objectdatabase is a database management system in which information is represented in the form of objects as used in object-oriented programming. Object databases are different from relational databases which are table-oriented. Object- relational databases are a hybrid of both approaches.  OODBMSs allow object-oriented programmers to develop the product, store them as objects, and replicate or modify existing objects to make new objects within the OODBMS.  Because the database is integrated with the programming language, the programmer can maintain consistency within one environment, in that both the OODBMS and the programming language will use the same model of representation.  Object-oriented modeling (OOM) is the construction of objects using a collection of objects that contain stored values of the instance variables found within an object. Unlike models that are record-oriented, object-oriented values are solely objects. 2
  • 3.
     An object-orienteddatabase is a database that subscribes to a model with information represented by objects. Object-oriented databases are a niche offering in the relational database management system (RDBMS) field and are not as successful or well- known as mainstream database engines.  As the name implies, the main feature of object-oriented databases is allowing the definition of objects, which are different from normal database objects. Objects, in an object-oriented database, reference the ability to develop a product, then define and name it. The object can then be referenced, or called later, as a unit without having to go into its complexities. This is very similar to objects used in object- oriented programming.  A real-life parallel to objects is a car engine. It is composed of several parts: the main cylinder block, the exhaust system, intake manifold and so on. Each of these is a standalone component; but when machined and bolted into one object, they are now collectively referred to as an engine. Similarly, when programming one can define several components, such as a vertical line intersecting a perpendicular horizontal line while both lines have a graded measurement. This object can then be collectively labeled a graph. 3
  • 4.
     OODB =Object Orientation + Database Capabilities FEATURES TO BE CONSIDERED:  Persistence  support of transactions  simple querying of bulk data  concurrency control  resilience and recovery  Security  Versioning  integrity  performance issues • DATA MODELS TO BE CONSIDERED:  Complex object model  Semantic data model such as Extended ER (EER) model  OPM model 4
  • 5.
    The Object-Oriented DataModel  A data model is a logic organization of the real world objects (entities), constraints on them, and the relationships among objects. A DB language is a concrete syntax for a data model. A DB system implements a data model.  A core object-oriented data model consists of the following basic object-oriented concepts: (1) object and object identifier: Any real world entity is uniformly modeled as an object (associated with a unique id: used to pinpoint an object to retrieve). (2) attributes and methods: every object has a state (the set of values for the attributes of the object) and a behavior (the set of methods - program code - which operate on the state of the object). The state and behavior encapsulated in an object are accessed or invoked from outside the object only through explicit message passing. (3) class: a means of grouping all the objects which share the same set of attributes and methods. An object must belong to only one class as an instance of that class (instance-of relationship). A class is similar to an abstract data type. A class may also be primitive (no attributes), e.g., integer, string, Boolean. (4) Class hierarchy and inheritance: derive a new class (subclass) from an existing class (superclass). The subclass inherits all the attributes and methods of the existing class and may have additional attributes and methods. single inheritance (class hierarchy) vs. multiple inheritance (class lattice). 5