Abstract: A method and apparatus for providing a flexible database application capable of permitting users to add, update or delete data columns and optionally their display attributes from a relational database management system data table is disclosed. A set of data records are stored in, four or more tables as a data compilation. A primary key used to locate specific data records and a row identifier key are stored in a data key data table. The name of the set of data records and a corresponding table identifier key are stored in a dynamic column support data table. The table identifier key is also stored along with a field identifier key and data field attributes information in a custom fields data table. The row identifier key, the field identifier key and a stored data value are stored in a separate custom value data table.