freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

第10章數(shù)據(jù)依賴和關(guān)系模式的規(guī)范化-資料下載頁

2025-07-20 07:11本頁面
  

【正文】 些范式;在規(guī)范化時,不必按此次序一步步地去做。對于數(shù)據(jù)庫設(shè)計者來說, 1NF和 2NF本身并不重要,最重要的是 3NF和BCNF兩種范式。 定義 1014 在一個關(guān)系模式的所有非平凡函數(shù)依賴中, 如果所有決定子都含有鍵(即決定子是超鍵),則此關(guān) 系屬于 BCNF( Boyce- Codd Normal Form)。 定義 1015 在一個關(guān)系模式R中 , 對任一非平凡函數(shù)依賴 X → A , 如果滿足下列兩條件之一: ( 1 ) X是超鍵; (2)A是主屬性;則此關(guān)系R屬于 3NF。 比起 BCNF的定義 , 3NF放松了一個限制 , 即如果A是主屬性 , 則允許其決定子不含鍵 。 因此 , 一個關(guān)系屬于 BCNF, 一定屬于 3NF, BCNF是 3NF的特例 。 從 3NF的定義可知 , X → A違反 3NF的定義可分為下面兩種情況: ( 1 ) A是非主屬性 , 而X是鍵的真子集; (2)A是非主屬性,而X既非超鍵,也非鍵的真子集。 下面討論規(guī)范化為BCNF及3NF的算法 , 先介紹兩個引理 。 引理 107 設(shè)R是滿足函數(shù)依賴集F的關(guān)系模式, ρ ={ R1,R2,… ,Rk}是R的一個無損分解,如果 Fi=∏ Ui(F)是F在 Ri上的投影,={ S1, S2, … , Sm}是 Ri的一個無損分解,則{ R1,… ,Ri1, S1 , … , Sm,Ri+1,… ,Rk}是R的一個無損分解。 ?引理 108 設(shè) R是滿足函數(shù)依賴集 F的關(guān)系模式 , ρ= { R1,R2,… ,Rk}是 R的一個無損分解,則 ={ R1,R2,… ,Rk ,Rk+1,… ,Rn}也是 R的一個無損分解。 ?算法 104 求分解關(guān)系模式為 BCNF的一個無損分解 。 輸入:關(guān)系模式 R及其函數(shù)依賴集 F。 輸出:分解 R為 BCNF的一個無損分解 。 方法:初始化 ρ = { R} 。 如果S為 ρ 中的一個非 BCNF關(guān)系模式,則S中必有非平凡函數(shù)依賴X → A,其中X不是S的超鍵。將S分解為 S1(XA)和 S2(Us-A),式中 US為 S的屬性集。由于( XA) ∩ ( US-A)=X ,( XA)-( US- A)= A,而X → A成立,則有( XA) ∩ ( US- A) → ( XA)-( US- A),故 S可以無損地分解為 S1和 S2,可用 S1,S2取代 ρ 中的 S。如此反復(fù)進(jìn)行下去,直至 ρ 中所有關(guān)系模式都是 BCNF為止。因為 ρ 開始是無損分解(僅有 R),且以后每次分解都是無損分解,所以根據(jù)引理 107, ρ 始終都是無損分解。 【 例 108】 圖 101所示的關(guān)系為 R( S# , C# , G, TN,D) , 函數(shù)依賴集 F= {{ S# , C# } → G, C# → TN,TN→D } , 試用算法 104分解 R為 BCNF。 解:初始化 ρ = { R} 。 R的鍵為 { S# , C# } 。 C# , TN不是超鍵 。 首先從 R中分出關(guān)系 ( TN, D) , 得 ρ = { R1( S# ,C# ,G,TN) ,R2( TN,D)}。 再從 R1中分出 (C# ,TN),則得 ρ ={ R3(S# ,C# ,G), R4(C# ,TN),R2(TN,D)}。 R2, R3, R4都屬于BCNF,分解完成。 算法 105 求分解關(guān)系模式為 3NF的一個保持依賴的分解 。 輸入:關(guān)系模式R及其函數(shù)依賴集F 。 輸出:分解R為 3NF的一個保持依賴的分解 。 方法:首先將F以其最小覆蓋代替 , 仍稱為F 。 找出不在F中出現(xiàn)的R中屬性 , 把這些屬性單獨組成一個關(guān)系模式 , 并且將它從R中分離出去;所余的屬性所組成的關(guān)系模式仍記為R , 其屬性集仍記為U 。 如果最小覆蓋F中有一函數(shù)依賴含有R中的所有屬性 , 則把整個R作為輸出 , 算法結(jié)束 。 否則 , 進(jìn)行下面的分解 。 對于F中所有函數(shù)依賴X → A,將 XA作為 σ 中的一個關(guān)系模式輸出。但是,如果F中有函數(shù)依賴X → A1,X → A2, … ,X → An,可將 XA1A2… An作為一個關(guān)系模式輸出。 定理 105 算法 105產(chǎn)生一個保持依賴且化為 3NF的分解。 算法 106 求分解關(guān)系模式為 3NF的一個無損且保持依賴 的分解 。 輸入:關(guān)系模式R及其函數(shù)依賴集F 。 輸出:分解R為 3NF的一個無損且保持依賴的分解 。 方法:首先用算法 105求出分解 R為 3NF且保持依賴的分解 , 設(shè) = { R1, R2, … , Rk} , 設(shè)X為R的一個鍵 , 則 = ∪ {R(X)}。 ? ???定理 106 算法 106產(chǎn)生一個保持依賴的化為 3nf的無損 分解。 【 例 109】 設(shè)有關(guān)系模式 R( S#, SN, P, C, S, Z),其中 S#表示學(xué)號, SN表示學(xué)生姓名, P表示省, C表示市, S表示街道及號碼, Z表示郵政編碼。 R滿足函數(shù)依賴集 F={ S# → SN, S# → P, S# → C, S# → S, S#→ Z{ P, C, S} → Z, Z→P , Z→C }。試分解 R為 3NF。 解:首先只保持依賴 , 分解 R為 3NF。 求 F的最小覆蓋 , 所有函數(shù)依賴右邊已是單屬性 , 但有些函數(shù)依 賴是冗余的 。 因為 S# → P, S# → C, S# → S, 故 S# → { P, C, S} 。 根據(jù)傳遞 律可得 S# → Z, 即 F中的 S# → Z能由其他函數(shù)依賴導(dǎo)出 , 可以省去 。 用算法 105求 : = {( S# ,SN,P,C,S) ,( P,C,S,Z ) , ( Z,P,C)} 因R的鍵為 S# , 故可得 = {( S# ,SN,P,C,S) , ( P,C,S,Z) ,(Z,P,C) ,( S# )} 消除多余關(guān)系( S#)及( Z,P,C),得 ={(S#, SN,P,C,S),(P,C,S,Z)} ? ?39。?39。?定理 107 設(shè)R是一個關(guān)系模式, ρ ={ R1,R2}是 R的一 個分解。若D是R的函數(shù)依賴和多值依賴集,則 ρ 為無 損分解,當(dāng)且僅當(dāng)( U1∩U 2) →→ (U1U2)|( U2- U1)。 定義 1016 在關(guān)系模式 R中,若存在非平凡多值依賴 X→→Y ,則 X必為 R的超鍵。滿足此條件的 R屬于 4NF。 定義 1017 如果在關(guān)系模式R中,除了由超鍵構(gòu)成的連 接依賴外,別無其他連接依賴,則R屬于 5NF。
點擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1