The term OLAP was first introduced by E. F. Codd, who pioneered Relational Database Management Systems (RDBMS). Below are the twelve rules defined by Codd that OLAP technology must support.
Multidimensional conceptual view |
Supports EIS (Executive Information System) slice and dice operations and is usually required in financial modeling. |
Transparency |
Is part of an open system that supports heterogeneous data sources. Furthermore, the end user should not be concerned about the details of data access or conversions. |
Accessibility |
Presents the user with a single logical schema of the data. OLAP engines act as middleware, sitting between heterogeneous data sources and an OLAP front-end. |
Consistent reporting performance |
Performance should not degrade as the number of dimensions in the model increases. |
Client/server architecture |
Requires open, modular systems. Not only the product should be client/server but the server component of an OLAP product should allow that various clients could be attached with minimum effort and programming for integration. |
Generic dimensionality |
Not limited to 3-D and not biased toward any particular dimension. A function applied to one dimension should also be able to be applied to another. |
Dynamic sparse-matrix handling |
Related both to the idea of nulls in relational databases and to the notion of compressing large files, a sparse matrix is one in which not every cell contains data. OLAP systems should accommodate varying storage and data-handling options. |
Multiuser support |
Supports multiple concurrent users, including their individual views or slices of a common database. |
Unrestricted cross-dimensional operations |
All dimensions are created equal, so all forms of calculation must be allowed across all dimensions, not just the measures dimension. |
Intuitive data manipulation |
Users shouldn't have to use menus or perform complex multiple step operations when an intuitive drag and drop action will do. |
Flexible reporting |
Users should be able to print just what they need, and any changes to the underlying model should be automatically reflected in reports. |
Unlimited dimensional and aggregation levels |
Supports at least 15, and preferably 20, dimensions. |