The engine then submits the queries to the relational database. The engine takes the query results, converts them to be viewed in a multidimensional format and returns them to the end user. The engine uses pre-calculated results if available. To increase the response times, optimization techniques such as aggregate inferencing, application-level table partitioning, denormalization support and multiple fact table joins are utilized. However, that multidimensional conceptual model has to be mapped into relations and SQL queries.
Most data warehouses utilize a star schema to map the multidimensional model.
This consists of a single fact table that contains primary keys to each dimensional table. There is one table for each dimension represented in the multidimensional conceptual model. The multidimensional database stores the data in arrays, rather than storing it as records in tables. Each dimension is described by a set of attributes. The data from transaction processing systems are loaded into the MDDB arrays by performing a series of batch calculations.