Database II

Object Oriented Databases

Muhammad Asghar Khan


Weaknesses of Relational DBMS 
Representation of real world entities
‡ A process of normalization generally leads to the creation of relations that do not correspond to entities in the real world 

Semantic Overloading
‡ Relational model has only one construct for representing data and data relationships i.e relation, therefore it is said that relational model is semantically overloaded 

Limited Operations
‡ Only fixed set of operations, such as set and tuple oriented operations

Object Oriented Concepts (1/3) 
OO techniques are firmly rooted in the structure and meaning of data, and interaction b/w that data and other data  In OO we put more effort into the design stages of a project, but has the benefits of extensibility  An object is a building block of an OO application


Object Oriented Concepts (2/3) 
Object encapsulates part of the application, which may be a process, a chunk of data etc  The type of an object is known by a special name in OO called class  We can use the class definition to ³instantiate´ objects  Object instantiation means to create a real, named instance of a class

Object Oriented Concepts (3/3) 
‡ The ability of an object to hide its internal data and methods, making only the intended parts of the object programmatically accessible 

‡ A class may inherit from another, which means that it will have all the members that the class it inherits from has ‡ In OOP terminology, the class being inherited (also known as derived) from is the parent class (also known as the base class) 

‡ Polymorphism is the consequence of inheritance, that is classes deriving from a base class have an overlap in the methods and properties that they expose

Object Data Model (ODM) 
ODM is a data model that captures the semantics of objects supported in OOP  Object Database (ODB) is persistent and shareable collection of objects defined by an ODM  Object DBMS (ODBMS) the manager of ODB 


Issues in ODBMSs 
Persistence  Transactions  Versions (Objects Versions)  Architecture (Client-Server)


Advantages of ODBMSs 
Enriched modeling capabilities  Extensibility  Support for long duration transactions  Improved performance


Lack of universal data model  Lack of experience  Lack of standards  Locking  Views  Security