Database design with header tables that have different types (i.e. EquipmentSalesOrder, MaterialSalesOrder)

199 Views Asked by At

Lets say you have a SalesOrderHeader and a SalesOrderDetail, but there are 2 different sets of SalesOrderHeaders:
MaterialSalesOrderHeader, MaterialSalesOrderDetail and EquipmentSalesOrderHeader, EquipmentSalesOrderDetail.

Both are SalesOrders and almost all header fields are in common, but Equipment Sales Orders have a few different fields than Material Sales Orders.

Would it be better to create my tables this way:

MaterialSalesOrderHeader ---> MaterialSalesOrderDetail  
EquipmentSalesOrderHeader ----> EquipmentSalesOrderDetail

or this way:

--SalesOrderHeader ----> MaterialSalesOrderDetail, EquipmentSalesOrderDetail  
----MaterialSalesOrderInfo (to take care of the different header fields)  
----EquipmentSalesOrderInfo (to take care of the different header fields) 

Can anyone give me any recommendatons on setting something like this up? Part of me wants to switch to using the Info tables but the other part of me wants to keep everything like the top example.

0

There are 0 best solutions below