Integration of database programming and query languages for distributed object bases : a dissertation presented in partial fulfilment of the requirements for the degree of Doctor of Philosophy in Information Systems at Massey University

Thumbnail Image
Open Access Location
Journal Title
Journal ISSN
Volume Title
Massey University
The Author
Object-oriented programming is considered advantageous to other programming paradigms. It is believed to provide more flexibility, simplify development and maintenance, better model real-world situations, and is widely popular in large-scale software engineering. The idea behind object-oriented programming is that a program is composed of objects that act on each other. While programming languages mainly focus on processing, data storage and data sharing only play a minor role. Database management systems, on the contrary, have been built to support large bodies of application programs that share data. In todays database marketplace, relational and object-relational database systems are dominant. Object-oriented database systems were originally deemed to replace relational systems because of their better fit with object-oriented programming. However, high switching costs, the inclusion of object-oriented features in relational database systems, and the emergence of object-relational mappers have made relational systems successfully defend their dominance in the DB marketplace. Nevertheless, during the last few years, object-oriented database systems have established themselves as a complement to relational and object-relational systems. They have found their place as embeddable persistence solutions in devices, on clients, in packaged software, in real-time control systems etc. In order to utilise the combined power of programming languages and SQL-like database query languages, research has focused on the embedded and integrated approaches. While embedded approaches are more popular, they suffer from the impedance mismatch, which refers to an inadequate or excessive ability of one system to accommodate input from another. This situation worsens when considering the numerous conceptual and technical difficulties that are often encountered when a relational database system is being used by a program that is written in an object-oriented language. Research presented in this thesis addresses the integration of programming languages, database query languages, object-oriented programming and traditional database concepts. We investigate the stack-based approach to database programming and querying. The major objectives of our research are to: - Develop a database architecture that is suitable to integrate database programming languages, object-oriented programming and more traditional database system features; - Propose an intermediate-level database programming and querying language that combines the advantages of object-oriented programming and database querying languages. Before such a powerful language design can be achieved, a number of conceptual and technical challenges have to be investigated; - Define a suitable run-time environment, which permits an efficient and effective evaluation of such an integrated language in a distributed database environment; and - Provide proof of concept implementations.
Database design, Database systems, Database programming, Database query languages