On genericity and parametricity (extended abstract)

Genericity is a property of queries expressed in declarative query languages. The idea, first expressed in [2, 7], is that data values are uninterpreted, hence a query should be invariant under isomorphisms (i.e. element renaming) of dat abases. This has been generalized, following [10], to account for preservation of constants. This concept of genericity is intimately related to classical relational database research, that considered databases as constructed over an abstract domain of uninterpreted elements. However, the scope of database models has vastly expanded in the last decade. Multiple domains, use of domain functions and predicates, user-defined types, and bulk types — these are essential components of recent data models. Genericity is central to many results in the theory of databases, yet little attention has been paid to it in the development of the new models. This paper tries to amend this situation. We show in the paper that there is a rich structure of genericit y concepts, and argue that genericity provides insight about the relationships between the properties of data structures used in a data