Hello -
I'm trying to unify many satellite DBs @ my work. Right now, they do not share the same "Customers" table. I'm trying to bring the systems together with a new DB.
Here's the structure of some of these DBs:
Customers
Orders
Order Details
Payment Information
^ All structured like a typical "order entry" system + some ref. tables and so on.
Here's the "problem" I'm running into:
The old DB's Order Details tables had fields that were specific to what they were tracking.
For instance, one DB tracks sales of products and it's order details table would have fields like Order_Id (FK), Product_Id, Quantity, Price, Extended Price.
Another DB tracks subscriptions to publications, it's Order Details table would have fields like Order_Id (FK), Publication_Id, Subscription_Start, Subscription_End, etc..
The Order table for most of these systems are very simple and they have the following fields: Order_Id, Customer_Id, Order_Date, Status, Comments, etc..
In summary:
I have many order entry databases which use separate "customers" tables (old dbs).
They also have Order Detail tables which vary from system to system.
How do I unify these systems, mainly - Can I make a common Customers, Orders and Payments table for these systems and have different "Order Details" tables (with different fields) for the kinds of stuff we sell?
Is it common practice to make different "Order Details" tables for each kind of product / service you sell?
I'm shortsighted right now - Can this be handled another way, by using better table structure or by making changes to the actual Orders tables?
I hope you can understand my question. I basically cannot figure out how to store this stuff in one system because the different products and services that we sell seem to need their own Details tables to handle the specifics. Maybe someone can present a solution to this problem from an angle that I haven't seen?
Thanks!
I'm trying to unify many satellite DBs @ my work. Right now, they do not share the same "Customers" table. I'm trying to bring the systems together with a new DB.
Here's the structure of some of these DBs:
Customers
Orders
Order Details
Payment Information
^ All structured like a typical "order entry" system + some ref. tables and so on.
Here's the "problem" I'm running into:
The old DB's Order Details tables had fields that were specific to what they were tracking.
For instance, one DB tracks sales of products and it's order details table would have fields like Order_Id (FK), Product_Id, Quantity, Price, Extended Price.
Another DB tracks subscriptions to publications, it's Order Details table would have fields like Order_Id (FK), Publication_Id, Subscription_Start, Subscription_End, etc..
The Order table for most of these systems are very simple and they have the following fields: Order_Id, Customer_Id, Order_Date, Status, Comments, etc..
In summary:
I have many order entry databases which use separate "customers" tables (old dbs).
They also have Order Detail tables which vary from system to system.
How do I unify these systems, mainly - Can I make a common Customers, Orders and Payments table for these systems and have different "Order Details" tables (with different fields) for the kinds of stuff we sell?
Is it common practice to make different "Order Details" tables for each kind of product / service you sell?
I'm shortsighted right now - Can this be handled another way, by using better table structure or by making changes to the actual Orders tables?
I hope you can understand my question. I basically cannot figure out how to store this stuff in one system because the different products and services that we sell seem to need their own Details tables to handle the specifics. Maybe someone can present a solution to this problem from an angle that I haven't seen?
Thanks!