版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、主要學(xué)習(xí)內(nèi)容主要學(xué)習(xí)內(nèi)容 - 什么是規(guī)范化,以及它在數(shù)據(jù)庫設(shè)計中的作用 - 范式1NF、 2NF、 3NF - 范式如何從低范式轉(zhuǎn)換為高范式 - 規(guī)范化和ER建模被同時用來生成優(yōu)秀的數(shù)據(jù)庫設(shè)計 - 要求非規(guī)范化以有效生成信息的情況 第第5章章 數(shù)據(jù)庫表的規(guī)范化數(shù)據(jù)庫表的規(guī)范化 5.1 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化表是數(shù)據(jù)庫設(shè)計過程中的基本構(gòu)件。規(guī)范化(normalization)是估算并校正表結(jié)構(gòu)以使數(shù)據(jù)冗余最小化的過程,它可以幫助消除數(shù)據(jù)異常。規(guī)范化通過叫做“范式”的一組平臺進行工作。前3個平臺記述為第一范式(1NF)、第二范式(2NF)、第三范式(3NF)。從結(jié)構(gòu)的觀點來看,2NF優(yōu)于1N
2、F,而3NF優(yōu)于2NF。出于大多數(shù)商務(wù)數(shù)據(jù)庫設(shè)計目的考慮,在規(guī)范化過程中對3NF的需要最多。實際應(yīng)用中會涉及規(guī)范化和非規(guī)范化的權(quán)衡。 5.1 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 規(guī)范化需要規(guī)范化需要 5.1.1 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 規(guī)范化需要規(guī)范化需要 續(xù)續(xù)報表中的總費用為派生值,它沒必要存儲在數(shù)據(jù)表中。 5.1.1 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 規(guī)范化需要規(guī)范化需要 續(xù)續(xù) 但該表與關(guān)系數(shù)據(jù)庫要求不符合,而且在數(shù)據(jù)處理方面做的不好: 主鍵標包括空值 表項目引起數(shù)據(jù)不一致。例如,可以將JOB_CLASS值“Elect. Engineer”輸入為“Elect. Eng”。 表顯示了數(shù)據(jù)冗余。從
3、而生成了下面的異常: 更新異常 插入異常 刪除異常 5.1.2 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第一范式轉(zhuǎn)換為第一范式步驟步驟1:消除重復(fù)組:消除重復(fù)組 先從介紹表格式中的數(shù)據(jù)開始,在表格式中,每個單元格都有單個值,而且沒有重復(fù)組。為了消除重復(fù)組,通過確保每一個重復(fù)組屬性包括一個合適的數(shù)據(jù)值來消除空值。步驟步驟2:標識鍵標:標識鍵標 為了保持惟一標識任何屬性值的正確的主鍵標,新鍵標必須由PROJ_NUM和EMP_NUM的組合組成步驟步驟3:標識所有依賴,:標識所有依賴,步驟2中PK的標識意味著你已經(jīng)標識了下面的依賴: PROJ_NUM,EMP_NUM PROJ_NAME,EMP_NAME,
4、 JOB_CLASS,CHG_HOUR,HOURS PROJ_NUM PROJ_NAME 5.1.2 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第一范式轉(zhuǎn)換為第一范式PRJ_NUM PRJ_NAME EMP_NUM EMP_NAMEJOB_CLASSCHG_HOURHOURS部分依賴部分依賴傳遞依賴 5.1.2 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第一范式轉(zhuǎn)換為第一范式 續(xù)續(xù)部分依賴(partial dependencies):只基于復(fù)合主鍵標的一部分的依賴。傳遞依賴(transitive dependency):一個非主屬性對于另一個非主屬性的依賴 依賴圖(依賴圖(dependency diagr
5、am) 5.1.2 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第一范式轉(zhuǎn)換為第一范式 續(xù)續(xù)術(shù)語術(shù)語1NF(第一范式,(第一范式,first normal form)描述了表格式,在表格式中:定義了所有鍵標屬性。表中沒有重復(fù)組。換句話說,每一行/列插入僅可以包括一個值,而不是一組值。所有屬性都依賴于主鍵標。所有的關(guān)系表都滿足1NF,該范式的問題是包括了部分依賴,也就是說,只基于鍵標一部分的依賴。 1NF到到2NF的轉(zhuǎn)換很簡單:從上圖所示的的轉(zhuǎn)換很簡單:從上圖所示的1NF格式開始,格式開始,完成下面的步驟:完成下面的步驟:步驟步驟1:標識所有鍵標組件:標識所有鍵標組件PROJ_NUMEMP_NUMPRO
6、J_NUM EMP_NUM 每一個組件將成為新表中的鍵標。換句話說,原始表現(xiàn)在分成了3個表。我們把這些表分別叫做PROJECT,EMPLOYEE和ASSIGN。步驟步驟2:標識依賴屬性:標識依賴屬性 3個新表PROJECT,EMPLOYEE和ASSIGN可以描述如下: PROJECT(PROJ_NUM,PROJ_NAME) EMPLOYEE(EMP_NUM,EMP_NAME,JOB_CLASS,CHG_HOUR) ASSIGN(PROJ_NUM,EMP_NUM,ASSIGN_HOURS) 5.1.3 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第二范式轉(zhuǎn)換為第二范式 PRJ_NUM PRJ_NAMEE
7、MP_NUM EMP_NAMEJOB_CLASSCHG_HOURASSIGN_HOURS傳遞依賴 5.1.3 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第二范式轉(zhuǎn)換為第二范式 續(xù)續(xù) 表名:PROJECTEMP_NUM PRJ_NUM表名:EMPLOYEE表名:ASSIGN 5.1.3 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第二范式轉(zhuǎn)換為第二范式 續(xù)續(xù) 術(shù)語術(shù)語2NF(第二范式,(第二范式,second normal form):):它屬于1NF。它不包括部分依賴;也就是說,沒有屬性只依賴于主鍵標的一部分 由于只有表的主鍵標由幾個屬性組成時,部分依賴才存在,所以主鍵標只有單個屬性組成的表屬于1NF,那么
8、他就自動屬于2NF。 屬于2NF的表仍可能顯示出傳遞依賴;也就是說,一個或多個屬性可以在功能上依賴于非鍵標屬性。 5.1.4 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第三范式轉(zhuǎn)換為第三范式 通過完成下面的通過完成下面的3個步驟,可以很容易地消除由圖個步驟,可以很容易地消除由圖5-4中中所示的數(shù)據(jù)庫體系結(jié)構(gòu)引起的數(shù)據(jù)異常:所示的數(shù)據(jù)庫體系結(jié)構(gòu)引起的數(shù)據(jù)異常:步驟步驟1:標識每一個新的行列式(:標識每一個新的行列式(determinant) 對于每一個傳遞依賴,將它的行列式寫為新表的PK(行列式是它的值確定行中其他值的任何屬性) 步驟2:標識依賴屬性, 標識依賴于步驟1中所標識的每一個行列式的屬性,并
9、標識依賴。在本例中,寫為:JOB_CLASS CHG_HOUR,命名表來反映它的內(nèi)容和功能。在本例中,JOB似乎是合適的。步驟步驟3:從傳遞依賴中消除依賴屬性:從傳遞依賴中消除依賴屬性 從具有這樣的傳遞關(guān)系的每一個表中消除傳遞關(guān)系(一個或多個)中的所有依賴屬性。 PRJ_NUM PRJ_NAMEEMP_NUM EMP_NAMEJOB_CLASSASSIGN_HOURS 5.1.4 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第三范式轉(zhuǎn)換為第三范式 續(xù)續(xù) 表名:PROJECTEMP_NUM PRJ_NUM表名:EMPLOYEE表名:ASSIGNJOB_CLASSCHG_HOUR表名:JOB 5.1.4
10、數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 轉(zhuǎn)換為第三范式轉(zhuǎn)換為第三范式 續(xù)續(xù) 術(shù)語術(shù)語3NF(第三范式,(第三范式,third normal form):):它屬于2NF。它不包括傳遞依賴。 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進的設(shè)計改進的設(shè)計 依靠規(guī)范化我們消除了數(shù)據(jù)冗余,但是我們不能僅僅依賴規(guī)范化做出好的設(shè)計,現(xiàn)在我們來看看如何在規(guī)范化的基礎(chǔ)上提高數(shù)據(jù)庫的操作性能和提供數(shù)據(jù)的能力。PK分配分配命名約定命名約定屬性原子性屬性原子性添加屬性添加屬性精制精制PKPRJ_NUM PRJ_NAME表名:PROJECTPRJ_NUM PRJ_NAME表名:PROJECTJOB_DESCRIPTIONJO
11、B_CHG_HOUR表名:JOBEMP_NUMJOB_CODEJOB_CLASSCHG_HOUR表名:JOB PK分配分配 命名約定命名約定 添加屬性添加屬性 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進的設(shè)計改進的設(shè)計PRJ_NUM PRJ_NAME表名:PROJECTJOB_DESCRIPTIONJOB_CHG_HOUR表名:JOBEMP_NUMJOB_CODE 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進的設(shè)計改進的設(shè)計 續(xù)續(xù)EMP_NUM EMP_NAMEJOB_CLASS表名:EMPLOYEEEMP_HIREDATEEMP_FNAMEEMP_NUMEMP_LNAMEEMP_INI
12、TIALJOB_CODE 命名的原子性命名的原子性 添加屬性添加屬性 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進的設(shè)計改進的設(shè)計 續(xù)續(xù) 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進的設(shè)計改進的設(shè)計 續(xù)續(xù)ASSIGN_HOURSPRJ_NUMASSIGN_NUMASSIGN_DATEEMP_NUMASSIGN_HOURSEMP_NUM PRJ_NUM表名:ASSIGN 精制精制PK 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進的設(shè)計改進的設(shè)計 續(xù)續(xù) 5.2 規(guī)范化和數(shù)據(jù)庫設(shè)計規(guī)范化和數(shù)據(jù)庫設(shè)計 為了確解說明規(guī)范化在設(shè)計過程中的作用,我們從概念設(shè)計的角度說明建筑公司簡單業(yè)務(wù)的數(shù)據(jù)庫設(shè)計過程
13、 . 商務(wù)規(guī)則: 公司管理很多工程。 每一個工程要求很多雇員。 一個雇員可以分配到幾個不同的工程。 一些雇員沒有分配到工程處,而且執(zhí)行與工程不是特別相關(guān)的任務(wù)。一些雇員是勞動供應(yīng)源的一部分,所有工程組都需要他們的服務(wù)工作。例如,公司的管理文書不分配到任何一個具體的工程。 每一個雇員具有一個(單個)主要的工作種類。這個工作種類決定每小時開單率。 很多雇員的工作種類可能相同。例如公司雇用一個以上的電工。 5.3 非規(guī)范化非規(guī)范化 盡管規(guī)范化關(guān)系的創(chuàng)建是很重要的數(shù)據(jù)庫設(shè)計目標,但它只是很多這樣的目標中的一個。優(yōu)秀的數(shù)據(jù)庫設(shè)計還要考慮處理要求。當(dāng)分解表來符合規(guī)范化要求時,數(shù)據(jù)庫表的數(shù)量增加。加入更多數(shù)量的表占用了額外的磁盤輸入/輸出(I/O)操作和處理邏輯,因此減慢了系統(tǒng)速度。為了加快處
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 精制鹽工操作技能水平考核試卷含答案
- 醫(yī)用供氣工崗前崗位安全考核試卷含答案
- 老年空巢家庭的遠程溝通輔助方案
- 汽輪機輔機值班員變更管理知識考核試卷含答案
- 鐵路行業(yè)就業(yè)前景
- 出院祝福話術(shù)模板
- 春節(jié)安全宣傳動畫素材講解
- 2026廣東廣州市海珠區(qū)昌崗街道招聘公益性崗位1人備考題庫及1套完整答案詳解
- 乙型肝炎患者的并發(fā)癥預(yù)防與處理
- 交通違法行為舉報獎勵制度
- 2026屆廣東省江門市普通高中化學(xué)高二第一學(xué)期期末調(diào)研模擬試題含答案
- 園林綠化施工工藝及注意事項
- 2025年高中語文必修上冊《登泰山記》文言文對比閱讀訓(xùn)練(含答案)
- 2025年金蝶AI蒼穹平臺新一代企業(yè)級AI平臺報告-
- 2026屆山東菏澤一中高三化學(xué)第一學(xué)期期末達標測試試題含解析
- 2025中國機械工業(yè)集團有限公司(國機集團)社會招聘19人筆試參考題庫附答案
- 二年級上冊100以內(nèi)的數(shù)學(xué)加減混合口算題500道-A4直接打印
- 2025年二級造價師《土建工程實務(wù)》真題卷(附解析)
- 智慧農(nóng)業(yè)管理中的信息安全對策
- 港口安全生產(chǎn)知識培訓(xùn)課件
- 通信凝凍期間安全培訓(xùn)課件
評論
0/150
提交評論