У моїй структурі бази даних в SQL Server у мене є 3 типи продуктів, для яких потрібна різна інформація про замовлення. Отже, я створив один Customers
стіл і три різних таблиць замовлень: OrdersForProductAs
, OrdersForProductBs
, OrdersForProductCs
. Усі таблиці замовлень мають один на багато відносин на Customers
столі.
У мене також є інша таблиця, яка є Payments
і буде містити платіжні реквізити всередині. Але я маю сумніви в тому, як це структурувати.
Оскільки у мене є декілька типів товарів і клієнт може одночасно замовляти кілька продуктів, мені потрібно відновити ці три таблиці замовлення до Payments
таблиці.
Інше питання полягає в тому, що у замовника може бути замовлення лише на один вид товару. Отже, колонки FK на Payments
столі повинні бути nullable
.
Моє запитання - чи будуть ці nullable
колонки ФК головним болем для мене довгостроково чи ні? Взагалі кажучи, чи вважатиметься поганою практикою розміщення на столі стовпчикових стовпців FK?