Query languages and a unifying framework for non-traditional data models

Data models differ in the types of modeling constructs that they provide and hence in the types of applications that they support. The inability of traditional data models to support the increasingly complex database applications has inspired the creation of several advanced data models. This dissertation describes research on non-traditional data models from the perspective of designing query languages for the models and finding a common framework for describing them. Query languages are designed for two different data models--the nested relational model and the list-structure model. The nested relational model is a recursive extension of the relational model which allows values in a relation to be relations. The query language that is designed is a recursive extension of the relational algebra. Since the query language mirrors the recursive nature of the model it overcomes some of the problems of languages that are simplistic extensions of the relational algebra and is hence better suited for the kinds of applications that the model is meant to support. Most models, like the relational and nested relational models, support set-oriented applications. The list-structure model is targeted towards applications that require support for complex objects based on lists. A query language based on list-oriented operations is designed for this model. The language reflects both the recursively hierarchical and the list-based structure of the model. The use of logic as a unifying framework for describing data models is investigated. From a practical point of view, this is an initial step towards designing systems that can provide the capabilities of several different models. From a theoretical perspective, it gives us a common framework for defining database concepts and for describing and comparing data models. Some ideas on how the framework may be used to study semantic equivalences of data models are also presented.