数据库 部分函数依赖 完全函数依赖  传递函数依赖  第一范式、第二范式、第三范式、BCNF范式区别
 
 
 
 
在理解函数依赖之前,先来看一下函数依赖分析:
 
在关系中,包括在任何候选码中的属性称为主属性;不包括在任何候选码中的属性称为非主属性。
 
函数依赖只分析关系中的非主属性对主属性之间的依赖关系,并不分析主属性对主键(码)的依赖关系。
 
 
 
具体关于部分函数依赖和完全函数依赖的定义,网上有很多,但大多都是概念,这里我从例子入手来分析,使大家更好的掌握部分函数依赖、完全函数依赖和传递函数依赖。
 
 
 
假设存在关系:
 
R(学号,姓名,性别,班级,班主任,课程号,课程名,学时数,成绩)
 
主键:学号+课程号
 
主属性:{学号,课程号}
 
非主属性有:{姓名,性别,班级,班主任,课程名,学时数,成绩}
 
 
 
完全函数依赖分析
 
成绩依赖于学号和课程号两个字段的组合;但只知道学号无法确定成绩,同理只知道课程号也无法确定成绩;只有学号和课程号组合在一起才能标识哪个学生哪门课程的成绩;
 
因此(学号,课程号)---->成绩  是“完全函数依赖”。
 
 
 
部分函数依赖分析