gpt4 book ai didi

sql - 多个数据库表或合并为一个

转载 作者:可可西里 更新时间:2023-11-01 07:46:04 25 4
gpt4 key购买 nike

我有一个关于数据库架构的问题。

我们正在构建 CMS。有很多字段将具有预填充的选择。一个例子是客户的信用状态可以是“好”、“坏”、“未知”或“接受存款”。该项目的一个规范是这些预先填充的选择是动态的,管理员可以通过后端添加新值。所以我需要将这些值存储在数据库中。

我正在努力在两种方法之间做出选择

1) 每种列表都有一个表格。例如 list_CrediStatus、list_Branches、list_Markets 等表。

优点是 table 不大,而且彼此分开。因此,一个表上的数据和查询负载可能不会影响其他表?缺点是数量会很多。也许30?并且每个表都需要一个查询。

2) 有两个表。有一个描述表,您可以在其中定义所有不同的列表名称(list_CreditStatus、list_Branches 等)。有另一个表包含所有列表的所有值以及一个外键,该外键将每行链接到描述表中的标识符。

优点是表少,查询1次,格式统一。缺点可能在于性能。这个表将需要被查询很多次。它将有很多行和大量数据。

有人有什么建议吗?我倾向于选项 2。如果这没有意义,也请告诉我。这是一个很难写清楚的问题。

谢谢,杰德

最佳答案

始终将相同的东西放在一张表中,将不同的东西放在不同的表中。这意味着您选择选项 1。请记住:基于字段名称的表面相似性并不意味着它们很像。

单表解决方案非常吸引人,因为它看起来更简单,但事实并非如此。您需要将它们分开的代码变得相当复杂。

另外,您不能使用适当的外键。你怎么说 ORDER 有一个引用列表的 CREDIT_STATUS 列,但不允许有人输入血型(或其他一些)值?

关于sql - 多个数据库表或合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4866557/

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