1. A computer-implemented method of generating an object model from a dimensional model, the method comprising: automatically generating a dimensional model that is derived from a given, initial object model and a relational database, wherein the dimensional model reflects and preserves object relationships between objects in the given object model and relational relationships in the relational database, wherein associations in the given object model are utilized to infer foreign key relationships in the dimensional model, and wherein the dimensional model has a plurality of fact tables, each fact table having one or more corresponding dimensions; generating, with a computer, a programming object model based on the dimensional model, wherein generating the programming object model comprises: for each of the plurality of fact tables in the dimensional model, retrieving a fact table in the dimensional model; generating a primary entity for the programming object model corresponding to the retrieved fact table; and generating a non-primary entity, related to the primary entity, for each dimension of the retrieved fact table and relating the primary entity and non-primary entity in the programming object model based on a foreign key relationship in the dimensional model between the fact table and the dimension; and generating an analytical program with the programming object model for receiving a query and accessing the data through the programming object model based on the query, wherein accessing the data comprises: receiving an object oriented query expression expressed in terms of entities in the programming object model; and translating the object oriented query expression into a dimensional model query expression and executing the dimensional model query expression against the dimensional model.