Special Tables in a Relational Database
A rich database has several kinds of special tables:
- terms: definitions of the terms used in a domain; a triplet: term-definition-language (a fourth field might be the language of the definition)
- languages: languages and their language codes, usually two-letter words
- translations: term-translation-language triplets: each row holds a term, its translation, and the language it has been translated into.
- relationships: set-theoretic (inclusion, disjunction), class- and hierarchy- oriented (is-a, sibling-of, parent-of...), orderings (precedes, is-better-than...)
- enumerations: tables that other tables' columns reference; these tables should be add-only and be augmented by appointed users; remember that you cannot define enumerations in standard SQL and each vendor implements their own extension to provide this functionality.
- belongingness: tables to record that something belongs in a set, for instance a Person may have several PhoneNumbers
- depended-on tables