gpt4 book ai didi

mysql - 我们如何处理在表的所有记录中具有相同值的列?

转载 作者:行者123 更新时间:2023-11-29 06:47:55 25 4
gpt4 key购买 nike

假设我有一张表,为了简化所有行都是关于 Persons 的,并假设我们存储了这个人的颜色。现在让我们简化一下,我们有 100 万条记录,所有人的颜色都是白色。

现在在这种情况下 white 被重复了超过 100 万次。
现在,如果我们不能将表格更改为例如white_person 表是这样的,这是否意味着属性 colorperson 具有特定关系:

  1. 证明表中重复属性的合理性?
  2. 证明创建新表并将其视为1-N 关系?但在形式上如何定义这种类型的关系?

最佳答案

如果在每一行上重复相同的值,因为您实际想要建模的依赖项是 ∅->{color} 那么您的 Persons 表违反了 2NF:行列式 ∅(空集)是关键。满足 2NF 所需的更改是将颜色属性删除到以 ∅ 为键的新表(即单行表)。或者从模型中完全删除该属性。

请注意,永远不会仅仅因为表中某些值的巧合而自动暗示依赖关系。问题在于您需要 DBMS 执行哪些业务规则以及数据模型是否正确支持这些规则。

我讨论了一个类似的例子 here .

关于mysql - 我们如何处理在表的所有记录中具有相同值的列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17477660/

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