【发布时间】:2020-05-04 18:43:56
【问题描述】:
这种关系在 1NF、2NF、3NF 和 BCNF 中的分解是什么
关系 - 转机(目的地、出发地、航空公司、登机口、姓名、联系人、接机)
函数依赖 -
目的地、出发地、航空公司→登机口
登机口→航空公司
联系人→姓名
姓名、出发→登机口、接机
登机口,出发→目的地
我尝试使用闭包找到候选键,发现它是 (contact,departs)
然后根据那个候选键,我尝试将其分解为后续的范式。
2NF - 没有部分依赖
R1(联系人、姓名)
R4(姓名、出发、登机口、接机、航空公司)
R5(登机口、出发地、目的地)
3NF- 无传递依赖 & BCNF
R1(联系人、姓名)
R2(姓名、出发、登机口、接机)
R3(登机口,航空公司)
R4(登机口、出发地、目的地)
这是对的还是这里有问题?因为我对 2NF 的分解并没有真正描述第一个 FD。
【问题讨论】:
-
现在您只是要求我们用定制的教程重写您的教科书并完成您的(家庭)作业,而您没有表现出任何研究或其他努力。请参阅How to Ask,点击谷歌搜索“stackexchange 作业”和投票箭头鼠标悬停文本。按照教科书的理由展示您的工作步骤,并在您遇到问题的第一个地方提出 1 个经过研究的特定非重复问题。
-
您的“我有这些 FD”没有意义。 “这些都是持有的FD”?--不可能。 “这些都是持有的不平凡的FD”?--不可能。 “这些是一些持有的FD”?--问题无法回答。找出什么是cover以及应用特定定义/规则/算法的确切条件。要确定 CK 和 NF,我们必须得到构成掩护的 FD。有时是最小/不可约覆盖。并且必须给出所有属性的集合。 See this answer.
-
@philipxy 该帖子已被编辑。你能看看吗?
-
Re“这是对的”:根据您的参考/教科书显示您的工作步骤,并说明理由 - 并非所有术语/符号都是标准的,我们不确切知道您使用什么算法/方法正在关注,我们想检查你的工作,但不重做,当算法允许时,我们需要你的选择,否则我们无法告诉你哪里对错,我们不想重写你的教科书。 PS 此外,所有步骤都将重复。 PS“描绘(一个FD)”不清楚。使用足够多的单词、句子和对部分示例的引用来清楚完整地表达你的意思。
-
你还没有对我所有的cmets采取行动。最根本的是,您没有说过那些 FD 构成封面,也没有参考教科书、定义或算法。你没有给出并证明每一步。那么答案应该是什么?--“您只是要求我们用定制的教程重写您的教科书”。等等 PS请阅读编辑帮助,在行尾放2个空格作为换行符。
标签: sql database database-normalization functional-dependencies database-management