-
部分函數依賴
鎖定
部分函數依賴(partial functional dependency)是一個數學用語。在關係模式R(U)中,如果X→Y,並且存在X的一個真子集X0,使得X0→Y,則稱Y對X部分函數依賴。
[1]
- 中文名
- 部分函數依賴
- 外文名
- partial functional dependency
- 屬性集合
- 設X,Y是關係R
- 存 在
- X→Y
部分函數依賴定義
設有關係模式R(U),U是屬性集,X和Y是U的子集,如果X→Y是一個函數依賴,且對X的任何一個真子集X'都不存在X'→Y,則稱X→Y是一個完全函數依賴(Full Functional Dependency),即Y完全函數依賴於X。記為
部分函數依賴圖解表示
部分函數依賴例題分析
例1 在關係模式Student中,因為Sno不能函數決定Grade,Cno也不能函數決定Grade,但(Sno,Cno)可以唯一地函數決定Grade,所以(Sno,Cno)→Grade是完全函數依賴。因為Sno可以函數決定Sage,所以(Sno,Cno)→Sage是部分函數依賴。
從定義可知,只有當函數依賴的決定方是組合屬性時,討論部分函數依賴才有意義,當函數依賴的決定方是單屬性時,只能是完全函數依賴。
部分函數依賴相關概念
部分函數依賴函數依賴的定義
設R(U)是屬性集U上的關係模式,X,Y是U的子集。若對於R(U)的任意一個可能的關係 r,r 中不可能存在兩個元組在X上的屬性值相等,而在Y上的屬性值不等,則稱“X函數確定Y”或“Y函數依賴於X”,記作X→Y。
一般只能根據語義來確定一個函數依賴。例如,姓名一年齡這個函數依賴只有在沒有同名人的條件下成立,如果允許有相同名字,則年齡就不再函數依賴於姓名了。設計者也可以對現實世界作強制的規定。例如不允許同名人出現,因而使姓名→年齡函數依賴成立,若發現有同名人存在,則拒絕裝入該元組,這在一般情況下是不合情理的。
注意,函數依賴不是指關係模式R的某個或某些關係滿足的約束條件。而是指R的一切關係均要滿足的約束條件。例如,學生選課SC(SNO,CNO,GRADE)關係模式,假定在當前的記載中,每個學生都選了一門課程,我們能不能就此斷言,SNO的屬性值可以唯一地確定CNO值呢?這顯然是不可靠的,因為當前每人只選一門課這一事實並不限定他只能選一門課,只有當制度規定每人只能選一門課時,上述論斷才真正構成一個數據依賴。
部分函數依賴記號和術語
(1)
,但
則稱
是非平凡的函數依賴。若不特別聲明總是討論非平凡的函數依賴。
(2)若
則記作
。