I have been thinking, true relational databases (following the TheThirdManifesto recommendations) would have language with strong capabilities to create domains, and therefore, they would have no need for column names.. Why? Well in SQL you need column names because you define a table like this: Person (F''''''irstName:String, L''''''astName:String, B''''''irthDate: Date), but, with a language that makes it really easy to create custom domains (user defined types) a relvar could be defined as: Person (F''''''irstName, L''''''astName, B''''''irthDate), with F''''''irstName and L''''''astName deriving from String, and B''''''irthDate deriving from Date. ''Unless you're planning to reference columns by position, you haven't eliminated column names. You've imposed a requirement that a column's name be the same as its type name. It might be a useful shorthand for defining RelVar''''''s that simultaneously enforces the appropriate use of types, but I don't see it changing anything else.''