sql >> Base de Datos >  >> RDS >> Sqlserver

problema de diseño de la base de datos al agregar nuevas columnas a la tabla desde la aplicación

Haga una tabla compuesta, es decir, ClientCharges

Puede mantener su tabla de cargos original y su tabla de clientes y en la tabla de cargos de clientes tener las siguientes columnas:

ClientChargeId, ClientId, ChargeId

En su tabla de Cargos, puede seguir agregando (cuantos Cargos necesite) y luego hacer referencia al Id. de Cargo en la tabla de Cargos de 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)
  • Cliente 1 tiene Cargos 1, 2, 3 y 4
  • El cliente 2 tiene el cargo 1
  • El cliente 3 tiene los cargos 1 y 2
  • El cliente 4 tiene los cargos 3 y 4

Luego agregue restricciones de clave externa en los campos ClientId y ChargeId.