我目前正在处理一个项目。现在出现的问题是,我必须处理数据库表中的动态列。
我有一张表格Charges,其中Client将存储与每个表格对应的不同费用的数量。假设此表具有以下列-
Charges
Client
Client_Id Charge_1 Charge_2 Charge_3 Charge_4
现在,管理员可以new Charges为客户端申请更多。在这种情况下,新费用将以形式添加到Charges表格中column。这需要在应用程序运行时而不是数据库设计时处理。这是我的想法。
new Charges
column
但是,它看起来不适合我。
有什么更好的主意来解决这个问题吗?请给我建议。
提前致谢。我是这个数据库设计的新手。
制作一个组合表,即ClientCharges
您可以保留原始的“费用表”和“客户”表,并在“客户费用”表中保留以下列:
ClientChargeId,ClientId,ChargeId
在您的收费表中,您可以继续添加(您需要许多收费),然后在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)
然后在ClientId和ChargeId字段上添加外键约束。