| Oracle FAQ | Your Portal to the Oracle Knowledge Grid | |
Home -> Community -> Usenet -> comp.databases.theory -> The Mathematical Foundation of OODBs (XDb)
If a RDB can be defined as follows:
One can represent a relation as a table of values where each row corresponds to a tuple, each column corresponds to a named attribute and each cell contains some value stored in the relation.
For example
Relation: Person
Id Name Age
Then an OODB can be "ROUGHLY" defined as follows:
One can represent a single-column relation as a single column of
values where each row corresponds to a tuple, the column corresponds
to the named attribute
and each cell contains some value stored in the relation.
For example, data viewed in XDb's Class/Instance Hierarchy (www.xdb1.com/Basics/ObjHierarchy.asp) appears as below:
Relation: Person
1
2
Relation: Name
John
Mary
Relation: Age
32
22
The same data viewed in XDb's Parent/Child Hierarchy appears as shown below:
Person[id=1]
.Name=John
.Age=32
Person[id=2]
.Name=Mary
.Age=22
An OODB can be defined more precisely as follows:
But unlike RDB where each tuple in the relation is typically a simple
value,
in OODB each instance is actually an object which allows it to have
its own instances.
For example:
Person
John
Mary
Doctor
Jim
Jerry
Or more generically, where [] indicates objects class:
Root
Obj1 [Root]
Inst11 [Obj1]
Inst12 [Obj1]
Obj2 [Root]
Inst21 [Obj2]
Inst22 [Obj2]
Obj3 [Root]
Inst31 [Obj3]
Inst32 [Obj3]
In RDBs, the relation (box) and values (marbles) are of different
type.
The box and the marbles it holds are of different type.
It isn't practical for a marble to act as box, although it is not
impossible.
In OODBs, the class (obj) and its instances (obj) are of the same
type.
Both are objects.
This orthogonality allows an instance to have its own instances and so
on.
Orthogonality makes it is possible to create algorithms that are more generic and more resilient to schema-evolutions.
Put simply:
1. Pure OODBs are based on the same mathematical foundation as RDBs.
2. Pure OODBs are more orthogonal then RDBs.
For further details see www.xdb1.com
![]() |
![]() |