可能有點複雜,希望你認真看。
設R(U)是一個屬性集U上的關系模式,X和Y是U的子集。
若對於R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等, 而在Y上的屬性值不等, 則稱 “X函數確定Y” 或 “Y函數依賴於X”,記作X→Y。 X稱為這個函數依賴的決定屬性集(Determinant)。 Y=f(x) 說明:
1. 函數依賴不是指關系模式R的某個或某些關系實例滿足的約束條件,而是指R的所有關系實例均要滿足的約束條件。
2. 函數依賴是語義範疇的概念。只能根據數據的語義來確定函數依賴。 例如“姓名→年齡”這個函數依賴只有在不允許有同名人的條件下成立 3. 數據庫設計者可以對現實世界作強制的規定。例如規定不允許同名人出現,函數依賴“姓名→年齡”成立。
所插入的元組必須滿足規定的函數依賴,若發現有同名人存在, 則拒絕裝入該元組。
例: Student(Sno, Sname, Ssex, Sage, Sdept) 假設不允許重名,則有: Sno → Ssex, Sno → Sage , Sno → Sdept, Sno ←→ Sname, Sname → Ssex, Sname → Sage Sname → Sdept 但Ssex -\→ Sage 若 X → Y,並且 Y → X, 則記為 X ←→ Y。
若 Y 不函數依賴於 X, 則記為 X -\→ Y。
在關系模式R(U)中,對於U的子集X和Y, 1.如果 X → Y,但 Y 不為 X 的子集,則稱 X → Y 是非平凡的函數依賴 例:在關系SC(Sno, Cno, Grade)中, 非平凡函數依賴: (Sno, Cno) → Grade 2.若 X → Y,但 Y 為 X 的子集, 則稱 X → Y 是平凡的函數依賴 平凡函數依賴: (Sno, Cno) → Sno ,(Sno, Cno) → Cno 3.若 x → y 並且,存在 x 的真子集 x1,使得 x1 → y, 則 y 部分依賴於 x。 例:學生表(學號,姓名,性別,班級,年齡)關系中, 部分函數依賴:(學號,姓名)→ 性別,學號 → 性別,所以(學號,姓名)→ 性別 是部分函數依賴 4.若 x → y 並且,對於 x 的任何一個真子集 x1,都不存在 x1 → y 則稱y完全依賴於x。 例:成績表(學號,課程號,成績)關系中, 完全函數依賴:(學號,課程號)→ 成績,學號 -\→ 成績,課程號 -\→ 成績,所以(學號,課程號)→ 成績 是完全函數依賴 5.若x → y並且y → z,而y -\→ x,則有x → z,稱這種函數依賴為傳遞函數依賴。 例:關系S1(學號,系名,系主任), 學號 → 系名,系名 → 系主任,並且 系名 -\→ 學號,所以 學號 → 系主任 為傳遞函數依賴
可能有點複雜,希望你認真看。
設R(U)是一個屬性集U上的關系模式,X和Y是U的子集。
若對於R(U)的任意一個可能的關系r,r中不可能存在兩個元組在X上的屬性值相等, 而在Y上的屬性值不等, 則稱 “X函數確定Y” 或 “Y函數依賴於X”,記作X→Y。 X稱為這個函數依賴的決定屬性集(Determinant)。 Y=f(x) 說明:
1. 函數依賴不是指關系模式R的某個或某些關系實例滿足的約束條件,而是指R的所有關系實例均要滿足的約束條件。
2. 函數依賴是語義範疇的概念。只能根據數據的語義來確定函數依賴。 例如“姓名→年齡”這個函數依賴只有在不允許有同名人的條件下成立 3. 數據庫設計者可以對現實世界作強制的規定。例如規定不允許同名人出現,函數依賴“姓名→年齡”成立。
所插入的元組必須滿足規定的函數依賴,若發現有同名人存在, 則拒絕裝入該元組。
例: Student(Sno, Sname, Ssex, Sage, Sdept) 假設不允許重名,則有: Sno → Ssex, Sno → Sage , Sno → Sdept, Sno ←→ Sname, Sname → Ssex, Sname → Sage Sname → Sdept 但Ssex -\→ Sage 若 X → Y,並且 Y → X, 則記為 X ←→ Y。
若 Y 不函數依賴於 X, 則記為 X -\→ Y。
在關系模式R(U)中,對於U的子集X和Y, 1.如果 X → Y,但 Y 不為 X 的子集,則稱 X → Y 是非平凡的函數依賴 例:在關系SC(Sno, Cno, Grade)中, 非平凡函數依賴: (Sno, Cno) → Grade 2.若 X → Y,但 Y 為 X 的子集, 則稱 X → Y 是平凡的函數依賴 平凡函數依賴: (Sno, Cno) → Sno ,(Sno, Cno) → Cno 3.若 x → y 並且,存在 x 的真子集 x1,使得 x1 → y, 則 y 部分依賴於 x。 例:學生表(學號,姓名,性別,班級,年齡)關系中, 部分函數依賴:(學號,姓名)→ 性別,學號 → 性別,所以(學號,姓名)→ 性別 是部分函數依賴 4.若 x → y 並且,對於 x 的任何一個真子集 x1,都不存在 x1 → y 則稱y完全依賴於x。 例:成績表(學號,課程號,成績)關系中, 完全函數依賴:(學號,課程號)→ 成績,學號 -\→ 成績,課程號 -\→ 成績,所以(學號,課程號)→ 成績 是完全函數依賴 5.若x → y並且y → z,而y -\→ x,則有x → z,稱這種函數依賴為傳遞函數依賴。 例:關系S1(學號,系名,系主任), 學號 → 系名,系名 → 系主任,並且 系名 -\→ 學號,所以 學號 → 系主任 為傳遞函數依賴