複合テーブル、つまりClientChargesを作成します
元の料金テーブルとクライアントテーブルを保持でき、クライアント料金テーブルには次の列があります。
ClientChargeId、ClientId、ChargeId
Chargesテーブルで(必要な数のChargesを)追加し続けてから、ClientChargesテーブルでChargeIdを参照できます。
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)
- クライアント1には料金1、2、3、4があります
- クライアント2には料金1があります
- クライアント3には料金1と2があります
- クライアント4には料金3と4があります
次に、ClientIdフィールドとChargeIdフィールドに外部キー制約を追加します。