Abstract
A number of data models for complex database objects have been proposed. Unfortunately, these data models have not been well integrated in type systems of programming languages. This paper develops a mathematical theory for types and domains of databases that can serve as a “bridge” between complex data models and type systems of programming languages. Based on this framework, a concrete type system for complex database objects and its semantic domain are constructed. The type system allows arbitrarily complex structures that can be constructed by labeled records, labeled disjoint unions, finite sets and recursion, covering most of the proposed complex database objects. Moreover, its semantic domain is a proper generalization of the relational model to those complex structures. In addition to standard operations that can be found in programming languages, join and projection are available as polymorphically typed computable functions on arbitrary complex objects. It is then shown that both the type system and the semantic domain can be uniformly integrated in an ML-like programming language. This leads us to develop a database programming language that supports rich data structures and powerful operations for databases while enjoying desirable features of modern type systems of programming languages including polymorphism and static type inference.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.