A computer-implemented method for model-based analysis in a relational database, the method comprising: - accessing a model repository comprising a plurality of models respectively being adapted to solve, when used by an analytical program, a computational task, the model repository comprising a best-model, the best-model being the one of the plurality of models being the best suited for solving the computational task; - creating a first database table in the database, the first database table having a predefined table structure that corresponds to structural requirements of the analytical program; - reading the best-model from the model repository and storing the best-model in the first database table, - receiving, by the analytical program, a request (122, 123, 170) of a client device to solve the computational task, the request comprising input data; - the analytical program determining if the request comprises a model-ID; - if the received request does not comprise a model-ID, the analytical program reading the model currently stored in the first table and using the read model for performing the computational task on the input data; - if the received request comprises a model-ID, the analytical program performing: o creating a second database table (144, 146) in the database, the second database table having a predefined table structure that corresponds to structural requirements of the analytical program, o reading the identified model from the model repository, o storing the read identified model in the second table, and o using the model read from the second table for performing the computational task on the input data; - the analytical program returning a result of the performing of the computational task to the client device. - accessing a model repository comprising a plurality of models respectively being adapted to solve, when used by an analytical program, a computational task, the model repository comprising a best-model, the best-model being the one of the plurality of models being the best suited for solving the computational task; - creating a first database table in the database, the first database table having a predefined table structure that corresponds to structural requirements of the analytical program; - reading the best-model from the model repository and storing the best-model in the first database table, - receiving, by the analytical program, a request (122, 123, 170) of a client device to solve the computational task, the request comprising input data; - the analytical program determining if the request comprises a model-ID; - if the received request does not comprise a model-ID, the analytical program reading the model currently stored in the first table and using the read model for performing the computational task on the input data; - if the received request comprises a model-ID, the analytical program performing: o creating a second database table (144, 146) in the database, the second database table having a predefined table structure that corresponds to structural requirements of the analytical program, o reading the identified model from the model repository, o storing the read identified model in the second table, and o using the model read from the second table for performing the computational task on the input data; o creating a second database table (144, 146) in the database, the second database table having a predefined table structure that corresponds to structural requirements of the analytical program, o reading the identified model from the model repository, o storing the read identified model in the second table, and o using the model read from the second table for performing the computational task on the input data; - the analytical program returning a result of the performing of the computational task to the client device.