Degenerate dimension explained

According to Ralph Kimball,[1] in a data warehouse, a degenerate dimension is a dimension key (primary key for a dimension table) in the fact table that does not have its own dimension table, because all the interesting attributes have been placed in analytic dimensions. The term "degenerate dimension" was originated by Ralph Kimball.

As Bob Becker says:

Other uses of the term

Although most writers and practitioners use the term degenerate dimension correctly, it is very easy to find misleading definitions in online and printed sources. For example, the Oracle FAQ defines a degenerate dimension as a "data dimension that is stored in the fact table rather than a separate dimension table. This eliminates the need to join to a dimension table. You can use the data in the degenerate dimension to limit or 'slice and dice' your fact table measures."[2]

This common interpretation implies that it is good dimensional modeling practice to place dimension attributes in the fact table, as long as you call them a degenerate dimension. This is not the case; the concept of degenerate dimension was developed by Kimball to support a specific, well-defined exception to the otherwise ironclad rule that dimension attributes are always pulled out into dimension tables.

See also

Bibliography

External links

Notes and References

  1. Book: Ralph . Kimball . Margy . Ross . The Data Warehouse Toolkit: The Complete Guide to Dimensional Modeling . John Wiley & Sons . Indianapolis, IN . 2002 . 50, 398 . 978-0-471-20024-6 . Second .
  2. Web site: Degenerate dimension. Oracle FAQ's. 31 July 2011.