Migrating relational databases to object technology

Migrating relational databases to object technology

phdthesis
Andreas Behm
Tremendous changes have been taking place in information technology for a few decades. Due to the rapid evolution in this area, the demand for innovation in this area is much higher than elsewhere. This requires large efforts of companies to respond quickly to market conditions in order to organize work and conduct business more efficiently. In particular, companies have to reengineer existing information systems in order to take benefit of new key technologies like WWW or E-commerce. A typical scenario in many companies when applying a reengineering process is that on the one hand, a large body of data is captured in relational (or even hierarchical or network) databases, and on the other hand new object-oriented applications have to be developed. Thereby, a new object model is constructed which represents the current state of the companies business processes. However, the new object model and the existing relational database's model usually do not go well together. In other words, a large semantic gap between both models must be bridged. The approach proposed in this thesis is database migration. Basically, this approach comprises two tasks. In the first task, the relational database schema is reengineered. The schema is transformed into a well-designed and intuitively understandable object-oriented schema, which the new applications can adapt. Afterwards, the data are (automatically) migrated into an object-oriented DBMS. Existing approaches for migration do not exploit the full potential of the object-oriented paradigm so that the resulting object-oriented schema still "looks rather relational" and retains the drawbacks and weaknesses of the relational schema. Therefore, one of the goals of this approach is to support schema transformation into an adequate object-oriented schema as obtained by forward engineering, rigorously using an object-oriented design method. In the first part of the thesis, the fundamental differences between relational and object-oriented database design are discussed. The results of this part are classified into four categories: specification of object-oriented behaviour, navigational vs. set-oriented data access, object life cycles, and deficiencies of relational database schemas. Each category represents a specific aspect in which relational database design differs principally from object-oriented design. For the implementation of the database migration process an intermediate data model (SOT, Semi Object Types) is proposed which allows to define both, schema transformation and data migration. This data model contains all object-oriented modeling constructs and supports flexible schema transformation. Furthermore, an algebra is proposed for a formal definition of the data migration process. The schema transformation process is subdivided into three sequential phases. In the first phase, the relational schema is transformed (automatically) into an SOT schema. This initial SOT schema is then redesigned resulting in an adequate object-oriented schema. Finally, in the third phase the resulting SOT schema is (again automatically) transformed into an object-oriented schema according to the ODMG standard. The data migration process is generated automatically for each schema transformation phase. In order to implement schema transformation, the concept of the transformation rule is proposed. The transformation rules define elementary restructuring operations within the SOT model. A basic set of transformation rules has been proposed which can be extended. Finally, a prototype has been implemented as a proof of concept.
Migrating relational databases to object technology
2001
University of Zurich, Department of Informatics