Distributed object Database Management Systems & Object Oriented Data Model
Distributed Object Database Management Systems
Fundamental Object Concepts & Models
An Object-Oriented DBMS (OODBMS) stores data as objects (like OOP) instead of tables.
Basic Concepts
| Concept | Description |
|---|---|
| Object | Instance with data + behaviour |
| Class | Blueprint of objects |
| Attributes | Data values |
| Methods | Functions/operations |
| Encapsulation | Data 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
| Issue | Description |
|---|---|
| Object Distribution | Where objects are stored |
| Object Identity | Unique ID across the system |
| Query Processing | Efficient retrieval |
| Concurrency Control | Multiple object access |
| Transaction Management | ACID support |
Object Management
Handling creation, storage, update, and deletion of objects.
Tasks
| Task | Description |
|---|---|
| Object Creation | Create instances |
| Object Access | Retrieve objects |
| Object Update | Modify data |
| Object Deletion | Remove objects |
Distributed Object Storage
Storing objects across multiple nodes.
Techniques
| Technique | Description |
|---|---|
| Fragmentation | Split objects |
| Replication | Copy objects |
| Clustering | Store 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
| Type | Description |
|---|---|
| Persistent | Stored permanently |
| Transient | Temporary |
Persistence Diagram
Program End
|
Objects Stored in DB
|
Reused Later
Comparison: OODBMS vs ORDBMS
Comparison Table
| Feature | OODBMS | ORDBMS |
|---|---|---|
| Data Model | Object-based | Relational + Objects |
| Structure | Classes | Tables |
| Relationships | Object references | Foreign keys |
| Query Language | OQL | SQL |
| Performance | Good for complex data | Better 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