上回说到 已知学生的Sno就能推出学生的Sname 记做 Sno——>Sname ,Sname =f(Sno) 语义:Sno函数决定Sname,或者说是Sname依赖函数与Sno。
接下来讨论如何根据属性间依赖情况来判定关系是否具有某些不合适的性质,通常按属性间依赖情况来区分关系规范化程度为第一范式1NF,2NF,3NF,BCNF
下面介绍一些术语和记号:
1. X—>Y ,但Y不属于X,则称X->Y是非平凡的函数依赖,反之是平凡的函数依赖 例如X是Sno,Y是Sname X能推出Y 但Y不属于X。反之
2. X—>Y ,则称为这个函数依赖的决定属性组,也称决定因素。 例如X是Sno,Y是Sname X能推出Y ,X就是决定因素
3. X—>Y Y—>X 记作X<— —>Y 相互都能推出相互依赖
4. 如果X—>Y 对X属性组中每一个函数都依赖,称为:Y对X完全函数依赖。否之成为部分函数依赖。 例如需要(Sno,Cno)—>(grade)需要学号和课程号才能推出成绩,称为完全函数依赖,否之称为部分函数依赖
5 X—>Y 但Y不属于X,Y—>Z 但Z不属于Y 则称为Z对X传递函数依赖。