Providing object-oriented access to existing relational databases
Chandrashekar Ramanathan · 1998
The ability to use relational database technology and object-oriented technology together in an environment that preserves past instruments in relational databases and applications is very important. Many information systems use relational database systems for efficient sharing, storage, and retrieval of large quantities of data. On the other hand, object-oriented programming has been gaining wide acceptance in the programming community as a paradigm for developing complex applications that are easy to extend and maintain. The main power of object-oriented programming stems from the semantically rich modelling constructs. By definition, there are many incompatibilities between the relational and object-oriented data models. Software developers need special techniques to convert the data that is residing in a relational database to a format that is suitable for object-oriented applications to access and manipulate. This dissertation presents algorithms for extracting the structural portion of the object-oriented schema that corresponds to a given existing relational schema. Algorithms for extracting object-oriented constructs such as object classes and relationships between object classes (vis., association, aggregation, and inheritance) from the definition of an existing relational database are specified. The algorithms take into consideration many modern relational database design alternatives. A few such alternatives are the use of binary data types either to store multi-valued attributes or complex-valued attributes in a relational column, denormalization of the schema to avoid joint operations, and so on. It is assumed that the relational schema includes the definition of the primary key and foreign keys for the relations. The relations need to be at least in second normal form (2NF). User interaction is required for providing the functional dependencies for all 2NF relations, and for specifying the composition of complex objects that the binary objects may represent. The quality of the extracted object-oriented schema is evaluated using the concepts of consistency and completeness of the object-oriented schema with respect to the source relational schema. A significant result of this research is the development of an integrated environment for mapping a relational schema to an object-oriented schema without the need to modify the existing relational schema.