数据库中平凡函数和非平凡函数,完全函数依赖和部分函数
上回说到 已知学生的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传递函数依赖。
学习本是一个不断抄袭、模仿、练习、创新的过程。
虽然,园中已有本人无法超越的同主题博文,为什么还是要写。
对于自己,博文只是总结。在总结的过程发现问题,解决问题。
对于他人,在此过程如果还能附带帮助他人,那就再好不过了。
由于博主能力有限,文中可能存在描述不正确,欢迎指正、补充!
感谢您的阅读。如果文章对您有用,那么请轻轻点个赞,以资鼓励。