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

正文內(nèi)容

[計算機]第5章關(guān)系數(shù)據(jù)庫設(shè)計理論(已修改)

2024-10-31 03:51 本頁面
 

【正文】 本章內(nèi)容 關(guān)系數(shù)據(jù)庫設(shè)計理論 ? 問題的提出 ? 規(guī)范化 ? 數(shù)據(jù)依賴的公理系統(tǒng) * ? 小結(jié) ? 習(xí) 題 問題的提出 這一章我們討論關(guān)系數(shù)據(jù)庫設(shè)計理論。即關(guān)于:如何使用關(guān)系模型設(shè)計關(guān)系數(shù)據(jù)庫?也就是面對一個現(xiàn)實問題,如何選擇一個比較好的關(guān)系模式的集合?其中每個關(guān)系模式又由哪些屬性組成?這就是數(shù)據(jù)庫邏輯設(shè)計主要關(guān)心的問題。 這一節(jié)有兩方面的內(nèi)容 : 規(guī)范化理論概述 不合理的關(guān)系模式存在的問題 BACK 規(guī)范化理論概述 關(guān)系數(shù)據(jù)庫設(shè)計理論主要包括三個方面的內(nèi)容:函數(shù)依賴、范式( Normal Form)和模式設(shè)計。其中函數(shù)依賴起著核心作用,是模式分解和模式設(shè)計的基礎(chǔ),范式是模式分解的標(biāo)準(zhǔn)。 BACK 不合理的關(guān)系模式存在的問題 [例 1] 要求設(shè)計學(xué)生 課程數(shù)據(jù)庫 , 其關(guān)系模式 SDC如下: SDC( SNO, SN, AGE, DEPT, MN, CNO, SCORE) 其中 :SNO 表示學(xué)生學(xué)號 SN 表示學(xué)生姓名 AGE 表示學(xué)生年齡 DEPT 表示學(xué)生所在的系別 MN 表示系主任名 CNO 表示課程號 SCORE 表示成績。 SNO SN AGE DEPT MN CNO SCORE S1 趙紅 20 計算機 張文斌 C1 90 S1 趙紅 20 計算機 張文斌 C2 85 S2 王小明 17 外語 劉偉華 C5 57 S2 王小明 17 外語 劉偉華 C6 80 S2 王小明 17 外語 劉偉華 C7 S2 王小明 17 外語 劉偉華 C4 70 S3 吳小林 19 信息 劉偉華 C1 75 S3 吳小林 19 信息 劉偉華 C2 70 S3 吳小林 19 信息 劉偉華 C4 85 S4 張濤 22 自動化 鐘志強 C1 93 圖 關(guān)系 SDC 在進行數(shù)據(jù)庫的操作時,會出現(xiàn)以下幾方面的問題。 (1) 數(shù)據(jù)冗余。 系名 , 學(xué)生姓名、年齡等等都要重復(fù)存儲多次 (2) 插入異常。 ( SNO, CNO)是主鍵。缺少一個都無法插入數(shù)據(jù)另外,若學(xué) 生未選課,同樣也不能進行插入操作。 (3) 刪除異常。 刪去學(xué)生數(shù)據(jù),導(dǎo)致課程及教師信息丟失。如果某個學(xué)生不 再選修某課程,有關(guān)該學(xué)生的其他信息也隨之丟失。 (4) 修改異常。 如果某學(xué)生改名,則該學(xué)生的所有記錄都要逐一修改 SN的值;稍有不慎,就有可能漏改某些記錄。 我們把關(guān)系模式 SDC分解為 : 學(xué)生關(guān)系 S ( SNO, SNO, AGE, DEPT) 系關(guān)系 D ( DEPT, MN) 選課關(guān)系 SC( SNO, CNO, SCORE) ? S SNO SN AGE DEPT S1 趙紅 20 計算機 S2 王小明 17 外語 S3 吳小林 19 信息 S4 張濤 22 自動化 ? D DEPT MN 計算機 張文斌 外語 劉偉華 信息 劉偉華 自動化 鐘志強 圖 關(guān)系 SDC經(jīng)分解后的三關(guān)系 S、 D與 SC ? SC SNO CNO SCORE S1 C1 90 S1 C2 85 S2 C5 57 S2 C6 80 S2 C7 S2 C4 70 S3 C1 75 S3 C2 70 S3 C4 85 S4 C1 93 分解后的關(guān)系模式集是一個好的關(guān)系數(shù)據(jù)庫模式 。 這三個關(guān)系模式都不會發(fā)生插入異常 、刪除異常的毛病 , 數(shù)據(jù)冗余也得到了盡可能地控制 。 但要注意 , 一個好的關(guān)系模式并不是在任何情況下都是最優(yōu)的 , 比如查詢某個學(xué)生選修課程名及所在系的系主任時 , 要通過連接操作來完成 ( 即由圖 , 連接形成圖 中的一張總表 ) , 而連接所需要的系統(tǒng)開銷非常大 , 因此要以實際設(shè)計的目標(biāo)出發(fā)進行設(shè)計 。 BACK 規(guī)范化 本節(jié)將討論下述內(nèi)容:首先討論一個關(guān)系屬性間不同的依賴情況,討論如何根據(jù)屬性間的依賴情況來判定關(guān)系是否具有某些不合適的性質(zhì)。通常按屬性間依賴情況來區(qū)分關(guān)系規(guī)范化的程度為第一范式、第二范式、第三范式、BC范式和第四范式等。然后直觀地描述如何將具有不合適性質(zhì)的關(guān)系轉(zhuǎn)換為更合適的形式。 BACK 函數(shù)依賴 ⒈ 函數(shù)依賴 定義 設(shè)關(guān)系模式 R( U, F), U是屬性全集, F是 U上的函數(shù)依賴集, X和 Y 是 U的子集,如果對于 R( U)的任意一個可能的關(guān)系 r,對于 X的每一個具體值,Y都有唯一的具體的值與之對應(yīng), 則稱 X函數(shù)決定 Y,或Y函數(shù)依賴于 X,記 X→ Y。 我們稱 X為決定因素, Y為依賴因素。當(dāng) Y不函數(shù)依賴于 X時,記作: X Y。當(dāng)X→ Y且 Y→ X時,則記作: X Y。 ? 對于關(guān)系模式 SDC: U={SNO, SN, AGE, DEPT, MN, CNO, SCORE} F={SNO→ SN, SNO→ AGE, SNO→ DEPT, DEPT→ MN,SNO→ MN, (SNO, CNO)→ SCORE} 一個 SNO有多個 SCORE 的值與之對應(yīng) , 因此SCORE不能唯一地確定 , 即 SCORE不能函數(shù)依賴于SNO, 所以有: SNO SCORE, 同樣有: CNO SCORE。 但是 SCORE可以被( SNO, CNO)唯一地確定。所以可表示為:( SNO, CNO) → SCORE。 函數(shù)依賴有幾點需要說明 。 ( 1) 平凡的函數(shù)依賴與非平凡的函數(shù)依賴 當(dāng)屬性集 Y是屬性集 X的子集時 , 則必然存在著函數(shù)依賴 X→ Y, 這種類型的函數(shù)依賴稱為平凡的函數(shù)依賴 。如果 Y不是 X子集 , 則稱 X→ Y為非平凡的函數(shù)依賴 。若不特別聲明 , 我們討論的都是非平凡的函數(shù)依賴 。 ( 2) 函數(shù)依賴與屬性間的聯(lián)系類型有關(guān) ① 在一個關(guān)系模式中,如果屬性 X與 Y有 1:1聯(lián)系時,則存在函數(shù)依賴 X→ Y,Y→ X,即 X Y。例如,當(dāng)學(xué)生沒有重名時, SNO SN。 ② 如果屬性 X與 Y有 m:1的聯(lián)系時 , 則只存在函數(shù)依賴X→ Y。 例如 , SNO與 AGE, DEPT之間均為 m:1聯(lián)系 ,所以有 SNO→ AGE , SNO→ DEPT。 ③ 如果屬性 X與 Y有 m:n的聯(lián)系時 , 則 X與 Y之間不存在任何函數(shù)依賴關(guān)系 。 例如 , 一個學(xué)生可以選修多門課程 , 一門課程又可以為多個學(xué)生選修 , 所以 SNO與CNO之間不存在函數(shù)依賴關(guān)系 。 由于函數(shù)依賴與屬性之間的聯(lián)系類型有關(guān),所以在確定屬性間的函數(shù)依賴時,可以從分析屬性間的聯(lián)系入手,便可確定屬性間的函數(shù)依賴。 (3) 函數(shù)依賴的語義范疇的概念 我們只能根據(jù)語義來確定一個函數(shù)依賴 ,而不能按照其形式化定義來證明一個函數(shù)依賴是否成立 。 例如 , 對于關(guān)系模式 S, 當(dāng)學(xué)生不存在重名的情況下 , 可以得到: SN→ AGE、 SN→ DEPT 這種函數(shù)依賴關(guān)系,必須是在沒有重名的學(xué)生條件下才成立,否則就不存在函數(shù)依賴了。所以函數(shù)依賴反映了一種語義完整性約束,是語義的要求。 (4) 函數(shù)依賴關(guān)系的存在與時間無關(guān) (5) 函數(shù)依賴可以保證關(guān)系分解的無損連接性 設(shè) R( X, Y, Z), X、 Y、 Z為不相交的屬性集合,如果 X→ Y或 X→ Z則有 R( X, Y,Z) =R[X, Y]∞ R[X, Z],其中 R[X, Y]表示關(guān)系 R在屬性( X, Y)上的投影,即 R等于兩個分別含決定因素 X的投影關(guān)系(分別是 R[X,Y]與 R[X, Z])在 X上的自然連接,這樣便保證了關(guān)系 R分解后不會丟失原有的信息,稱作關(guān)系分解的無損連接性。 例如,對于關(guān)系模式 SDC,有 SNO→ ( SNO, SN, AGE, DEPT, MN), SDC( SNO, SN, AGE, DEPT, MN, CNO,SCORE) = SDC[SNO, SN, AGE, DEPT,MN]∞SDC[SNO, CNO, SCORE], 也就是說,用其投影在 SNO上的自然連接可復(fù)原關(guān)系模式 SDC。這一性質(zhì)非常重要,在后面的關(guān)系規(guī)范化中要用到。 ⒉ 函數(shù)依賴的基本性質(zhì) ( 1) 投影性 根據(jù)平凡的函數(shù)依賴的定義可知 , 一組屬性函數(shù)決定它的所以子集 。 例如 , 在關(guān)系 SDC中 , ( SNO, CNO)→ SNO和 ( SNO, CNO) → CNO。 說明:投影性產(chǎn)生的是平凡的函數(shù)依賴 , 需要時也能使用的 。 ( 2) 擴張性 若 X→Y 且 W→Z ,則( X, W) → ( Y, Z)。例如,SNO→ ( SN, AGE), DEPT→MN ,則有( SNO, DEPT) →( SN, AGE, MN)。 說明:擴張性實現(xiàn)了兩函數(shù)依賴決定因素與被決定因素的分別合并作用。 (3) 合并性 若 X→Y 且 X→Z 則必有 X→ ( Y, Z) 。 例如 , 在關(guān)系 SDC中 , SNO→ ( SN, AGE) , SNO→DEPT , 則有 SNO→ ( SN,AGE, DEPT) 。 說明:決定因素相同的兩函數(shù)依賴被決定因素的可以合并 。 (4) 分解性 若 X→ ( Y, Z) , 則 X→Y 且 X→Z 。 很顯然 , 分解性為合并性的逆過程 。 說明:決定因素能決定全部 , 當(dāng)然也能決定全部中的部分 。 由合并性和分解性 , 很容易得到以下事實: X→A1 , A2, … ,An成立的充分必要條件是X→Ai ( i=1,2,… ,n)成立。 3. 完全 /部分函數(shù)依賴和傳遞 /非傳遞函數(shù)依賴 定義 設(shè)有關(guān)系模式 R( U) , U是屬性全集 , X和 Y是 U的子集 , X→Y , 并且對于 X的任何一個真子集 X39。, 都有X‘ Y, 則稱 Y對 X完全函數(shù)依賴 ( Full Functional Dependency) ,記作 X f Y。 如果對 X的某個真子集 X39。,有 X39?!鶼 , 則稱 Y 對 X 部 分 函 數(shù) 依 賴 ( Partial Functional Dependency) ,記作 X p Y。 例如 , 在關(guān)系模式 SDC中 , 因為 SNO SCORE, 且 CNO SCORE, 所以有: ( SNO, CNO) f SCORE。 而因為有 SNO→AGE , 所以有 ( SNO, CNO) p AGE。 定義 設(shè)有關(guān)系模式 R( U) , U是屬性全集 , X, Y,Z是 U的子集 , 若 X→Y , 但 Y X, 而 Y→Z ( Y ? X) , 則稱 Z對 X傳遞函數(shù)依賴 ( Transitive Functional Dependency) ,記作: X t Z。 注意:如果有 Y→X ,則 X Y,這時稱 Z對 X直接函數(shù)依賴,而不是傳遞函數(shù)依賴。 碼 在第 2章中已給出有關(guān)碼的概念 。 這里用函數(shù)依賴的概念來定義碼 。 定義 設(shè) K為 R( U, F)中的屬性或?qū)傩约?,?K f U則 K為 R的 候選碼(或候選關(guān)鍵字或候選鍵) ( Candidate key)。若候選碼多于一個,則選定其中的一個為 主碼 (或稱主鍵, Primary key)。
點擊復(fù)制文檔內(nèi)容
教學(xué)課件相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1