解决方法
这个答案直接来自我的CS课程,并从Connolly和Begg教科书中获得.
完整的功能依赖
识别候选键(这里是propertyNo,iDate和pAddress).这是因为这3个的任何组合都可以让你找到给定元组的其他属性(我可以找到那些在给出这三件事情的情况下进行检查的工作人员,我可以找到carReg工作人员没有使用给出这3件事等).但请注意,您需要所有这3个才能找到其他属性,而不仅仅是一个子集.完全依赖性总是与非候选键相关,取决于候选键,取决于全部或取决于一些.
部分依赖
给定这三个候选键,查看候选键.是否有候选键的任何子集依赖于另一个?是的,它是pAddress.给定propertyNo,您可以找出该属性的地址.然后看看候选键之外.是否有任何这些键仅依赖于候选键的一部分,而不是所有组件?在这种情况下没有.因此,部分依赖关系始终是候选键中的依赖关系或非候选键的依赖关系,而不是仅仅是候选键的部分而不是所有组件
传递依赖
现在,查看非候选键(staffNo,comments,iTime(检查时间),sName,carReg).在那些内部,是否有任何功能上依赖于另一个?是的,它是sName – 给定一个staffNo,你可以找出工作人员的名字.但是staffNo在功能上依赖于3个候选键.因此,通过传递性,propertyNo iDate pAddress – > staffNo – > sName,所以sName过渡依赖于staffNo.传递依赖性总是与候选键之外的属性相关.