gpt4 book ai didi

mysql - 数据库规范化(1NF 到 3NF)

转载 作者:行者123 更新时间:2023-11-29 07:19:02 25 4
gpt4 key购买 nike

我目前正在做一些类(class)作业,我得到了一个建议的表格,我必须在其中确定它将打破哪些范式规则。我想我已经做到了,但我一直很困惑何时应用某些规则。因此,如果有人可以检查它并向我解释为什么出现问题(如果有),我将不胜感激。

示例:

UNF

这会破坏 1NF,因为存在重复数据,因为每个摄影师可能参加多场比赛(比赛 ID),因此为了解决这个问题并带来 1NF,我这样做:

1NF and 2NF

由于没有复合键,因此两个表都已处于 2NF 中,但是公司和公司编号之间存在传递依赖关系。因此,这样做可以达到 3NF:

3nf

手机号码和照片名称也是传递依赖吗?如果有人有相同的名字,那就意味着不是?另外,我不确定在将公司和公司编号带到 1NF 时是否会将其归类为重复项。

谢谢。

<小时/>

编辑:请注意,抱歉造成混淆 - PhotoID 是摄影师 ID。完整的列名称:

Photographer ID (Primary key) <- Told this is the PK in the question

Photographer Name,

Mobile Phone Number,

Employing Company, <-Told this is unique in the question

Employing Company Phone Number,

Matches Attending,

最佳答案

在第二张图片中,您跳过了重复组的传统 1NF 处理(将分组数据复制到每个匹配 ID 的单独行中)并直接进入 2NF。那里没问题。你的 3NF 也是正确的。

Is Mobile No and Photo Name also a transitive dependency?

没有。拍摄者姓名和手机号码是拍摄者ID的属性(功能依赖)。

I'm unsure if I would have classified the Company and Company number as duplicates when taking it to 1NF.

识别重复项不是将表转换为 1NF 的一部分。

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

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