gpt4 book ai didi

mysql - 数据库规范化为 3NF 或 BCNF

转载 作者:行者123 更新时间:2023-11-29 07:16:26 30 4
gpt4 key购买 nike

我正在研究数据库规范化以使其达到最低 3NF,但我无法仅在最后一个中继续。

最后一个表我有以下键。ID、组织编号和名称。 ID 是主键。ID可以决定ORG_NR和Name,ORG_NR也可以决定ID和Name。我知道这违反了 3NF。所以我的问题是,我应该做什么才能达到 3NF 甚至 BCNF。

如果我将其拆分为表,则会建立一对一的关系。

My table

最佳答案

函数依赖关系决定候选键。主键只是一些您决定称为 PK 的 CK。除了作为 CK 之外,PK 在正常化中没有任何作用。想必您知道 ID 是唯一的(并且 {} 不是 CK),因此它是 CK,您已经对其进行了 PK。 (但你应该说清楚。)

由于 {ID} 和 {ORG_NR} 都确定所有其他属性,并且每个属性都没有更小的子集,因此它们都是 CK。大概唯一的 FD 就是这些之后的 FD。 (但你应该说清楚。)由于所有非平凡的 FK 都超出了 super key ,因此这是 BCNF(以及 3NF)。

PS 既然你(错误地)认为这不属于 3NF,那么找到 3NF 的定义并尝试证明它是否满足 3NF。

关于mysql - 数据库规范化为 3NF 或 BCNF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37780659/

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