这是 1NF 还是 2NF 中的 table?
Is this table in 1NF or 2NF?
假设我有一个关系 table:
FinalYearProject(supervisor, researchTopic, consultationDay, student)
以及以下功能依赖项:
student -> researchTopic
student, researchTopic -> supervisor
researchTopic,supervisor -> consultationDay
从那里我确定我的最小超级密钥是:student
其中
student -> researchTopic,supervisor, consultationDay
我说存在部分依赖性是否正确,因为主管不完全依赖学生 基于函数依赖:
student, researchTopic -> supervisor
任何帮助将不胜感激。
既然student是candidate key,supervisor就靠它了。
事实上,考虑到给定 student -> researchTopic
,研究主题取决于学生:因此在依赖性 student, researchTopic -> supervisor
中,属性 researchTopic
是多余的(依赖性 student -> supervisor
成立)。使用阿姆斯特朗公理可以很容易地证明这一点。
并且由于当非主属性在功能上依赖于候选键的适当子集时关系不在 2NF 中,因此在这个例子中没有这种情况,并且关系在 2NF 中。
假设我有一个关系 table:
FinalYearProject(supervisor, researchTopic, consultationDay, student)
以及以下功能依赖项:
student -> researchTopic
student, researchTopic -> supervisor
researchTopic,supervisor -> consultationDay
从那里我确定我的最小超级密钥是:student
其中
student -> researchTopic,supervisor, consultationDay
我说存在部分依赖性是否正确,因为主管不完全依赖学生 基于函数依赖:
student, researchTopic -> supervisor
任何帮助将不胜感激。
既然student是candidate key,supervisor就靠它了。
事实上,考虑到给定 student -> researchTopic
,研究主题取决于学生:因此在依赖性 student, researchTopic -> supervisor
中,属性 researchTopic
是多余的(依赖性 student -> supervisor
成立)。使用阿姆斯特朗公理可以很容易地证明这一点。
并且由于当非主属性在功能上依赖于候选键的适当子集时关系不在 2NF 中,因此在这个例子中没有这种情况,并且关系在 2NF 中。