Tạo bảng Composite, tức là ClientCharges
Bạn có thể giữ Bảng Phí gốc và bảng Khách hàng của mình và trong bảng Phí Khách hàng có các cột sau:
ClientChargeId, ClientId, ChargeId
Trong bảng Khoản phí của mình, bạn có thể tiếp tục thêm (bao nhiêu Khoản phí bạn yêu cầu) và sau đó tham chiếu ChargeId trong bảng Khoản phí Khách hàng.
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)
- Khách hàng 1 có các Khoản phí 1, 2, 3 và 4
- Khách hàng 2 có Khoản phí 1
- Khách hàng 3 có các khoản phí 1 và 2
- Khách hàng 4 có các khoản phí 3 và 4
Sau đó, thêm các ràng buộc khóa ngoại vào các trường ClientId và ChargeId.