部分函式依賴

部分函式依賴

部分函式依賴(partial functional dependency)是一個數學用語。在關係模式R(U)中,如果X→Y,並且存在X的一個真子集X0,使得X0→Y,則稱Y對X部分函式依賴。

基本介紹

  • 中文名:部分函式依賴
  • 外文名: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。記為
反之,如果X'→Y成立,則稱X→Y是部分函式依賴(Partial Functional Dependency),即Y部分函式依賴於X。記為

圖解表示

部分函式依賴可以用圖1示意:屬性集A由屬性
構成(要求至少兩個屬性),表示為
;如果
,且在A中的一個屬性
,那么,
圖1圖1

例題分析

例1 在關係模式Student中,因為Sno不能函式決定Grade,Cno也不能函式決定Grade,但(Sno,Cno)可以唯一地函式決定Grade,所以(Sno,Cno)→Grade是完全函式依賴。因為Sno可以函式決定Sage,所以(Sno,Cno)→Sage是部分函式依賴。
從定義可知,只有當函式依賴的決定方是組合屬性時,討論部分函式依賴才有意義,當函式依賴的決定方是單屬性時,只能是完全函式依賴。
例2 在關係模式S(Sno,Sname,Sage,Sdept)中,函式依賴的決定方是Sno,是單屬性,所以Sno→(Sname,Sage,Sdept)是完全函式依賴,不存在著部分函式依賴。

相關概念

函式依賴的定義

設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)若
則記作
(3)若
不函式依賴於
,則記作

相關詞條

熱門詞條

聯絡我們