Distributed object Database Management Systems & Object Oriented Data Model



Distributed Object Database Management Systems

Distributed object Database Management Systems & Object Oriented Data Model

Fundamental Object Concepts & Models

An Object-Oriented DBMS (OODBMS) stores data as objects (like OOP) instead of tables.

Basic Concepts

ConceptDescription
ObjectInstance with data + behaviour
ClassBlueprint of objects
AttributesData values
MethodsFunctions/operations
EncapsulationData hiding

Object Model Diagram

Class: Student
--------------------
| id |
| name |
--------------------
| getDetails() |
--------------------

Features

  • Combines database + object-oriented programming
  • Supports complex data types
  • Reduces impedance mismatch

Object Distributed Design

Designing object databases across multiple distributed sites.

Key Considerations

  • Object fragmentation
  • Object replication
  • Object allocation

Distributed Object Design

Object Class

Fragmentation

Distribution across Nodes

Goals

  • Efficient access
  • Reduced communication cost
  • Scalability

Architectural Issues in OODBMS

Key Issues

IssueDescription
Object DistributionWhere objects are stored
Object IdentityUnique ID across the system
Query ProcessingEfficient retrieval
Concurrency ControlMultiple object access
Transaction ManagementACID support

Object Management

Handling creation, storage, update, and deletion of objects.

Tasks

TaskDescription
Object CreationCreate instances
Object AccessRetrieve objects
Object UpdateModify data
Object DeletionRemove objects

Distributed Object Storage

Storing objects across multiple nodes.

Techniques

TechniqueDescription
FragmentationSplit objects
ReplicationCopy objects
ClusteringStore related objects together

Storage Diagram

Node1 → Object A
Node2 → Object B
Node3 → Object A (Replica)

Object Query Processing

Retrieving objects using object-oriented query languages (OQL).

Steps

Query → Decomposition → Optimization → Execution → Result

Example (OQL-like)

SELECT s.name FROM Student s WHERE s.marks > 80;

Challenges

  • Complex object relationships
  • Distributed execution

Object-Oriented Data Model

Inheritance

Mechanism where the child class inherits properties of the parent class.

Example

Person
|
Student (inherits Person)

Types

  • Single inheritance
  • Multiple inheritance

Advantages

  • Code reuse
  • Easy maintenance

Object Identity

Each object has a unique identifier (OID) independent of its values. Example: Two objects may have the same data but different OIDs.

Diagram

Object1 → OID = 101
Object2 → OID = 102

Persistent Programming Language

Languages that allow objects to persist beyond program execution.

Examples

  • Java (with persistence frameworks)
  • C++ (with object DB support)

Features

  • Store objects permanently
  • Automatic object retrieval

Persistence of Objects

Ability of objects to exist after the program ends.

Types

TypeDescription
PersistentStored permanently
TransientTemporary

Persistence Diagram

Program End
|
Objects Stored in DB
|
Reused Later

Comparison: OODBMS vs ORDBMS

Comparison Table

FeatureOODBMSORDBMS
Data ModelObject-basedRelational + Objects
StructureClassesTables
RelationshipsObject referencesForeign keys
Query LanguageOQLSQL
PerformanceGood for complex dataBetter for structured data

Explanation

OODBMS

  • Best for complex applications (CAD, multimedia)

ORDBMS

  • Extension of relational DB with object features

Combined Architecture

Application (OOP)
|
OODBMS Layer
|
Distributed Object Storage
|
Multiple Nodes

Important Exam Questions

Short Questions

  • Define object identity
  • What is inheritance?
  • What is persistence?

Long Questions

  • Explain the object-oriented data model
  • Describe the distributed object DBMS architecture
  • Compare OODBMS and ORDBMS

Case-Based Questions

  • Design an object database for a student system
  • Explain object storage in a distributed environment

Final Summary

  • OODBMS → stores data as objects
  • Inheritance → reuse properties
  • Object Identity → unique ID
  • Persistence → long-term storage
  • OODBMS vs ORDBMS → object vs relational extension