Dimensional Data Model

Junk Dimension



Junk Dimension is used to records a collection of low-cardinality Flags and Indicators data. Flag data may be non-generic question's answers like Yes/No or True/False or Activate/Deactivate. Indicator data may be Height, Width, Weight, Color, Status and other tiny text data.

To optimize database design, identify and eliminates low-cardinality Flags and Indicators attributes from Fact table that collection of attributes should recomposes in a Junk Dimension table. Junk Dimension is helps to avoid multiple Foreign Key referential integrity between one Fact and many Dimension tables into one Fact and one Junk Dimension table.

Multiple Junk Dimension tables need to design based on the collection of low-cardinality complex structure. The following Online Sales Management System Data Mart is designed with Sales_Fact that integrates with many shared dimension tables.



Delivery_Type_Dimension is used to records Goods Delivery Type like "Van, Ship, Truck, Train, Courier and Aircraft" data. Package_Type_Dimension is used to records Product Packing Type like "Box, Tin, Bundle, Bottle and Container" data. Package_Size_Dimension is used to records Product or Package "Height, Length, Width and Weight" data.

To optimize this database design, eliminated Delivery_Type_Key, Package_Type_Key and Package_Size_Key attributes from Sales_Fact table and then combine all relevant dimension Flag and Indicator attributes into Delivery_Package_Dimension table. Delivery_Package_Key attribute is introduced in the Junk Dimension that integrates with Sales_Fact table.




Email Your Comment To AUTHOR