Hi,
I have a data modeling question. Iam designing the sales fact and its dimensions. A sales Order in my case will have the following
Bill to Customer
Bill_to Address
Ship to customer
Ship to address
The Bill to Customer/Address on the sales order could be different from Ship To Customer/Address. A customer can have many bill to and ship to addresses. The same address can be both bill_to and ship_to. Iam also thinking of having a bridge table for storing customer relationships as suggested in the book of Ralph Kimball. Potentially I can have multilevel parent child relationship for customers
Should I have the following dimensions
Customer (Customer_id primary key)
Address (with flags Bill_to, SHip_to) (address_id primary key)
Bridge table (parent_customer_Id, subsidiary_id, no_of_levels, bottom_most_flag, start and end dates)
I would have in the fact
Bill_to_customer_id (foreign key to Customer dimension)
Bill_to_address_id (foreign key to Address dimension)
Ship_to_customer_id (foreign key to Customer dimension)
Ship_to_address_id (foreign key to address dimension)
If I put the customer and address info in one dimension maintaing the bridge table would be difficult as for
address I plan to use SCD2
Thanks in advance
Manisha
I have a data modeling question. Iam designing the sales fact and its dimensions. A sales Order in my case will have the following
Bill to Customer
Bill_to Address
Ship to customer
Ship to address
The Bill to Customer/Address on the sales order could be different from Ship To Customer/Address. A customer can have many bill to and ship to addresses. The same address can be both bill_to and ship_to. Iam also thinking of having a bridge table for storing customer relationships as suggested in the book of Ralph Kimball. Potentially I can have multilevel parent child relationship for customers
Should I have the following dimensions
Customer (Customer_id primary key)
Address (with flags Bill_to, SHip_to) (address_id primary key)
Bridge table (parent_customer_Id, subsidiary_id, no_of_levels, bottom_most_flag, start and end dates)
I would have in the fact
Bill_to_customer_id (foreign key to Customer dimension)
Bill_to_address_id (foreign key to Address dimension)
Ship_to_customer_id (foreign key to Customer dimension)
Ship_to_address_id (foreign key to address dimension)
If I put the customer and address info in one dimension maintaing the bridge table would be difficult as for
address I plan to use SCD2
Thanks in advance
Manisha