版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rè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ī)范化通過叫做“范式”的一組平臺進(jìn)行工作。前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ù)處理方面做的不好: 主鍵標(biāo)包括空值 表項目引起數(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:標(biāo)識鍵標(biāo):標(biāo)識鍵標(biāo) 為了保持惟一標(biāo)識任何屬性值的正確的主鍵標(biāo),新鍵標(biāo)必須由PROJ_NUM和EMP_NUM的組合組成步驟步驟3:標(biāo)識所有依賴,:標(biāo)識所有依賴,步驟2中PK的標(biāo)識意味著你已經(jīng)標(biāo)識了下面的依賴: 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ù)合主鍵標(biāo)的一部分的依賴。傳遞依賴(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)描述了表格式,在表格式中:定義了所有鍵標(biāo)屬性。表中沒有重復(fù)組。換句話說,每一行/列插入僅可以包括一個值,而不是一組值。所有屬性都依賴于主鍵標(biāo)。所有的關(guān)系表都滿足1NF,該范式的問題是包括了部分依賴,也就是說,只基于鍵標(biāo)一部分的依賴。 1NF到到2NF的轉(zhuǎn)換很簡單:從上圖所示的的轉(zhuǎn)換很簡單:從上圖所示的1NF格式開始,格式開始,完成下面的步驟:完成下面的步驟:步驟步驟1:標(biāo)識所有鍵標(biāo)組件:標(biāo)識所有鍵標(biāo)組件PROJ_NUMEMP_NUMPRO
6、J_NUM EMP_NUM 每一個組件將成為新表中的鍵標(biāo)。換句話說,原始表現(xiàn)在分成了3個表。我們把這些表分別叫做PROJECT,EMPLOYEE和ASSIGN。步驟步驟2:標(biāo)識依賴屬性:標(biāo)識依賴屬性 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。它不包括部分依賴;也就是說,沒有屬性只依賴于主鍵標(biāo)的一部分 由于只有表的主鍵標(biāo)由幾個屬性組成時,部分依賴才存在,所以主鍵標(biāo)只有單個屬性組成的表屬于1NF,那么
8、他就自動屬于2NF。 屬于2NF的表仍可能顯示出傳遞依賴;也就是說,一個或多個屬性可以在功能上依賴于非鍵標(biāo)屬性。 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:標(biāo)識每一個新的行列式(:標(biāo)識每一個新的行列式(determinant) 對于每一個傳遞依賴,將它的行列式寫為新表的PK(行列式是它的值確定行中其他值的任何屬性) 步驟2:標(biāo)識依賴屬性, 標(biāo)識依賴于步驟1中所標(biāo)識的每一個行列式的屬性,并
9、標(biāo)識依賴。在本例中,寫為: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ī)范化 改進(jìn)的設(shè)計改進(jìn)的設(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ī)范化 改進(jìn)的設(shè)計改進(jìn)的設(shè)計PRJ_NUM PRJ_NAME表名:PROJECTJOB_DESCRIPTIONJOB_CHG_HOUR表名:JOBEMP_NUMJOB_CODE 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進(jìn)的設(shè)計改進(jìn)的設(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ī)范化 改進(jìn)的設(shè)計改進(jìn)的設(shè)計 續(xù)續(xù) 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進(jìn)的設(shè)計改進(jìn)的設(shè)計 續(xù)續(xù)ASSIGN_HOURSPRJ_NUMASSIGN_NUMASSIGN_DATEEMP_NUMASSIGN_HOURSEMP_NUM PRJ_NUM表名:ASSIGN 精制精制PK 5.1.5 數(shù)據(jù)表和規(guī)范化數(shù)據(jù)表和規(guī)范化 改進(jìn)的設(shè)計改進(jìn)的設(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è)計目標(biāo),但它只是很多這樣的目標(biāo)中的一個。優(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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 智能安防及弱電系統(tǒng)2025年度施工合同
- 2025年天津貨運(yùn)從業(yè)資格證題
- 2025年廊坊貨運(yùn)從業(yè)資格證在哪里練題
- 土石方裝卸作業(yè)2025年度物流服務(wù)合同3篇
- 二零二五年度出租房衛(wèi)生應(yīng)急預(yù)案與租戶安全協(xié)議4篇
- 二零二五版教育合同:國防獎學(xué)金項目實施與管理協(xié)議6篇
- 事業(yè)單位市場營銷合作協(xié)議(2024年修訂版)3篇
- 二零二五年高性能混凝土運(yùn)輸及安裝合同模板3篇
- 二零二五年度彩鋼瓦產(chǎn)品售后維修及保養(yǎng)協(xié)議3篇
- 2025年度窗簾行業(yè)人才培養(yǎng)與就業(yè)服務(wù)合同3篇
- 中國末端執(zhí)行器(靈巧手)行業(yè)市場發(fā)展態(tài)勢及前景戰(zhàn)略研判報告
- 北京離婚協(xié)議書(2篇)(2篇)
- 2025中國聯(lián)通北京市分公司春季校園招聘高頻重點提升(共500題)附帶答案詳解
- Samsung三星SMARTCAMERANX2000(20-50mm)中文說明書200
- 2024年藥品質(zhì)量信息管理制度(2篇)
- 2024年安徽省高考地理試卷真題(含答案逐題解析)
- 廣東省廣州市2024年中考數(shù)學(xué)真題試卷(含答案)
- 高中學(xué)校開學(xué)典禮方案
- 內(nèi)審檢查表完整版本
- 3級人工智能訓(xùn)練師(高級)國家職業(yè)技能鑒定考試題及答案
- 孤殘兒童護(hù)理員技能鑒定考試題庫(含答案)
評論
0/150
提交評論