The construction of Object-Oriented Database Management Systems started in the middle 80's, at a prototype building level, and at the beginning of the 90's the first commercial systems appeared. The interest for the development of such systems stems from the need to cover the modeling deficiencies of their predecessors, that is the relational database management systems. They were intended to be used by applications that have to handle big and complex data such as Computer Aided Engineering, Computer Aided Design, and Office Information Systems. The area of the OODBMSs is characterized by three things. First, it lacks a common data model. There is no common data model although many proposals can be found in the literature. This is a more general problem of all the object-oriented systems not only the database management systems. Since the data model determines the database language of the system, which in turn determines the implementation of the system, we can understand that the differences between the various systems with different data models can be big and substantial. Second is the common theoretical framework. Although there is no standard object-oriented model, most object-oriented database systems that are operational or under development today share a set of fundamental object-oriented concepts. Therefore the implementation issues in OODBMSs that arise due to these concepts are universal. The third characteristic is that of experimental activity. Plenty of prototypes have been implemented and some of them became commercial products. There is really a need for applications to handle very complex data and that is why the interest of people in building such systems is so strong.Although there is no consensus on what an OODBMS is and which are the features that differentiate it from other systems, there has been a lot of effort for an agreement on defining the formal characteristics that can stand as the set of specification req...