




已閱讀5頁(yè),還剩48頁(yè)未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫(kù)系統(tǒng)原理及應(yīng)用,關(guān)系規(guī)范化理論,數(shù)據(jù)庫(kù)設(shè)計(jì)的三個(gè)主要步驟,概念設(shè)計(jì) 邏輯設(shè)計(jì) 物理設(shè)計(jì),現(xiàn) 實(shí) 世 界,層次,網(wǎng)狀,關(guān)系,概念模型,數(shù)據(jù)模型,物理 模型,文件、 索引等,關(guān)系數(shù)據(jù)庫(kù)規(guī)范化理論是關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的理論基礎(chǔ) 解決的中心問(wèn)題:如何構(gòu)造一個(gè)好的數(shù)據(jù)模式,前導(dǎo)問(wèn)題: 1、為什么進(jìn)行關(guān)系規(guī)范化? 2、什么是關(guān)系規(guī)范化? 核心問(wèn)題: 怎樣進(jìn)行關(guān)系規(guī)范化?,關(guān)系規(guī)范化,問(wèn)題一: 1、為什么進(jìn)行關(guān)系規(guī)范化?,例如,要求設(shè)計(jì)教學(xué)管理數(shù)據(jù)庫(kù),其關(guān)系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE) 其中,SNO表示學(xué)生學(xué)號(hào),SN表示學(xué)生姓名,AGE表示學(xué)生年齡,DEPT表示學(xué)生所在的系別,MN表示系主任姓名,CNO表示課程號(hào),SCORE表示成績(jī)。 在此關(guān)系模式中填入一部分具體的數(shù)據(jù),則可得到SCD關(guān)系模式的實(shí)例,即一個(gè)教學(xué)管理數(shù)據(jù)庫(kù)。,實(shí)例:教學(xué)管理數(shù)據(jù)庫(kù),一個(gè)教學(xué)管理數(shù)據(jù)庫(kù)實(shí)例,1.數(shù)據(jù)冗余浪費(fèi)大量的存儲(chǔ)空間 每個(gè)系名和系主任的名字存儲(chǔ)的次數(shù)等于該系的學(xué)生人數(shù)乘以每個(gè)學(xué)生選修的課程門(mén)數(shù),同時(shí)學(xué)生的姓名、年齡也都要重復(fù)存儲(chǔ)多次,數(shù)據(jù)的冗余度很大,浪費(fèi)了存儲(chǔ)空間。,存在問(wèn)題,2.插入異常該有的數(shù)據(jù)無(wú)法插入 如果某個(gè)新系沒(méi)有招生,尚無(wú)學(xué)生時(shí),則系名和系主任的信息無(wú)法插入到數(shù)據(jù)庫(kù)中。因?yàn)樵谶@個(gè)關(guān)系模式中,(SNO,CNO)是主碼。根據(jù)關(guān)系的實(shí)體完整性約束,主碼的值不能為空,而這時(shí)沒(méi)有學(xué)生,SNO和CNO均無(wú)值,因此不能進(jìn)行插入操作。,存在問(wèn)題,3. 刪除異常不應(yīng)該刪除的數(shù)據(jù)被刪除了 某系學(xué)生全部畢業(yè)而沒(méi)有招生時(shí),刪除全部學(xué)生的記錄則系名、系主任也隨之刪除,而這個(gè)系依然存在,在數(shù)據(jù)庫(kù)中卻無(wú)法找到該系的信息。,存在問(wèn)題(續(xù)),4. 更新異常更新數(shù)據(jù)時(shí),維護(hù)完整性的代價(jià)太大 如某系更換系主任,則屬于該系的學(xué)生記錄都要修改MN的內(nèi)容,稍有不慎,就有可能漏改某些記錄,這就會(huì)造成數(shù)據(jù)的不一致性,破壞了數(shù)據(jù)的完整性。,存在問(wèn)題(續(xù)),由于存在以上問(wèn)題,我們說(shuō),SCD是一個(gè)不好的關(guān)系模式。產(chǎn)生上述問(wèn)題的原因,直觀地說(shuō),是因?yàn)殛P(guān)系中“包羅萬(wàn)象”,內(nèi)容太雜了。 那么,怎樣才能得到一個(gè)好的關(guān)系模式呢? 作業(yè)1:將關(guān)系模式SCD規(guī)范成好的關(guān)系模式。,存在問(wèn)題(續(xù)),問(wèn)題二: 1、什么是關(guān)系規(guī)范化?,規(guī)范化問(wèn)題的提出,關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論主要包括三個(gè)方面的內(nèi)容: 范式(Normal Form) 函數(shù)依賴 模式分解 其中,函數(shù)依賴起著核心的作用,是模式分解和模式設(shè)計(jì)的基礎(chǔ),范式是模式分解的標(biāo)準(zhǔn)。,范式(Normal form) 范式:建立關(guān)系時(shí)需要滿足的約束條件劃分成若干標(biāo)準(zhǔn),這些標(biāo)準(zhǔn)稱為范式,簡(jiǎn)寫(xiě)為NF。范式的級(jí)別越高,發(fā)生操作異常的可能性越小,數(shù)據(jù)冗余越小,但由于關(guān)聯(lián)多,讀取數(shù)據(jù)時(shí)花費(fèi)時(shí)間也會(huì)相應(yīng)增加。,范式,規(guī)范化的基本思想是消除關(guān)系模式中的數(shù)據(jù)冗余,消除數(shù)據(jù)依賴中的不合適的部分,解決數(shù)據(jù)插入、刪除時(shí)發(fā)生異?,F(xiàn)象。 這就要求關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)出來(lái)的關(guān)系模式要滿足一定的條件。 我們把關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化過(guò)程中為不同程度的規(guī)范化要求設(shè)立的不同標(biāo)準(zhǔn)稱為范式(Normal Form)。 由于規(guī)范化的程度不同,就產(chǎn)生了不同的范式。 滿足最基本規(guī)范化要求的關(guān)系模式叫第一范式, 在第一范式中進(jìn)一步滿足一些要求為第二范式, 以此類(lèi)推就產(chǎn)生了第三范式等概念。 每種范式都規(guī)定了一些限制約束條件。,各種范式之間的關(guān)系,函數(shù)依賴,函數(shù)依賴(Functional Dependency)是關(guān)系模式中屬性之間的一種邏輯依賴關(guān)系。 例如在關(guān)系模式SCD中,SNO與SN、AGE、DEPT之間都有一種依賴關(guān)系。,一個(gè)教學(xué)管理數(shù)據(jù)庫(kù)實(shí)例,由于一個(gè)SNO只對(duì)應(yīng)一個(gè)學(xué)生,而一個(gè)學(xué)生只能屬于一個(gè)系,所以當(dāng)SNO的值確定之后,SN,AGE,DEPT的值也隨之被唯一的確定了。,核心問(wèn)題: 1、怎樣進(jìn)行關(guān)系規(guī)范化?,范式化的基本步驟,1NF關(guān)系 消除非主屬性對(duì)碼的部分函數(shù)依賴 2NF關(guān)系 消除非主屬性對(duì)碼的傳遞函數(shù)依賴 3NF關(guān)系 消除主屬性對(duì)非主屬性的函數(shù)依賴 和對(duì)碼的部分、傳遞函數(shù)依賴 BCNF關(guān)系 消除非平凡且非函數(shù)依賴的多值依賴 4NF關(guān)系 消除非候選碼所蘊(yùn)涵的連接依賴 5NF關(guān)系,并非規(guī)范 化程度越高 的關(guān)系模式 就越好,學(xué)生、課程及學(xué)生與課程聯(lián)系 的實(shí)體聯(lián)系圖(E-R圖),學(xué) 生,課 程,范式 一個(gè)關(guān)系的每一個(gè)屬性都是不可再分的基本數(shù)據(jù)項(xiàng),則該關(guān)系是范式。,表1 課程表,表2 學(xué)生表,表3 學(xué)生選課表,表1、表2和表3滿足范式的條件,所以它們是范式。 范式是關(guān)系模型必須達(dá)到的最低要求,不滿足該條件的關(guān)系模型稱為非規(guī)范化關(guān)系,即非I范式。,范式 范式首先是范式,關(guān)系中的每一個(gè)非主屬性完全函數(shù)依賴于主關(guān)鍵字,則該關(guān)系是范式。,表1 課程表,注:表中黃色背景顯示的是主關(guān)鍵字,表2 學(xué)生表,表3 學(xué)生選課表,將非范式規(guī)范為范式的方法是: 將部分函數(shù)依賴關(guān)系中的主屬性(決定方)和非主屬性從關(guān)系中提取出來(lái),單獨(dú)構(gòu)成一個(gè)關(guān)系模式,將關(guān)系模式中余下的屬性,加上主關(guān)鍵字,構(gòu)成另一個(gè)關(guān)系 。,表4 學(xué)生選課表,表3 學(xué)生選課表,2NF的缺點(diǎn),2NF的關(guān)系模式解決了1NF中存在的一些問(wèn)題,2NF規(guī)范化的程度比1NF前進(jìn)了一步,但2NF的關(guān)系模式在進(jìn)行數(shù)據(jù)操作時(shí),仍然存在著一些問(wèn)題: 1數(shù)據(jù)冗余。 2插入異常。 3刪除異常。 4更新異常。,表1 課程表 表2 學(xué)生表 表4 選課表, 范式 范式首先是范式,且關(guān)系中的任何一個(gè)非主屬性都不函數(shù)傳遞依賴于任何主關(guān)鍵字,則關(guān)系是 范式。 首先需要找出關(guān)系中的所有主關(guān)鍵字,然后確定任何一個(gè)非主屬性和任何主關(guān)鍵字之間是否存在函數(shù)傳遞依賴關(guān)系,如果有則刪除函數(shù)傳遞依賴關(guān)系。,表1 課程表,表5 課程表,表6 系部表,表1 課程表 表2 學(xué)生表 表4 選課表,屬于3NF的關(guān)系模式一定是好模式?,表2 學(xué)生表,表7 班級(jí)表,表8 學(xué)生表,表4 學(xué)生選課表,表9 學(xué)生選課表,表1 課程表,表5 課程表 表6 系部表,表2 學(xué)生表,表3 選課表,表4 選課表 表9選課表,關(guān)系模式的規(guī)范化 小結(jié),規(guī)范化 一個(gè)低一級(jí)范式的關(guān)系模式,通過(guò)模式分解轉(zhuǎn)換為若干個(gè)高一級(jí)范式的關(guān)系模式集合的過(guò)程。 規(guī)范化目的 消除關(guān)系上的數(shù)據(jù)冗余、操作異常的現(xiàn)象。 規(guī)范化基本思想 逐步消除數(shù)據(jù)依賴中不合適的部分,使模式中的各關(guān)系模式達(dá)到某種程度的分解。 規(guī)范化實(shí)質(zhì) 概念的單一化,數(shù)據(jù)完整性,數(shù)據(jù)的完整性就是數(shù)據(jù)的正確性和一致性,它反映了現(xiàn)實(shí)世界中實(shí)體的本來(lái)面貌。 數(shù)據(jù)的完整性分為列的完整性、表的完整性和參照完整性。,1.列完整性,列的完整性也稱域完整性或用戶定義完整性。 列完整性是指表中任意列的數(shù)據(jù)類(lèi)型必須符合用戶的定義,或者數(shù)據(jù)必須在規(guī)定的有效范圍之內(nèi)。,表6 系部表,2 .表完整性,表完整性也可稱實(shí)體完整性。 所謂實(shí)體完整性,是指表中必須有一個(gè)主關(guān)鍵字,且主鍵值不能為空。,表6 系部表,3 .參照完整性,參照完整性也稱為引用完整性,它指對(duì)外鍵值進(jìn)行插入或修改時(shí)一定要參照主鍵的值是否存在。對(duì)主鍵進(jìn)行修改或刪除時(shí),也必須要參照外鍵的值是否存在。,4 .保證參照完整性規(guī)則,(1)對(duì)外鍵所在的表執(zhí)行插入操作時(shí),要保證外鍵的值一定要在主表中存在。,表7 班級(jí)表,表8 學(xué)生表,(2)修改從表的外關(guān)鍵字時(shí),要保證修改后的外鍵值在主表中已存在,就是說(shuō)要參照主表的主關(guān)鍵字的值。,表7 班級(jí)表,表8 學(xué)生表,(3)修改主表的主關(guān)鍵
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 業(yè)主買(mǎi)車(chē)位合同范例
- 公司出具房屋合同范例
- 內(nèi)部房屋轉(zhuǎn)讓合同范例
- 上海迪士尼購(gòu)銷(xiāo)合同范例
- 供暖鍋爐設(shè)備租賃合同范例
- 借用大眾員工購(gòu)車(chē)合同范例
- 兼職雇傭合同范例
- 保潔地毯清洗合同范例
- 兩人養(yǎng)殖合同范例
- 鄉(xiāng)鎮(zhèn)餐飲轉(zhuǎn)讓合同范例
- 產(chǎn)品備案合同范例
- 《民法典物權(quán)編》課件
- 2024-2025學(xué)年小學(xué)三年級(jí)第二學(xué)期心理健康教育計(jì)劃
- 2024-2025學(xué)年全國(guó)版圖知識(shí)競(jìng)賽考試題庫(kù) (含答案)
- 2025年呼倫貝爾職業(yè)技術(shù)學(xué)院?jiǎn)握新殬I(yè)適應(yīng)性測(cè)試題庫(kù)及參考答案
- 數(shù)字人直播代運(yùn)營(yíng)協(xié)議
- 天津市部分區(qū)2022-2023學(xué)年七下期中考試數(shù)學(xué)試卷(原卷版)
- 2025年度人力資源服務(wù)外包項(xiàng)目驗(yàn)收與交付合同范本
- 加氣站氣瓶充裝質(zhì)量保證體系手冊(cè)2024版
- 工業(yè)機(jī)器人中傳感器應(yīng)用案例
- 基于教學(xué)評(píng)一體化理念的高中英語(yǔ)閱讀教學(xué)行動(dòng)研究
評(píng)論
0/150
提交評(píng)論