gpt4 book ai didi

sql - 从应用程序向表添加新列时的数据库设计问题

转载 作者:行者123 更新时间:2023-12-02 22:20:12 25 4
gpt4 key购买 nike

我目前正在处理一个项目。现在出现的问题是,我必须处理数据库表中的动态列。

我有一个表费用,其中将存储与每个客户对应的不同费用金额。假设这个表有以下列-

Client_Id     Charge_1     Charge_2     Charge_3     Charge_4

现在,管理员可以为客户申请更多新费用。在这种情况下,新费用将作为添加到Charges 表中。这需要在应用程序运行时处理,而不是在数据库设计时处理。这是我的想法。

但是,它看起来不适合我。

有没有更好的办法来处理这个问题?请推荐我。

提前致谢。我是这个数据库设计的新手。

最佳答案

制作一个复合表,即 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)
  • 客户 1 收取费用 1、2、3 和 4
  • 客户 2 收取费用 1
  • 客户 3 收取费用 1 和 2
  • 客户 4 收取费用 3 和 4

然后在 ClientId 和 ChargeId 字段上添加外键约束。

关于sql - 从应用程序向表添加新列时的数据库设计问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10390982/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com