Polymorphic Type Inference for the Relational Algebra

We give a polymorphic account of the relational algebra. We introduce a formalism of “type formulas” specifically tuned for relational algebra expressions, and present an algorithm that computes the “principal” type for a given expression. The principal type of an expression is a formula that specifies, in a clear and concise manner, all assignments of types (sets of attributes) to relation names, under which a given relational algebra expression is well-typed, as well as the output type that expression will have under each of these assignments. Topics discussed include complexity and polymorphic expressive power.