• The issue I see is that you can have one product out of many that only uses source D for example, while the rest are varied among the other sources. This case will give the table a swiss cheese appearance with all other products in the table containing null (or the equivalent value) there. If there is no significant relationship between the product and its source, then there is nothing wrong with having a source dimension. This is done in a normal star schema with the concept of a supplier. In short, the attributes of a table should relate to the key field.

    Of course... It really comes down to mirroring this business procurement process. If indeed there is a relationship between what provides what product, then that is a valid attribute of a productID.

    ----------------------------------------------------