Relationship Between Query Complexity and the Value of Its Answer
A simple query typically accesses only a few tables, as illustrated by the following graphic.
The simplicity of such a query maps directly into the simplicity of the answer it returns. In other words, simple queries tend to deliver low-value answers which, in turn, enable low-value actions.
More complex queries, on the other hand, investigate the multivariate relationships among many tables in search of the high-value answers that come from mining the many interrelationships among the tables accessed. The following graphic illustrates the concept of a moderately complex query. The example winds its way through four individual tables, accessing one of them several times. A more realistic complex query could easily access hundreds of tables, including as many as 128 of them in a single join!
Query complexity exerts a processing an I/O burden that many commercial relational database management systems are not capable of handling, which is the principal reason that most data warehouse vendors advocate the use of summary data.
The relationship between query complexity and the extent of detail in the database is direct and profound. For example, Foote and Krishnamurthi (2001), in a study of the data warehousing experiences of WalMart, reported that the company estimates that its power users earn more than $12,000 for the enterprise per complex query, and that those users perform as many as 1,000 queries per day. While summary data is often good enough to answer simple queries, it cannot deliver the sorts of answers that more complex queries seek. This is an extremely important concept to understand before designing your databases, because you need to provide the level of detail in the data that can deliver answers to the types of questions you will be asking.