Second-order signature: a tool for specifying data models, query processing, and optimization
SIGMOD '93 Proceedings of the 1993 ACM SIGMOD international conference on Management of data
A polymorphic calculus for views and object sharing (extended abstract)
PODS '94 Proceedings of the thirteenth ACM SIGACT-SIGMOD-SIGART symposium on Principles of database systems
Polymorphism and type inference in database programming
ACM Transactions on Database Systems (TODS)
Flexible Relations - Operational Support of Variant Relational Structures
VLDB '95 Proceedings of the 21th International Conference on Very Large Data Bases
Hi-index | 0.00 |
We present a type system that naturally couples two different, and apparently contradictory, notions of inheritance that occur in object-oriented databases. To do this we distinguish between the type and a kind of a value: A type describes the entire structure of a value, while a kind describes only the availability of certain fields or methods. This distinction allows us to manipulate heterogeneous collections (collections of values with differing types) in a statically type-checked language. Moreover, the type system is polymorphic and types may be inferred using an extension of the technique used in ML. This means that it is easy to express general-purpose operations for the manipulation of heterogeneous collections. We believe that this system not only provides a natural approach to static type-checking in object-oriented databases; it also offers a technique for dealing with external databases in a statically typed language.