




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
主講人徐萬萬數據庫及其應用系統開發Access2003張迎新主編12/21/20221主講人徐萬萬數據庫及其應用系統開發Access200第二章數據庫應用系統設計概述12/21/20222第二章數據庫應用系統12/16/202222.1數據庫應用系統的開發2.2數據庫的設計2.3規范化理論的基本概念2.4規范化設計2.5“教學管理系統”的開發2.6Access2019開發工具12/21/202232.1數據庫應用系統的開發12/16/202232.1數據庫應用系統的開發數據庫應用系統的開發方法結構化生命周期法(開發周期較長)原型法(以用戶需求為準)面向對象方法(應變能力較強)12/21/202242.1數據庫應用系統的開發數據庫應用系統的開發方法1
結構化生命周期法 基本思想: 把系統的開發看作工程項目。 需要經過系統規劃、系統分析、系統設計、系統實施、系統運行和維護五個階段。12/21/20225結構化生命周期法12/16/20225結構化生命周期法的開發步驟一、系統規劃階段
在系統正式開發之前,必須進行系統調查和可行性分析。 本階段的主要任務是根據用戶的系統開發請求,初步調查,明確問題,進行可行性分析研究。12/21/20226結構化生命周期法的開發步驟一、系統規劃階段12/16/20二、系統分析階段 系統分析階段可以說是系統開發中最重要的一步。主要任務:
需求分析
信息采集 編寫需求說明書12/21/20227二、系統分析階段 系統分析階段可以說是系統開發中最重要的一步三、系統設計階段
如果系統分析階段的任務是解決“干什么”的問題,那么系統設計階段的任務是確定“怎么干”。 系統設計工作由總體設計和詳細設計兩部分組成。
12/21/20228三、系統設計階段12/16/20228四、系統實施階段第一步:選擇合適的軟件開發工具。第二步:使用所選擇的開發工具,建立數據庫,輸入原始數據,編寫和調試各個模塊的應用程序代碼。第三步:完成各個子系統和模塊之間的聯合調試和測試。12/21/20229四、系統實施階段12/16/20229五、系統運行和維護階段
系統正式交給用戶投入使用,便進入系統的運行和維護階段。 用戶在使用過程中,可能會發現很多問題,或提出新的要求,開發者應不斷對系統進行修改、維護或調整,直至系統生命周期的結束。12/21/202210五、系統運行和維護階段12/16/2022101、概念模型設計最常用的工具是E-R圖。步驟如下:
(1)確定實體;(2)確定實體的屬性;(3)確定實體的主鍵;(4)確定實體間的聯系類型;(5)畫出E-R圖。2.2數據庫的設計12/21/2022111、概念模型設計2.2數據庫的設計12/16/2022112、邏輯數據庫設計 任務是將概念模型轉換成數據庫管理系統所支持的數據模型。 如果是關系型數據庫管理系統,就應將概念模型轉換為關系模型,即將E-R圖中的實體和聯系轉換為關系模式(二維表)。12/21/2022122、邏輯數據庫設計12/16/2022122、邏輯數據庫設計
關系模式(二維表)學院(學院代碼、學院名稱、院長姓名、學院地址、學院電話、學院簡介)系部(系部編號、學院代碼、系部名稱、主任、地址、電話、專業介紹)教師(教師編號、系部編號、姓名、性別、學歷、職稱、辦公電話、手機、E-mail、照片)班級(班級編號、班級名稱、班長、聯系電話、獎勵處罰、系部編號)學生(學號、姓名、性別、出生年月、籍貫、個人簡歷、照片、獎勵處罰、班級編號)12/21/2022132、邏輯數據庫設計12/16/2022133、規范化理論的應用 在上一步的邏輯數據庫設計中,形成了一組關系模式。如果關系模式沒有設計好,就會出現數據冗余、數據更新異常、數據刪除異常、數據插入異常等問題。
規范化理論的目的就是設計好的關系模式。12/21/2022143、規范化理論的應用12/16/2022144、物理數據庫設計 任務是設計數據庫的存儲結構和物理實現方法。例如:字段的存儲類型及屬性……12/21/2022154、物理數據庫設計12/16/2022151.函數依賴函數依賴是屬性之間的一種聯系。 如果一個關系模式設計得不好,說明在它的某些屬性之間存在“不良”的函數依賴。2.3規范化理論的基本概念12/21/2022161.函數依賴2.3規范化理論的基本概念12/16/2022設在關系R中,X、Y為R的兩個屬性子集,如果每個X值只有一個Y值與之對應,則稱屬性Y函數依賴于屬性X;或稱屬性X惟一確定屬性Y,記作X→Y。例如:學號確定姓名如果X→Y,同時Y不包含于X,則稱X→Y是非平凡的函數依賴。(注:本書介紹的是非平凡的函數依賴)
2.3規范化理論的基本概念12/21/202217設在關系R中,X、Y為R的兩個屬性子集,如果每個X值只有一個2.完全函數依賴設在關系R中,X、Y為R的兩個屬性子集,若X→Y,且對于X的任何一個真子集X’,都有X’→Y,則稱Y完全函數依賴于X。若X’
Y,則稱:Y部分函數依賴于X。
反例見P27表2-312/21/2022182.完全函數依賴12/16/2022183.傳遞函數依賴設在關系R中,X、Y、Z為R的三個屬性子集。若X→Y,Y→Z,且X不依賴于Y,則稱:Z傳遞函數依賴于X。
反例見P28表2-612/21/2022193.傳遞函數依賴12/16/202219 1971年IBM公司的科德博士提出了規范化理論,從而提供了判別關系模式優劣的標準。規范化的基本思想是消除關系模式中的數據冗余。解決數據插入、更新、刪除時發生異常現象。這就要求關系數據庫設計出來的關系模式要滿足規范的模式,即“范式”。2.4規范化設計12/21/202220 1971年IBM公司的科德博士提出了規范化理論,從而提 科德博士為不同程度的規范化設立了不同的標準,稱為范式(NormalForm)。 由于規范化的程度不同,就產生了不同的范式。2.4規范化設計12/21/202221 科德博士為不同程度的規范化設立了不同的標準,稱為范式(數據庫的邏輯設計為什么要遵循一定的規范化理論?例如:要設計教學管理數據庫,其關系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)其中SNO表示學號,SN表示學生姓名,AGE表示學生年齡,DEPT表示學生所在系別,MN表示系主任姓名,CNO表示課程號,SCORE表示成績。
12/21/202222數據庫的邏輯設計為什么要遵循一定的規范化理論?例如:要設計教根據實際情況,這些數據有如下語義規定:1.一個系有若干個學生,但一個學生只屬于一個系;2.一個系只有一名系主任,但一個人可以同時兼幾個系的系主任;3.一個學生可以選修多門功課,每門課程可有若干學生選修;4.每個學生學習一門課程只有一個成績。 在這個關系模式中填入一部分具體的數據,可得到SCD關系模式的實例,即一個教學管理數據庫,如下表所示。12/21/202223根據實際情況,這些數據有如下語義規定:12/16/20222SNOSNAGEDEPTMNCNOSCORES1趙亦17計算機劉偉C190S1趙亦17計算機劉偉C285S2錢爾18信息王平C557S2錢爾18信息王平C680S2錢爾18信息王平C7
70S2錢爾18信息王平C570S3孫珊20信息王平C10S3孫珊20信息王平C270S3孫珊20信息王平C485S4李思男自動化劉偉C193課程分數學號系別12/21/202224SNOSNAGEDEPTMNCNOSCORES1趙亦17計算分析:
從以上關系的數據中可以看出:(SNO,CNO)屬性的組合能唯一標識一個元組,所以(SNO,CNO)是該關系模式的主鍵。 但在進行數據庫的操作時,會出現以下幾方面的問題:12/21/202225分析:12/16/202225數據冗余。 每個系名和系主任的名字存儲的次數等于該系的學生人數乘以每個學生選修的課程門數,同時學生的姓名、年齡也都要重復存儲多次,數據的冗余度很大,浪費了存儲空間。12/21/202226數據冗余。12/16/2022262.插入異常。
如果某個新系沒有招生,則系名和系主任的信息無法插入到數據庫中(缺少主鍵值)。因為在這個關系模式中,(SNO,CNO)是主鍵。根據關系的實體完整性約束,主鍵的值不能為空,而這時沒有學生,SNO和CNO均無值,因此不能進行插入操作。12/21/2022272.插入異常。12/16/202227另外,當某個學生尚未選課,即CNO未知,根據實體完整性約束的規定,主鍵的值不能部分為空,同樣不能進行插入操作。12/21/202228另外,當某個學生尚未選課,即CNO未知,根據實體完整性約束的3.刪除異常。某系學生全部畢業而沒有再招生時,刪除全部學生的記錄則系名、系主任也隨之刪除。 此時,這個系雖然存在,在數據庫中卻無法找到該系的信息。12/21/2022293.刪除異常。12/16/2022293.刪除異常。另外,如果某個學生不再選修C1課程,本應該只刪去C1,但C1是主鍵的一部分,為保證實體完整性,必須將整個元組一起刪掉。 這樣,有關該學生的其它信息也隨之丟失。12/21/2022303.刪除異常。12/16/2022304.更新異常。如果學生改名,則該學生的所有記錄都要逐一修改SN;又如某系更換系主任,則屬于該系的學生記錄都要修改MN的內容,稍有不慎,就有可能漏改某些記錄,這就會造成數據的不一致性,破壞了數據的完整性。12/21/2022314.更新異常。12/16/202231由于存在以上問題,SCD是一個不好的關系模式。產生上述問題的原因,直觀地說,是因為關系中“包羅萬象”,內容太雜了。怎樣才能得到一個好的關系模式呢?12/21/202232由于存在以上問題,SCD是一個不好的關系模式。產生上述問題的 把關系模式SCD分解為下面三個結構簡單的關系模式,如圖所示。學生S(SNO,SN,AGE,DEPT)選課SC(SNO,CNO,SCORE)系D(DEPT,MN)12/21/202233 把關系模式SCD分解為下面三個結構簡單的關系模式,如圖所SSCSNOSNAGEDEPT
SNOCNOSCORES1趙亦17計算機
S1C190S2錢爾18信息
S1C285S3孫珊20信息
S2C557S4李思21自動化
S2C680
S2C7
D
S2C570DEPTMN
S3C10計算機劉偉
S3C270信息王平
S3C485自動化劉偉
S4C193分解后的關系模式
12/21/202234S 經過上述分析,分解后的關系模式是一個好的關系數據庫模式。好的關系模式應具備以下四個條件:1.盡可能少的數據冗余。2.沒有插入異常。3.沒有刪除異常。4.沒有更新異常。
12/21/202235 經過上述分析,分解后的關系模式是一個好的關系數據庫模式。 按照一定的規范設計關系模式,將結構復雜的關系分解成結構簡單的關系,從而把不好的關系數據庫模式轉變為好的關系數據庫模式,這就是關系的規范化。12/21/202236 按照一定的規范設計關系模式,將結構復雜的關系分解成結構把關系數據庫的規范化要求設立的標準稱為范式(NormalForm)。由于規范化的程度不同,就產生了不同的范式。 范式
12/21/202237把關系數據庫的規范化要求設立的標準稱為范式(NormalF 范式
滿足最基本規范化要求的關系模式叫第一范式在第一范式中進一步滿足一些要求為第二范式以此類推就產生了第三范式等概念。每種范式都規定了一些限制約束條件。
12/21/202238 范式滿足最基本規范化要求的關系模式叫第一范式12/16/第一范式(1NF)第一范式(FirstNormalForm)是最基本的規范形式,即關系中每個屬性都是不可再分的簡單項。 每個規范化的關系都屬于1NF,這也是它之所以稱為“第一”的原因。12/21/202239第一范式(1NF)12/16/202239第一范式(1NF)定義如果關系模式R,其所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R1NF。12/21/202240第一范式(1NF)12/16/202240編號姓名電話家庭電話辦公電話01004張輝春667788998733421102019陳玉茜672123458656633302019張一燕6789123482334212編號姓名家庭電話辦公電話01004張輝春667788998733421102019陳玉茜672123458656633302019張一燕6789123482334212只要將所有的屬性表示為不可再分的數據項,轉化后的關系即符合第一范式。
12/21/202241編號姓名電話家庭電話辦公電話01004張輝春66778899然而,一個關系模式僅僅屬于第一范式是不適用的。關系模式SCD屬于第一范式,但其具有大量的數據冗余,具有插入異常、刪除異常、更新異常等弊端。12/21/202242然而,一個關系模式僅僅屬于第一范式是不適用的。12/16/2第二范式(2NF)定義如果關系模式R1NF,且每個非主屬性都完全函數依賴于任意一個侯選關鍵字,則稱R屬于第二范式,簡稱2NF,記作R2NF。12/21/202243第二范式(2NF)12/16/202243學號課程號成績學分01002C176401002C288502019C190402019C286502019C393405007C3964其原因是:非主屬性“學分”僅僅依賴于“課程號”,也就是說只是部分依賴于主關鍵字(學號,課程號),而不是完全依賴。學號課程號成績課程號課程名學分01002C176C1高等數學401002C288C2計算機文化基礎502019C190C3英語402019C286C4大學物理402019C393C5大學美育305007C396C6計算機繪圖312/21/202244學號課程號成績學分01002C176401002C28850 2NF的關系模式解決了1NF中存在的一些問題,規范化的程度前進了一步,但2NF的關系模式在進行數據操作時,仍然存在著一些問題。12/21/202245 2NF的關系模式解決了1NF中存在的一些問題,規范化的程度第三范式(3NF)定義如果關系模式R2NF,且每個非主屬性都不傳遞依賴于R的任何候選關鍵字,則稱R屬于第三范式,簡稱3NF,記作R3NF
。如果R3NF,則R也是2NF。反之R2NF,則R不一定是3NF。12/21/202246第三范式(3NF)12/16/202246學號姓名院系編號院系名稱院系地址01004張輝春01計算機學院科教樓三層02019陳玉茜01計算機學院科教樓三層02019張一燕03會計學院科教樓十一層在該表中,關鍵字是學號,由于是單個關鍵字,沒有部分依賴的問題,這個關系肯定屬于第二范式。帶來問題的原因是:關系中存在傳遞依賴。“院系名稱”、“院系地址”兩個屬性依賴于“院系編號”,而“院系編號”又依賴于“學號”,因此,“院系名稱”、“院系地址”兩個屬性通過“院系編號”依賴于“學號”,這種現象稱為傳遞依賴。12/21/202247學號姓名院系編號院系名稱院系地址01004張輝春01計算機學學號姓名院系編號院系編號院系名稱院系地址01004張輝春0101計算機學院科教樓三層02019陳玉茜0103會計學院科教樓十一層02019張一燕0302經濟學院科教樓二層解決辦法是將R分解為以下兩個關系:12/21/202248學號姓名院系編號院系編號院系名稱院系地址01004張輝春01BCNF(第四范式)定義:如果關系模式的所有屬性(包括主屬性和非主屬性)都不傳遞依賴于R的任何侯選關鍵字,則稱R屬于BCNF,記作RBCNF。如果RBCNF
,則R也是3NF。12/21/202249BCNF(第四范式)如果RBCNF,則R也是3NF。關系模式規范化的目的和原則一個關系的分量都是不可再分的數據項,就可稱作規范化的關系,但這只是最基本的規范化。這樣的關系模式是合法的。但有些關系模式存在插入、刪除、修改異常、數據冗余等弊病。規范化的目的就是使結構合理,消除存儲異常,使數據冗余盡量小,便于插入、刪除和更新。12/21/202250關系模式規范化的目的和原則12/16/202250規范化的基本原則就是遵從概念單一化“一事一地”的原則,即一個關系只描述一個實體或者實體間的聯系。若多于一個實體,就把它“分離”出來。因此,所謂規范化,實質上是概念的單一化,即一個關系表示一個實體。12/21/202251規范化的基本原則就是遵從概念單一化“一事一地”的原則,即一個注意1 在數據庫設計過程中,一般說來,1NF很容易遵守,完全遵守3NF的人很少。從關系模型的角度來看,滿足3NF最符合標準,這樣的設計容易維護。而BCNF的范式出現機會較少,而且會破壞完整性,可以在設計時不考慮它。12/21/202252注意112/16/202252注意2 規范化的優點是減少了數據冗余,節約了存儲空間,同時加快了增、刪、改的速度,但在數據查詢方面,需要進行關系模式之間的連接操作,因而影響查詢的速度。因此,并不一定要求全部模式都達到BCNF,有時故意保留部分冗余可能更方便地查詢數據。12/21/202253注意212/16/2022532.5“教學管理系統”的開發2.5.1系統規劃階段
某大學是一所多科性大學,學校設有經濟學院、化學與環境工程學院、機械自動化學院、信息工程學院、計算機學院、商學院、會計學院等11個學院。學校現有教職工近1400人,學生18000多人。12/21/2022542.5“教學管理系統”的開發2.5.1系統規劃階段12/1.提出開發請求
隨著信息量的增加,教學管理工作越來越繁雜,手工管理的弊端日益顯露。
為了提高教學管理的質量和工作效率,為了及時提供信息,實現教學管理的信息化,學校委托某軟件開發公司開發“教學管理系統”。12/21/2022551.提出開發請求12/16/2022552.可行性分析研究 可行性分析包括兩部分內容:分析建立新的管理信息系統的必要性和可能性。可能性主要包括經濟可行性、技術可行性和社會可行性。12/21/2022562.可行性分析研究12/16/2022562.5.2系統分析階段(P31-32)1.學校機構組織2.教學管理工作流程3.教學管理
數據流程圖院系教師登錄班級檔案登錄課程檔案登錄學生成績登錄學生檔案登錄教師檔案接受教學任務教師授課情況表登錄工作量學生選課表教師基本情況表學生基本情況表班級基本情況表全校課程表學生學生選課各類查詢相關人員12/21/2022572.5.2系統分析階段(P31-32)院系教師登錄班級檔案2.5.3系統設計階段1.功能模塊設計教師模塊學生模塊班級模塊院系模塊課程模塊教學管理系統學生基本信息管理學生選課信息管理成績登記統計查詢教師基本信息管理教師授課信息管理工作量統計查詢班級基本信息管理班級信息查詢課程信息管理課程信息查詢教學計劃管理教學任務管理各類查詢統計報表打印12/21/2022582.5.3系統設計階段教師模塊學生模塊班級模塊院系模塊課程2.數據庫設計⑴確定實體⑵確定實體的屬性學院代碼學院簡介學院地址學院名稱院長姓名學院電話學院教師手機照片E-mail辦公電話性別姓名學歷職稱系部編號教師編號12/21/2022592.數據庫設計⑴確定實體學院代碼學院簡介學院地址學院名稱院⑶確定實體間的聯系類型1n系部聘任教師1n學院設置系部mn教師講授課程1n系部有班級1n班級有學生mn學生選修課程局部E-R圖12/21/202260⑶確定實體間的聯系類型1n系部聘任教師1n學院設置系部mmnn11n系部學院設置nm1n1課程聘任教師講授選修n班級有有學生整體E-R圖12/21/202261mnn11n系部學院設置nm1n1課程聘任教師講授選修n班級2.6Access2019開發工具2.6.1Access2019開發環境啟動界面數據庫窗口2.6.2Access的幫助系統
12/21/2022622.6Access2019開發工具2.6.1Acce數據庫設計小結基本步驟:數據庫系統需求分析;數據需求分析;設計數據模式(E-R圖);數據模式轉化為二維表;對表和模式進行第一范式規范;檢查是否符合第二范式并修正關系;用第三范式規范關系;如果存在組合多值依賴傳遞關系,還要用第四范式規范關系。12/21/202263數據庫設計小結基本步驟:12/16/202263一、選擇題(P40)二、判斷題(P41)三、簡答題(P41-2,8)本章作業12/21/202264一、選擇題(P40)本章作業12/16/202264主講人徐萬萬數據庫及其應用系統開發Access2003張迎新主編12/21/202265主講人徐萬萬數據庫及其應用系統開發Access200第二章數據庫應用系統設計概述12/21/202266第二章數據庫應用系統12/16/202222.1數據庫應用系統的開發2.2數據庫的設計2.3規范化理論的基本概念2.4規范化設計2.5“教學管理系統”的開發2.6Access2019開發工具12/21/2022672.1數據庫應用系統的開發12/16/202232.1數據庫應用系統的開發數據庫應用系統的開發方法結構化生命周期法(開發周期較長)原型法(以用戶需求為準)面向對象方法(應變能力較強)12/21/2022682.1數據庫應用系統的開發數據庫應用系統的開發方法1
結構化生命周期法 基本思想: 把系統的開發看作工程項目。 需要經過系統規劃、系統分析、系統設計、系統實施、系統運行和維護五個階段。12/21/202269結構化生命周期法12/16/20225結構化生命周期法的開發步驟一、系統規劃階段
在系統正式開發之前,必須進行系統調查和可行性分析。 本階段的主要任務是根據用戶的系統開發請求,初步調查,明確問題,進行可行性分析研究。12/21/202270結構化生命周期法的開發步驟一、系統規劃階段12/16/20二、系統分析階段 系統分析階段可以說是系統開發中最重要的一步。主要任務:
需求分析
信息采集 編寫需求說明書12/21/202271二、系統分析階段 系統分析階段可以說是系統開發中最重要的一步三、系統設計階段
如果系統分析階段的任務是解決“干什么”的問題,那么系統設計階段的任務是確定“怎么干”。 系統設計工作由總體設計和詳細設計兩部分組成。
12/21/202272三、系統設計階段12/16/20228四、系統實施階段第一步:選擇合適的軟件開發工具。第二步:使用所選擇的開發工具,建立數據庫,輸入原始數據,編寫和調試各個模塊的應用程序代碼。第三步:完成各個子系統和模塊之間的聯合調試和測試。12/21/202273四、系統實施階段12/16/20229五、系統運行和維護階段
系統正式交給用戶投入使用,便進入系統的運行和維護階段。 用戶在使用過程中,可能會發現很多問題,或提出新的要求,開發者應不斷對系統進行修改、維護或調整,直至系統生命周期的結束。12/21/202274五、系統運行和維護階段12/16/2022101、概念模型設計最常用的工具是E-R圖。步驟如下:
(1)確定實體;(2)確定實體的屬性;(3)確定實體的主鍵;(4)確定實體間的聯系類型;(5)畫出E-R圖。2.2數據庫的設計12/21/2022751、概念模型設計2.2數據庫的設計12/16/2022112、邏輯數據庫設計 任務是將概念模型轉換成數據庫管理系統所支持的數據模型。 如果是關系型數據庫管理系統,就應將概念模型轉換為關系模型,即將E-R圖中的實體和聯系轉換為關系模式(二維表)。12/21/2022762、邏輯數據庫設計12/16/2022122、邏輯數據庫設計
關系模式(二維表)學院(學院代碼、學院名稱、院長姓名、學院地址、學院電話、學院簡介)系部(系部編號、學院代碼、系部名稱、主任、地址、電話、專業介紹)教師(教師編號、系部編號、姓名、性別、學歷、職稱、辦公電話、手機、E-mail、照片)班級(班級編號、班級名稱、班長、聯系電話、獎勵處罰、系部編號)學生(學號、姓名、性別、出生年月、籍貫、個人簡歷、照片、獎勵處罰、班級編號)12/21/2022772、邏輯數據庫設計12/16/2022133、規范化理論的應用 在上一步的邏輯數據庫設計中,形成了一組關系模式。如果關系模式沒有設計好,就會出現數據冗余、數據更新異常、數據刪除異常、數據插入異常等問題。
規范化理論的目的就是設計好的關系模式。12/21/2022783、規范化理論的應用12/16/2022144、物理數據庫設計 任務是設計數據庫的存儲結構和物理實現方法。例如:字段的存儲類型及屬性……12/21/2022794、物理數據庫設計12/16/2022151.函數依賴函數依賴是屬性之間的一種聯系。 如果一個關系模式設計得不好,說明在它的某些屬性之間存在“不良”的函數依賴。2.3規范化理論的基本概念12/21/2022801.函數依賴2.3規范化理論的基本概念12/16/2022設在關系R中,X、Y為R的兩個屬性子集,如果每個X值只有一個Y值與之對應,則稱屬性Y函數依賴于屬性X;或稱屬性X惟一確定屬性Y,記作X→Y。例如:學號確定姓名如果X→Y,同時Y不包含于X,則稱X→Y是非平凡的函數依賴。(注:本書介紹的是非平凡的函數依賴)
2.3規范化理論的基本概念12/21/202281設在關系R中,X、Y為R的兩個屬性子集,如果每個X值只有一個2.完全函數依賴設在關系R中,X、Y為R的兩個屬性子集,若X→Y,且對于X的任何一個真子集X’,都有X’→Y,則稱Y完全函數依賴于X。若X’
Y,則稱:Y部分函數依賴于X。
反例見P27表2-312/21/2022822.完全函數依賴12/16/2022183.傳遞函數依賴設在關系R中,X、Y、Z為R的三個屬性子集。若X→Y,Y→Z,且X不依賴于Y,則稱:Z傳遞函數依賴于X。
反例見P28表2-612/21/2022833.傳遞函數依賴12/16/202219 1971年IBM公司的科德博士提出了規范化理論,從而提供了判別關系模式優劣的標準。規范化的基本思想是消除關系模式中的數據冗余。解決數據插入、更新、刪除時發生異常現象。這就要求關系數據庫設計出來的關系模式要滿足規范的模式,即“范式”。2.4規范化設計12/21/202284 1971年IBM公司的科德博士提出了規范化理論,從而提 科德博士為不同程度的規范化設立了不同的標準,稱為范式(NormalForm)。 由于規范化的程度不同,就產生了不同的范式。2.4規范化設計12/21/202285 科德博士為不同程度的規范化設立了不同的標準,稱為范式(數據庫的邏輯設計為什么要遵循一定的規范化理論?例如:要設計教學管理數據庫,其關系模式SCD如下: SCD(SNO,SN,AGE,DEPT,MN,CNO,SCORE)其中SNO表示學號,SN表示學生姓名,AGE表示學生年齡,DEPT表示學生所在系別,MN表示系主任姓名,CNO表示課程號,SCORE表示成績。
12/21/202286數據庫的邏輯設計為什么要遵循一定的規范化理論?例如:要設計教根據實際情況,這些數據有如下語義規定:1.一個系有若干個學生,但一個學生只屬于一個系;2.一個系只有一名系主任,但一個人可以同時兼幾個系的系主任;3.一個學生可以選修多門功課,每門課程可有若干學生選修;4.每個學生學習一門課程只有一個成績。 在這個關系模式中填入一部分具體的數據,可得到SCD關系模式的實例,即一個教學管理數據庫,如下表所示。12/21/202287根據實際情況,這些數據有如下語義規定:12/16/20222SNOSNAGEDEPTMNCNOSCORES1趙亦17計算機劉偉C190S1趙亦17計算機劉偉C285S2錢爾18信息王平C557S2錢爾18信息王平C680S2錢爾18信息王平C7
70S2錢爾18信息王平C570S3孫珊20信息王平C10S3孫珊20信息王平C270S3孫珊20信息王平C485S4李思男自動化劉偉C193課程分數學號系別12/21/202288SNOSNAGEDEPTMNCNOSCORES1趙亦17計算分析:
從以上關系的數據中可以看出:(SNO,CNO)屬性的組合能唯一標識一個元組,所以(SNO,CNO)是該關系模式的主鍵。 但在進行數據庫的操作時,會出現以下幾方面的問題:12/21/202289分析:12/16/202225數據冗余。 每個系名和系主任的名字存儲的次數等于該系的學生人數乘以每個學生選修的課程門數,同時學生的姓名、年齡也都要重復存儲多次,數據的冗余度很大,浪費了存儲空間。12/21/202290數據冗余。12/16/2022262.插入異常。
如果某個新系沒有招生,則系名和系主任的信息無法插入到數據庫中(缺少主鍵值)。因為在這個關系模式中,(SNO,CNO)是主鍵。根據關系的實體完整性約束,主鍵的值不能為空,而這時沒有學生,SNO和CNO均無值,因此不能進行插入操作。12/21/2022912.插入異常。12/16/202227另外,當某個學生尚未選課,即CNO未知,根據實體完整性約束的規定,主鍵的值不能部分為空,同樣不能進行插入操作。12/21/202292另外,當某個學生尚未選課,即CNO未知,根據實體完整性約束的3.刪除異常。某系學生全部畢業而沒有再招生時,刪除全部學生的記錄則系名、系主任也隨之刪除。 此時,這個系雖然存在,在數據庫中卻無法找到該系的信息。12/21/2022933.刪除異常。12/16/2022293.刪除異常。另外,如果某個學生不再選修C1課程,本應該只刪去C1,但C1是主鍵的一部分,為保證實體完整性,必須將整個元組一起刪掉。 這樣,有關該學生的其它信息也隨之丟失。12/21/2022943.刪除異常。12/16/2022304.更新異常。如果學生改名,則該學生的所有記錄都要逐一修改SN;又如某系更換系主任,則屬于該系的學生記錄都要修改MN的內容,稍有不慎,就有可能漏改某些記錄,這就會造成數據的不一致性,破壞了數據的完整性。12/21/2022954.更新異常。12/16/202231由于存在以上問題,SCD是一個不好的關系模式。產生上述問題的原因,直觀地說,是因為關系中“包羅萬象”,內容太雜了。怎樣才能得到一個好的關系模式呢?12/21/202296由于存在以上問題,SCD是一個不好的關系模式。產生上述問題的 把關系模式SCD分解為下面三個結構簡單的關系模式,如圖所示。學生S(SNO,SN,AGE,DEPT)選課SC(SNO,CNO,SCORE)系D(DEPT,MN)12/21/202297 把關系模式SCD分解為下面三個結構簡單的關系模式,如圖所SSCSNOSNAGEDEPT
SNOCNOSCORES1趙亦17計算機
S1C190S2錢爾18信息
S1C285S3孫珊20信息
S2C557S4李思21自動化
S2C680
S2C7
D
S2C570DEPTMN
S3C10計算機劉偉
S3C270信息王平
S3C485自動化劉偉
S4C193分解后的關系模式
12/21/202298S 經過上述分析,分解后的關系模式是一個好的關系數據庫模式。好的關系模式應具備以下四個條件:1.盡可能少的數據冗余。2.沒有插入異常。3.沒有刪除異常。4.沒有更新異常。
12/21/202299 經過上述分析,分解后的關系模式是一個好的關系數據庫模式。 按照一定的規范設計關系模式,將結構復雜的關系分解成結構簡單的關系,從而把不好的關系數據庫模式轉變為好的關系數據庫模式,這就是關系的規范化。12/21/2022100 按照一定的規范設計關系模式,將結構復雜的關系分解成結構把關系數據庫的規范化要求設立的標準稱為范式(NormalForm)。由于規范化的程度不同,就產生了不同的范式。 范式
12/21/2022101把關系數據庫的規范化要求設立的標準稱為范式(NormalF 范式
滿足最基本規范化要求的關系模式叫第一范式在第一范式中進一步滿足一些要求為第二范式以此類推就產生了第三范式等概念。每種范式都規定了一些限制約束條件。
12/21/2022102 范式滿足最基本規范化要求的關系模式叫第一范式12/16/第一范式(1NF)第一范式(FirstNormalForm)是最基本的規范形式,即關系中每個屬性都是不可再分的簡單項。 每個規范化的關系都屬于1NF,這也是它之所以稱為“第一”的原因。12/21/2022103第一范式(1NF)12/16/202239第一范式(1NF)定義如果關系模式R,其所有的屬性均為簡單屬性,即每個屬性都是不可再分的,則稱R屬于第一范式,簡稱1NF,記作R1NF。12/21/2022104第一范式(1NF)12/16/202240編號姓名電話家庭電話辦公電話01004張輝春667788998733421102019陳玉茜672123458656633302019張一燕6789123482334212編號姓名家庭電話辦公電話01004張輝春667788998733421102019陳玉茜672123458656633302019張一燕6789123482334212只要將所有的屬性表示為不可再分的數據項,轉化后的關系即符合第一范式。
12/21/2022105編號姓名電話家庭電話辦公電話01004張輝春66778899然而,一個關系模式僅僅屬于第一范式是不適用的。關系模式SCD屬于第一范式,但其具有大量的數據冗余,具有插入異常、刪除異常、更新異常等弊端。12/21/2022106然而,一個關系模式僅僅屬于第一范式是不適用的。12/16/2第二范式(2NF)定義如果關系模式R1NF,且每個非主屬性都完全函數依賴于任意一個侯選關鍵字,則稱R屬于第二范式,簡稱2NF,記作R2NF。12/21/2022107第二范式(2NF)12/16/202243學號課程號成績學分01002C176401002C288502019C190402019C286502019C393405007C3964其原因是:非主屬性“學分”僅僅依賴于“課程號”,也就是說只是部分依賴于主關鍵字(學號,課程號),而不是完全依賴。學號課程號成績課程號課程名學分01002C176C1高等數學401002C288C2計算機文化基礎502019C190C3英語402019C286C4大學物理402019C393C5大學美育305007C396C6計算機繪圖312/21/2022108學號課程號成績學分01002C176401002C28850 2NF的關系模式解決了1NF中存在的一些問題,規范化的程度前進了一步,但2NF的關系模式在進行數據操作時,仍然存在著一些問題。12/21/2022109 2NF的關系模式解決了1NF中存在的一些問題,規范化的程度第三范式(3NF)定義如果關系模式R2NF,且每個非主屬性都不傳遞依賴于R的任何候選關鍵字,則稱R屬于第三范式,簡稱3NF,記作R3NF
。如果R3NF,則R也是2NF。反之R2NF,則R不一定是3NF。12/21/2022110第三范式(3NF)12/16/202246學號姓名院系編號院系名稱院系地址01004張輝春01計算機學院科教樓三層02019陳玉茜01計算機學院科教樓三層02019張一燕03會計學院科教樓十一層在該表中,關鍵字是學號,由于是單個關鍵字,沒有部分依賴的問題,這個關系肯定屬于第二范式。帶來問題的原因是:關系中存在傳遞依賴。“院系名稱”、“院系地址”兩個屬性依賴于“院系編號”,而“院系編號”又依賴于“學號”,因此,“院系名稱”、“院系地址”兩個屬性通過“院系編號”依賴于“學號”,這種現象稱為傳遞依賴。12/21/2022111學號姓名院系編號院系名稱院系地址01004張輝春01計算機學學號姓名院系編號院系編號院系名稱院系地址01004張輝春0101計算機學院科教樓三層02019陳玉茜0103會計學院科教樓十一層02019張一燕0302經濟學院科教樓二層解決辦法是將R分解為以下兩個關系:12/21/2022112學號姓名院系編號院系編號院系名稱院系地址01004張輝春01BCNF(第四范式)定義:如果關系模式的所有屬性(包括主屬性和非主屬性)都不傳遞依賴于R的任何侯選關鍵字,則稱R屬于BCNF,記作RBCNF。如果RBCNF
,則R也是3NF。12/21/2022113BCNF(第四范式)如果RBCNF,則R也是3NF。關系模式規范化的目的和原則一個關系的分量都是不可再分的數據項,就可稱作規范化的關系,但這只是最基本的規范化。這樣的關系模式是合法的。但有些關系模式存在插入、刪除、修改異常、數據冗余等弊病。規范化的目的就是使結構合理,消除存儲異常,使數據冗余盡量小,便于插入、刪除和更新。12/21/2022114關系模式規范化的目的和原則12/16/202250規范化的基本原則就是遵從概念單一化“一事一地”的原則,即一個關系只描述一個實體或者實體間的聯系。若多于一個實體,就把它“分離”出來。因此,所謂規范化,實質上是概念的單一化,即一個關系表示一個
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 運動鞋履企業縣域市場拓展與下沉戰略研究報告
- 吸收裝置企業數字化轉型與智慧升級戰略研究報告
- 冷彎型鋼企業ESG實踐與創新戰略研究報告
- 繼電保護及自動化設備企業ESG實踐與創新戰略研究報告
- 碳碳復合材料企業數字化轉型與智慧升級戰略研究報告
- 人美版一年級下冊《我的星期天》教學設計
- 2025年儀器儀表及文化、辦公用機械合作協議書
- 2025公司項目負責人安全培訓考試試題及答案標準卷
- 2025年企業員工安全培訓考試試題及答案打印
- 2025年三維編織型材織物合作協議書
- 2023年1月浙江省普通高校招生選考高考政治真題及答案
- 第十三章-希爾德吉德·E·佩普勞的人際關系理論
- 公務用車駕駛員安全培訓
- 工程倫理試題及答案
- 幼兒園辦學規模及租金建議方案
- 急性脊髓炎治療護理課件
- 精神障礙患者的家庭護理指南
- 《咖啡理論知識》課件
- 汞中毒匯報演示課件
- 高中政治復習:選必3《邏輯與思維》易錯知識點匯總
- 建設工程質量檢測方案-技術標部分
評論
0/150
提交評論