Sqlserver
 sql >> Database >  >> RDS >> Sqlserver

problema di progettazione del database durante l'aggiunta di nuove colonne alla tabella dall'applicazione

Crea una tabella Composite, ad esempio ClientCharges

Puoi mantenere la tua tabella degli addebiti originali e la tua tabella dei clienti e nella tabella degli addebiti del cliente avere le seguenti colonne:

ClientChargeId, ClientId, ChargeId

Nella tabella Addebiti puoi continuare ad aggiungere (quanto addebiti hai bisogno) e quindi fare riferimento a ChargeId nella tabella Addebiti Cliente.

CREATE TABLE ClientCharges
(
    ClientChargeId          INT IDENTITY(1,1)
    , ClientId              INT 
    , ChargeId              INT
)


INSERT INTO ClientCharges
(ClientId, ChargeId)
VALUES
(1, 1),
(1,2),
(1,3),
(1,4),
(2,1),
(3,1),
(3,2),
(4,3),
(4,4)
  • Il cliente 1 ha gli addebiti 1, 2, 3 e 4
  • Il cliente 2 ha l'addebito 1
  • Il cliente 3 ha addebiti 1 e 2
  • Il cliente 4 ha addebiti 3 e 4

Quindi aggiungi i vincoli di chiave esterna nei campi ClientId e ChargeId.