關聯式資料庫設計理論的核心是資料間的函式依賴,衡量的標準是關係規範化的程度及分解的無損連線和保持函式依賴性。 函式依賴研究的是乙個關係中屬性之間存在的依賴關係,它是根據現實世界中資料項之間存在的語義通過觀察和分析得出的結果,是資料內在的性質,是一種語義範疇的概念。
一、函式依賴(functional dependency)的概念
資料依賴的一種,它反映屬性或屬性組之間相依存,互相制約的關係,即反映現實世界的約束關係。
二、定義
設r(u)是屬性u上的乙個關係模式,x和y均為u=的子集,r為r的任一關係,如果對於r中的任意兩個元組u,v,只要有u[x]=v[x],就有u[y]=v[y],則稱x函式決定y,或稱y函式依賴於x,記為x→y。
例: (sno-學生id,tno-教師id,cno-課程id,sname-學生姓名,tname-教師姓名,cname-課程名稱,grade-成績)
1、sno→sname, cno→cname,(sno,cno)→grade √
2、sname→sno, tno→cno, sno→tname ×
三、函式依賴是語義範疇
1、語義:資料所反映的現實世界事物本質聯絡
2、根據語義來確定函式依賴性的存在與否
3、函式依賴反映屬性之間的一般規律,必須在關係模式下的任乙個關係r中都滿足約束條件。
四、屬性間的聯絡決定函式依賴關係
設x、y均是u的子集
1、x和y間聯絡是1:1,則x→y,y→x。(相互依賴,可記作x←→y)
2、x和y間聯絡是m:1(m), 則x→y。
3、x和y間聯絡是m:n(m,n),則x、y間不存在函式依賴。
五、完全函式依賴和部分函式依賴
1、函式依賴分為完全函式依賴和部分函式依賴
2、定義:
在r(u)中,如果x→y,並且對於x的任何真子集x'都有x'y',則稱y完全依賴於x,記作x→y;否則,如果x→y,且x中存在乙個真子集x',使得x'→y成立,則稱y部分依賴於x。
例: 學生id,學生姓名,所修課程id,課程名稱,成績
(學生id,所修課程id)→成績
成績既不能單獨依賴於學生id,也不能單獨依賴於所修課程id,因此成績完全函式依賴於關鍵字。
(學生id,所修課程id)→學生姓名
學生id→學生姓名
學生姓名可以依賴於關鍵字的乙個主屬性——學生id,因此學生姓名部分函式依賴於(學生id,所修課程id)。
p
(學生id,所修課程id)→學生姓名
六、平凡函式依賴和非平凡函式依賴
設x,y均為某關係上的屬性集,且x→y
1)若y包含於x,則稱x→y為:平凡函式依賴;
2)若y不包含於x,則稱x→y為:非平凡函式依賴。
y包含於x內,w於x相交,與y無直接交集。
則:x→y為平凡函式依賴
x→w, w→y為非平凡函式依賴
七、傳遞函式依賴
x→y,y→z
則z傳遞函式依賴於x
資料庫函式依賴
一 函式依賴 functional dependency 的概念 資料依賴的一種,它反映屬性或屬性組之間相依存,互相制約的關係,即反映現實世界的約束關係。二 定義 設r u 是屬性u上的乙個關係模式,x和y均為u 的子集,r為r的任一關係,如果對於r中的任意兩個元組u,v,只要有u x v x 就有...
資料庫函式依賴
資料庫函式依賴 一 函式依賴 functional dependency 的概念資料依賴的一種,它反映屬性或屬性組之間相依存,互相制約的關係,即反映現實世界的約束關係。二 定義設r u 是屬性 u上的乙個關係模式,x和 y均為u 的子集,r為 r的任一關係,如果對於 r中的任意兩個元組u,v,只要有...
資料庫 函式依賴
用處 指導關係模型的設計,規範以及優化 非原子 儲存複雜,資料冗餘 改進 1nf 處理 復合屬性 拆分成多個屬性 多值屬性 建立新的一張表 eg.乙個人有多個手機號 單值對映 碼是一種特殊的fd 比如超碼 可以唯一標識乙個元組 sk r 候選碼 最小超碼 ck r 且 不存在ck的子集可以 r fd...