Should I create a Factless Fact Table or Denormalise my table

370 views Asked by At

I am creating a data warehouse from a store database and I have a question regarding the design of my dimensions and facts.

In the store database a table exists for Person, Person_Address and Person_Address_Type. These are linked by another tabled name Entity_Address_ID which links the three tables by their primary keys to give details on what a person's address is and what type of address it is.

My question is, should I create a dimension for all three tables, and a fact-less fact table to link them together or should I de-normalise my dimensions and add to each dimension a foreign key for the address and address type they are linked too?

Here is a very quick UML of what the current database looks like to provide clarification UML of Problem

1

There are 1 answers

7
Marek Grzenkowicz On BEST ANSWER

You should create a Person dimension with a set of address attributes (mailing address, billing address, etc), i.e. denormalize all this data and load it into a single table.