資訊的不可表示問題
資訊的冗餘問題
函式依賴
x函式決定y」,或「y函式依賴於x」,記作x->y,稱x為決定因素
如s# -> sn, (s#,c#)-> g
如果x -> y,但y 不包含於 x,則稱其為非平凡的函式依賴,否則稱為平凡的函式依賴
如(s#,sn)-> sn是平凡的函式依賴
在r(u)中,如果x->y,且對於任意x的真子集x′,都有x′->y,則稱y對x完全函式依賴,否則為部分函式依賴
傳遞函式依賴s# ->sd,sd -> dean
1nf:關係中每一分量不可再分。即不能以集合、序列等作為屬性值
2nf:若r屬於1nf,且每個非主屬性完全依賴於碼,則稱r屬於2nf;消除非主屬性對碼的部分依賴
3nf: 消除非主屬性對碼的傳遞依賴
s_sd 不屬於3nf,因為有s#->sd,sd->deanbcnf:
(s# , c# , order),表示學生選修課程的名次n被f所邏輯蘊涵的函式依賴的全體所構成的集合稱作f的
閉包,記作f+ =
x,y,z是屬性集,
自反律(reflexivity):若y 包含於 x, 則x -> y
增廣律(augmentation):若x -> y ,則xz -> yz
傳遞律(transitivity):若x -> y,y -> z,則x -> z
合併律(union rule):若x -> y,x -> z,則x ®->yz
分解律(decomposition rule):若x -> yz ,則x -> y,x ->z
偽傳遞律(pseudotransitivityrule): 若x -> y,wy-> z,則wx -> z
【例】 屬性集u=, 函式依賴集f=
則a+ = abc
b+ = bc
c+ = c
【例】 r, u = (a, b, c, g, h, i), f = ,計算 (ag)f+
所用依賴
a->b agb
a->c agbc
cg->h agbch
cg->i agbchi
= agbch i
分解的基本代數運算
投影自然連線
分解的目標
無損連線分解
保持函式依賴
達到更高階正規化
關係模式r(u)的分解r=,則r是乙個無損連線分解的充要條件是 r1∩r2->r1-r2(或r1∩r2->r2-r1)成立
資料庫設計理論
資料庫規範化理論正是用來改造關係模式,通過分解關係模式來消除其中不合適的資料依賴,以解決插入異常 刪除異常 更新異常和資料冗餘問題。在討論關聯式資料庫設計之前我們需要了解一些基本的術語和概念 由五部分組成,即它是乙個五元組 r u,d,dom,f r 關係名 u 組成該關係的屬性名集合 d 屬性組u...
資料庫設計理論
資料庫設計理論 一 資料庫設計的幾個原則 乙個好的資料庫產品不等於就是乙個好的應用系統,如果不能設計乙個合理的資料庫模型,不僅會增加客戶端與伺服器端的程式設計和維護難度,而且會影響系統實際執行的效能。因此,要想開發出一款理想的資料庫產品應遵循以下設計準則 1 命名規範化 不同的資料庫產品對物件的命名...
資料庫設計的理論步驟
1 需求分析階段 需求收集和分析,得到資料字典和資料流圖。2 概念結構設計階段 對使用者需求綜合 歸納與抽象,形成概念模型,用e r圖表示。3 邏輯結構設計階段 將概念結構轉換為某個dbms所支援的資料模型。4 資料庫物理設計階段 為邏輯資料模型選取乙個最適合應用環境的物理結構。5 資料庫實施階段 ...