1. A computer system for providing access to a database upon a request from an application computer program, comprising: a data model represented in a data dictionary; an application program interface; data storage; a database kernel, providing access from the application program interface to the data storage; wherein said database kernel includes a database runtime module for providing access from the application program interface to the database kernel, said runtime module being dynamically changeable, dependent on the data model represented in the data dictionary, and a storage engine module for providing access from the runtime module to the data storage, said storage engine module being invariable and independent of said data model.