sql >> Databasteknik >  >> RDS >> Sqlserver

problem med databasdesign när nya kolumner läggs till i tabellen från programmet

Gör en sammansatt tabell, d.v.s. ClientCharges

Du kan behålla din ursprungliga avgiftstabell och din klienttabell och i tabellen för klientavgifter har du följande kolumner:

ClientChargeId, ClientId, ChargeId

I din Charges-tabell kan du fortsätta lägga till (så många avgifter du behöver) och sedan referera till ChargeId i ClientCharges-tabellen.

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)
  • Kund 1 har avgifter 1, 2, 3 och 4
  • Kund 2 har avgift 1
  • Kund 3 har avgifter 1 och 2
  • Kund 4 har avgifter 3 och 4

Lägg sedan till begränsningar för främmande nyckel i fälten ClientId och ChargeId.



  1. Infoga i MYSQL-databasen om den inte finns

  2. Ta bort dubbletter med unikt index

  3. MariaDB JSON_ARRAY_APPEND() Förklarad

  4. Hur man får de senaste funktionerna i Office 365