An abstraction layer (50) is provided for facilitating accessing a
database (10) containing database records each including a plurality of
fields stored in one or more tables (12, 14). The abstraction layer (50)
includes a control table (52) containing control records corresponding to
database fields. Each control record contains metadata associated with
the corresponding database field. The abstraction layer (50) also
includes at least one additional table (54, 56, 58, 60, 62, 64, 66, 70,
72, 74, 80) containing additional metadata. Each database field is
selectively associated with one or more selected portions of the
additional metadata through metadata contained in the control record
corresponding to the database field. A user database application (30)
accesses the database (10) using metadata obtained from the abstraction
layer (50).