A relational database system is inadequate for complex application domains such as CAD/CAD, VLSI Design and GIS because it offers a restricted type system that lacks the modeling power and expressiveness. However an object-oriented database system is emerging as a next generation database system for supporting complex applications using the definition and manipulation of the class concept, the generalization relationship and the aggregation relationship. The aggregation relationship is supported complex object, which have relations with component objects. These relations are represented by the object identifier(OID).
Despite its superior expressive power in comparison with the established relational database management system(DBMS), the acceptance of the object-oriented(OO)DBMS will ultimately depend on its performance. There are many researches for improving the performance of the OODBMS. One of the method for improving the performance of the OODBMS is pointer swizzling which replaces the OID to the memory address of the object, and unswizzling which replaces the swizzled pointer to the OID at object replacement time and object save time.
In this thesis, different techniques for pointer swizzling are classified with system architecture. In addition, eager/lazy, direct/indirect pointer swizzling algorithms are designed and implemented on a dual buffer structure. The results of the performance evaluation show that there is no one superior pointer swizzling technique for all cases. But the performance of lazy-indirect pointer swizzling technique is generally good because unnecessary pointers are not swizzled, and unswizzling overhead is minimized.