寻找功能依赖

时间:2014-11-07 08:20:03

标签: mysql database functional-dependencies

如何根据此案例研究确定功能依赖性和候选键?

  

课程模块,可由讲师,学生或访客进行   用户。课程模块由主题代码和主题名称组成。什么时候   admin创建课程,它将存储课程ID,主题代码,讲师   ID,课程名称和.....

     

学生必须报名参加   课程和课程注册包括注册ID,学生   信息,注册日期,完成日期......

基于我的假设,Course ID -> {subject code, subject name}但同时

Admin ID -> (Course  ID, subject code, lecturer ID, course name, course description, course category)

这是不正确的,因为我需要在管理模块上编写另一个功能依赖?

1 个答案:

答案 0 :(得分:1)

首先,我们确定我们感兴趣的应用关系。例如"用户[用户ID]有角色讲师"或者"用户[用户ID]具有名字[名字]和密码[密码]和......"。

每个都获得一个基本关系,该关系包含与该方式相关的值行。关系的应用关系的参数是其属性。例如讲师(用户ID)或用户(用户ID,名字,密码......)。

对于每个关系,其应用关系的含义为每列确定它在功能上依赖的列集。例如:给定用户[用户ID]具有名字[名字]和密码[密码]和...,如果您知道用户ID,那么您知道名字吗?如果有,则有FD {用户ID} - > {名字}。如果你知道用户名和密码,你知道名字吗?对于每个关系和每组(可能确定的)属性和每个(可能确定的)属性等等。

然后我们找到了最小的封面。这确定了候选键。

因此,如果您想要对这些步骤提供一些反馈,请执行此操作。