Problem solve Get help with specific problems with your technologies, process and projects.

Redesigning product dimension columns in database for datamart

I am redesigning the database for a datamart. In the product dimension table the columns are: Pack_id, Pack_Desc, Brand_id, Brand_Desc, Company_id, Company_desc. Is it possible to have only three columns: Item_id, Item_Desc, Level, which will contain all the Pack, Brand, Company codes, desc and also the level?

Sure it's possible. But will you need to maintain the relationship between pack, brand and Company? If so, you'll need to have a relationship between the rows to tie the pack to it's appropriate brand and the Brand to it's appropriate Company. You'll also need to take into consideration that brands can change companies. (Think mergers and acquisitions). So you might want to consider carrying effective_dates as part of the definition of your dimension. My sense is you'll make the loading of the facts more challenging because each fact will need to reference multiple rows from the product dimension to get the pack, brand and company lookups correct. The development queries against the fact table(s) that refer to this product dimension will most likely be more challenging and frustrating to the end-users a well.

Another approach might be to break Brand and Company out as a dimensions for their own. Let the creation of the facts bring the right dimension tables together at each FACT row as you process the transactional data for sales, order, inventory, etc.

For More Information

Dig Deeper on Oracle business intelligence and analytics

Have a question for an expert?

Please add a title for your question

Get answers from a TechTarget expert on whatever's puzzling you.

You will be able to add details on the next page.

Start the conversation

Send me notifications when other members comment.

Please create a username to comment.