Nella mia struttura di database in SQL Server, ho 3 tipi di prodotti che richiedono informazioni diverse sull'ordine. Così, ho creato un Customers
tavolo e tre differenti tabelle ordini: OrdersForProductAs
, OrdersForProductBs
, OrdersForProductCs
. La tabella di tutti gli ordini ha una o più relazioni sulla Customers
tabella.
Ho anche un altro tavolo che è Payments
e conterrà i dettagli di pagamento all'interno. Ma ho dei dubbi qui su come strutturarlo.
Poiché ho più tipi di prodotto e un cliente può avere ordini per più prodotti contemporaneamente, ho bisogno di mettere in relazione queste tre tabelle degli ordini Payments
.
L'altro problema è che un cliente può avere un ordine per un solo tipo di prodotto. Quindi, le colonne FK sulla Payments
tabella devono essere nullable
.
La mia domanda è se quelle nullable
colonne FK sarebbero un mal di testa per me nel lungo periodo o no? In generale, sarebbe considerato una cattiva pratica avere colonne FK nullable su una tabella?