1. 程式人生 > >部分函數依賴,完全函數依賴,傳遞函數依賴,平凡函數依賴和非平凡函數依賴

部分函數依賴,完全函數依賴,傳遞函數依賴,平凡函數依賴和非平凡函數依賴

如果 等價 傳遞函數 OS 存在 多余 什麽 clas str

函數依賴

  簡單來說就是一種決定關系,學生編號x決定學生姓名y,則稱學生姓名y函數依賴於學生編號x,記做x->y。

部分函數依賴

  表達一種冗余的依賴關系,設U{A1,A2,…,An}是屬性集合,R(U)為某關系表,x,y是U上的子集,x‘是x的真子集,若有x->y且x‘->y,則稱y部分函數依賴於x。記做x->py,顯然,此時x中存在多余屬性,例如,設x(學生編號,學生性別),x‘(學生編號),y(學生姓名),則有x決定y,x‘決定y,此時y部分函數依賴於x。

完全函數依賴

  表達一種無冗余的依賴關系,設U{A1,A2,…,An}是屬性集合,R(U)為某關系表,x,y是U上的子集,x‘是x的任意真子集,若有x->y成立且x‘->y總不成立,則稱y完全函數依賴於x。顯然,此時x中無任何多余屬性。

傳遞函數依賴

  設U{A1,A2,…,An}是屬性集合,R(U)為某關系表,x,y,z是U上的子集,若有x->y,y->z且y不屬於x,y->x不成立,則稱z傳遞函數依賴於x。為什麽有如此奇怪的限定y不屬於x,y->x不成立?,如果y屬於x,那麽z部分函數依賴於x,此時x中存在多余屬性,若y->x成立,則有x和y等價,則R中沒有必要同時存在x和y。

平凡函數依賴和非平凡函數依賴:

  設一個關系為R(U),X和Y為屬性集U上的子集,若X→Y且X不包含Y,則稱X→Y為非平凡函數依賴,否則若X包含Y則必有X→Y,稱此X→Y為平凡函數依賴.

部分函數依賴,完全函數依賴,傳遞函數依賴,平凡函數依賴和非平凡函數依賴