上回說到 已知學生的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傳遞函數依賴。