You are on page 1of 16

Presentation tittle:-

Object oriented databases

Prepared by : Abdibasid Ahmed Isse

supervised by : Dr Ibrahim Abdulhamid


What is object oriented database?
 Database systems that were based on the object data model were known
originally as object-oriented databases (OODBs) but are now referred to as
object databases (ODBs).

 Traditional data models and systems, such as network, hierarchical, and


relational have been quite successful in developing the database technologies
required for many traditional business database applications. However, they
have certain shortcomings when more complex database applications must be
designed and implemented. for example
Databases for engineering design and manufacturing (CAD/CAM and CIM),
biological and other sciences, telecommunications, geographic information
systems, and multimedia.
Why do we use object databases?

 These ODBs were developed for applications that have requirements requiring
more complex structures for stored objects. A key feature of object databases
is the power they give the designer to specify both the structure of complex
objects and the operations that can be applied to these objects.

 Another reason for the creation of object-oriented databases is the fast


increase in the use of object-oriented programming languages for developing
software applications.
Object oriented database features
1- State and behavior
 State is the values of the property attributes
 Behavior is operation that modifies the attribute
or operates upon the property attributes
Example:-

look at the board


Object oriented database features
2- persistent objects and transient objects.
when a program terminates In traditional databases , all the objects in the
system are lost, these kind of objects are know as transient objects.

while objects in ODBs exist beyond the life of the program, these kind of objects
are know as persistence objects.

3- Object identifier (OID)


OID is a mechanism to refer to a persistent object in the database
OID is immutable, which means that every OID should refer to only one object.
Example:-

Look at the board


Object oriented database features

1- complex objects
 Complex objects can be represented as the following:-

O: < I,C,V >

The three variables are known as triple


Where I = OID , C = Type constructer and v = object value
Object oriented database features

5- type constructer
 Type constructer determine how the object is constructed
 Determine the basic structure of the object

Kinds of type constructers


A) Atom:-
This is an atomic value. Eg “Abdibasid”
Object oriented database features
B) set:-
 Set of values of same type with duplication allowed
Eg.
{ 123, 456, 789, 123}
C) Bag:-
Bag is set with no duplicate items
Eg.
{ 123, 456, 789, 555}
D)List:-
Ordered collection of values
Eg.
{ 112, 345, 789, 443}
Where 112 is value one , 789 is value two…………………. 443 is value four
Object oriented database features

E) array:-
 Array is similar to a list, but with a fixed size
 F) tuple:-
 A tuple is a collection of elements which can have the previous mentioned
types
 The tuple can be represented as the following
<O1:I1 , O2:I2,…………………………On:In>
Example:-

Look at the board


Types of complex objects

 Complex objects can be divided into structured and unstructured


objects.
 Structured objects type is tuple.
 Unstructured objects has no specific type.
Unstructured complex objects

Normally an object oriented database supports of unstructured complex objects

1- Binary large objects (BLOBs): which stores binary data


ex: image.
2- character large object (CLOBs): string
ex: documents.
Object oriented database features

6- abstraction:-
 Abstraction hides implementation details while just presenting the features
to the outside world
eg: abstract art
Advantages of abstraction
1. Reduce code complexity
2. Hides the details & exposing the essential parts
eg: ODBs
Hides detailed of how data is stored and created & maintained
 7- encapsulation:-
 Hides data for purpose of protection
 By writing data and functions/code into a single unit

Eg. Class drive a car = accelerate,break,steer

Hides the details of fuel burned, rotate tires, generate electricity


Inheritance Conflicts in OO Systems

 In the OO paradigm, classes related through the ISA relationship are organized
into a class hierarchy.
 There may have attribute and/or method name conflicts among a class and its
superclasses.
 A class inherits properties (attributes and methods) from its superclasses in
the class hierarchy.
 When a class inherits several commonly named properties of its superclasses,
a conflict situation occurs which is resolved differently in different OO
systems.
Any question ?

You might also like