數(shù)據(jù)庫(kù)設(shè)計(jì)案例教學(xué)_第1頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)案例教學(xué)_第2頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)案例教學(xué)_第3頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)案例教學(xué)_第4頁(yè)
數(shù)據(jù)庫(kù)設(shè)計(jì)案例教學(xué)_第5頁(yè)
已閱讀5頁(yè),還剩127頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

數(shù)據(jù)庫(kù)設(shè)計(jì)

1數(shù)據(jù)庫(kù)設(shè)計(jì)概述

2需求分析

3概念設(shè)計(jì)

4邏輯設(shè)計(jì)5模式求精

6物理設(shè)計(jì)

7數(shù)據(jù)庫(kù)實(shí)施

8數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)10/26/20221何謂數(shù)據(jù)庫(kù)設(shè)計(jì)?

數(shù)據(jù)庫(kù)設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))出某種數(shù)據(jù)庫(kù)管理系統(tǒng)所支持的優(yōu)化的數(shù)據(jù)庫(kù)邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿(mǎn)足各種用戶(hù)的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)處理要求。

數(shù)據(jù)庫(kù)已經(jīng)成為現(xiàn)代信息系統(tǒng)的基礎(chǔ)和核心部分,而數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞直接影響到整個(gè)系統(tǒng)的效率和質(zhì)量。10/26/20222數(shù)據(jù)庫(kù)設(shè)計(jì)有別于其他軟件系統(tǒng)的設(shè)計(jì),有其獨(dú)特的特點(diǎn)——以數(shù)據(jù)為中心。由于DBMS和前臺(tái)開(kāi)發(fā)技術(shù)進(jìn)步,數(shù)據(jù)的表現(xiàn)形式可以比較容易的實(shí)現(xiàn)。設(shè)計(jì)人員把注意力放在數(shù)據(jù)的組織結(jié)構(gòu)和數(shù)據(jù)處理過(guò)程中的流向問(wèn)題。10/26/20223數(shù)據(jù)庫(kù)設(shè)計(jì)

1數(shù)據(jù)庫(kù)設(shè)計(jì)概述

2需求分析

3概念設(shè)計(jì)

4邏輯設(shè)計(jì)5模式求精

6物理設(shè)計(jì)

7數(shù)據(jù)庫(kù)實(shí)施

8數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)10/26/20224數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)和目標(biāo) 一個(gè)成功的管理系統(tǒng)=50%的業(yè)務(wù)+50%的軟件 50%的成功軟件=25%的數(shù)據(jù)庫(kù)設(shè)計(jì)+25%的程序◆

數(shù)據(jù)庫(kù)設(shè)計(jì)的任務(wù)狹義上講,就是對(duì)某個(gè)給定的應(yīng)用領(lǐng)域,設(shè)計(jì)優(yōu)化的數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu),并建立數(shù)據(jù)庫(kù)。廣義地講是數(shù)據(jù)庫(kù)及其應(yīng)用系統(tǒng)的設(shè)計(jì),即設(shè)計(jì)整個(gè)的數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)。10/26/20225◆

數(shù)據(jù)庫(kù)設(shè)計(jì)的目標(biāo)

創(chuàng)建一個(gè)完整的、盡可能規(guī)范化的和完全集成的概念、邏輯和物理數(shù)據(jù)庫(kù)模型。具體要達(dá)到以下要求:

減少有害的數(shù)據(jù)冗余,提高程序共享性; 保證數(shù)據(jù)的獨(dú)立性,可修改,可擴(kuò)充; 訪問(wèn)數(shù)據(jù)庫(kù)的時(shí)間要短; 數(shù)據(jù)庫(kù)的存儲(chǔ)空間要?。?要保證數(shù)據(jù)的安全性和保密性; 易于維護(hù)。10/26/20226數(shù)據(jù)庫(kù)設(shè)計(jì)的特點(diǎn)◆三分技術(shù),七分管理,十二分?jǐn)?shù)據(jù)

數(shù)據(jù)庫(kù)的建設(shè)中不僅涉及數(shù)據(jù)庫(kù)的設(shè)計(jì)和開(kāi)發(fā)等技術(shù),也涉及管理問(wèn)題。這里的管理不僅僅包括項(xiàng)目管理,也包括與該項(xiàng)目關(guān)聯(lián)的企業(yè)的業(yè)務(wù)管理。基礎(chǔ)數(shù)據(jù)的收集、整理是非常繁瑣吃力的事情。10/26/20227◆

數(shù)據(jù)庫(kù)結(jié)構(gòu)設(shè)計(jì)和對(duì)數(shù)據(jù)的處理設(shè)計(jì)密切結(jié)合

結(jié)構(gòu)設(shè)計(jì):就是設(shè)計(jì)各級(jí)數(shù)據(jù)庫(kù)模式,決定數(shù)據(jù)庫(kù)系統(tǒng)的信息內(nèi)容。

行為設(shè)計(jì):它決定數(shù)據(jù)庫(kù)系統(tǒng)的功能,是事務(wù)處理等應(yīng)用程序的設(shè)計(jì)。10/26/20228現(xiàn)實(shí)世界數(shù)據(jù)分析功能分析概念模型設(shè)計(jì)邏輯模型設(shè)計(jì)物理數(shù)據(jù)庫(kù)設(shè)計(jì)子模式設(shè)計(jì)建立數(shù)據(jù)庫(kù)功能模型功能說(shuō)明事務(wù)設(shè)計(jì)程序說(shuō)明應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試結(jié)構(gòu)與行為設(shè)計(jì)分離示意圖結(jié)構(gòu)設(shè)計(jì)行為設(shè)計(jì)10/26/20229數(shù)據(jù)分析功能分析概念模型設(shè)計(jì)邏輯模型設(shè)計(jì)物理數(shù)據(jù)庫(kù)設(shè)計(jì)子模式設(shè)計(jì)建立數(shù)據(jù)庫(kù)數(shù)據(jù)庫(kù)功能模型功能說(shuō)明事務(wù)設(shè)計(jì)程序說(shuō)明應(yīng)用程序設(shè)計(jì)程序調(diào)試程序運(yùn)行結(jié)構(gòu)與行為設(shè)計(jì)結(jié)合示意圖現(xiàn)實(shí)世界10/26/202210數(shù)據(jù)庫(kù)設(shè)計(jì)方法◆直觀設(shè)計(jì)法(手工試湊法)

數(shù)據(jù)庫(kù)設(shè)計(jì)只是一種經(jīng)驗(yàn)的反復(fù)實(shí)施,而不能稱(chēng)為是一門(mén)科學(xué),缺乏科學(xué)分析理論基礎(chǔ)和工程手段的支持,所以設(shè)計(jì)質(zhì)量很難保證?!粢?guī)范設(shè)計(jì)法(新奧爾良法)

新奧爾良法將數(shù)據(jù)庫(kù)設(shè)計(jì)分成需求分析(分析用戶(hù)需求)、概念設(shè)計(jì)(信息分析和定義)、邏輯設(shè)計(jì)(設(shè)計(jì)實(shí)現(xiàn))和物理設(shè)計(jì)(物理數(shù)據(jù)庫(kù)設(shè)計(jì))。10/26/202211常用的規(guī)范設(shè)計(jì)方法 基于ER模型的數(shù)據(jù)庫(kù)設(shè)計(jì)方法;

于1976年提出

基于3NF的數(shù)據(jù)庫(kù)設(shè)計(jì)方法;

S·Atre提出

ODL(ObjectDefinitionLanguage)方法;

語(yǔ)義對(duì)象模型(SemanticObject)方法。10/26/202212◆計(jì)算機(jī)輔助設(shè)計(jì)法計(jì)算機(jī)輔助設(shè)計(jì)法是指在數(shù)據(jù)庫(kù)設(shè)計(jì)的某些過(guò)程中模擬某一規(guī)范化設(shè)計(jì)的方法,并以人的知識(shí)或經(jīng)驗(yàn)為主導(dǎo),通過(guò)人機(jī)交互方式實(shí)現(xiàn)設(shè)計(jì)中的某些部分。

Oracle公司開(kāi)發(fā)的DesignerSybase公司開(kāi)發(fā)的PowerDesigner這些軟件簡(jiǎn)稱(chēng)為CASE(ComputerAidedSoftwareEngineering)工具?!糇詣?dòng)化設(shè)計(jì)法

10/26/202213數(shù)據(jù)庫(kù)設(shè)計(jì)的步驟

按規(guī)范設(shè)計(jì)法可將數(shù)據(jù)庫(kù)設(shè)計(jì)分為四個(gè)階段:系統(tǒng)需求分析階段、概念結(jié)構(gòu)設(shè)計(jì)階段、邏輯結(jié)構(gòu)設(shè)計(jì)階段、物理設(shè)計(jì)階段。而一個(gè)完整的數(shù)據(jù)庫(kù)系統(tǒng)的開(kāi)發(fā)過(guò)程還需增加數(shù)據(jù)庫(kù)實(shí)施和數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)兩個(gè)階段。10/26/202214不滿(mǎn)意不滿(mǎn)意需求收集和分析應(yīng)用需求(數(shù)據(jù)、處理)設(shè)計(jì)概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)數(shù)據(jù)模型優(yōu)化設(shè)計(jì)物理結(jié)構(gòu)評(píng)價(jià)設(shè)計(jì),性能預(yù)測(cè)物理實(shí)現(xiàn)試驗(yàn)性運(yùn)行使用維護(hù)數(shù)據(jù)庫(kù)需求分析階段概念設(shè)計(jì)階段邏輯設(shè)計(jì)階段物理設(shè)計(jì)階段數(shù)據(jù)庫(kù)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)轉(zhuǎn)換規(guī)則、DBMS功能、優(yōu)化方法應(yīng)用要求、DBMS詳細(xì)特征數(shù)據(jù)庫(kù)設(shè)計(jì)10/26/202215設(shè)計(jì)階段設(shè)計(jì)描述數(shù)據(jù)處理需求分析數(shù)據(jù)字典、數(shù)據(jù)項(xiàng)、數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的描述數(shù)據(jù)流圖和判定樹(shù)、數(shù)據(jù)字典中處理過(guò)程的描述概念結(jié)構(gòu)設(shè)計(jì)概念模型(ER圖)、數(shù)據(jù)字典系統(tǒng)說(shuō)明書(shū)(系統(tǒng)要求、方案、概圖、數(shù)據(jù)流圖)邏輯結(jié)構(gòu)設(shè)計(jì)某種數(shù)據(jù)模型(如關(guān)系)系統(tǒng)結(jié)構(gòu)圖(模塊結(jié)構(gòu))物理設(shè)計(jì)存儲(chǔ)安排、方法選擇、存取路徑建立模塊設(shè)計(jì)實(shí)施階段編寫(xiě)模式、裝入數(shù)據(jù)、數(shù)據(jù)庫(kù)試運(yùn)行程序編碼、編譯聯(lián)結(jié)、測(cè)試運(yùn)行維護(hù)性能監(jiān)測(cè)、轉(zhuǎn)儲(chǔ)/恢復(fù)、數(shù)據(jù)庫(kù)重組和重構(gòu)新舊系統(tǒng)轉(zhuǎn)換、運(yùn)行、維護(hù)10/26/202216數(shù)據(jù)庫(kù)設(shè)計(jì)

1數(shù)據(jù)庫(kù)設(shè)計(jì)概述

2需求分析

3概念設(shè)計(jì)

4邏輯設(shè)計(jì)5模式求精

6物理設(shè)計(jì)

7數(shù)據(jù)庫(kù)實(shí)施

8數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)10/26/202217需求分析的任務(wù)

對(duì)現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門(mén)、企業(yè)等)進(jìn)行詳細(xì)的調(diào)查,通過(guò)對(duì)原系統(tǒng)的了解,收集支持新系統(tǒng)的基礎(chǔ)數(shù)據(jù)并對(duì)其進(jìn)行處理,在此基礎(chǔ)上確定新系統(tǒng)的功能?!粽{(diào)查分析用戶(hù)的活動(dòng)

調(diào)查組織機(jī)構(gòu)情況,調(diào)查各部門(mén)的業(yè)務(wù)活動(dòng)情況。◆收集和分析需求數(shù)據(jù),確定系統(tǒng)邊界

信息需求;處理需求;安全性;完整性的需求

10/26/202218◆編寫(xiě)需求分析說(shuō)明書(shū)(系統(tǒng)分析報(bào)告)(1)系統(tǒng)概況,系統(tǒng)的目標(biāo)、范圍、背景、歷史和現(xiàn)狀;(2)系統(tǒng)的原理和技術(shù),對(duì)原系統(tǒng)的改善;(3)系統(tǒng)總體結(jié)構(gòu)與子系統(tǒng)結(jié)構(gòu)說(shuō)明;(4)系統(tǒng)功能說(shuō)明;(5)數(shù)據(jù)處理概要、工程體制和設(shè)計(jì)階段劃分;(6)系統(tǒng)方案及技術(shù)、經(jīng)濟(jì)、功能和操作上的可行性10/26/202219隨系統(tǒng)分析報(bào)告要提供下列附件:(1)系統(tǒng)的硬件、軟件支持環(huán)境的選擇及規(guī)格要求(所選擇的數(shù)據(jù)庫(kù)管理系統(tǒng)、操作系統(tǒng)、漢字平臺(tái)、計(jì)算機(jī)型號(hào)及其網(wǎng)絡(luò)環(huán)境等)。(2)組織機(jī)構(gòu)圖、組織之間聯(lián)系圖及各機(jī)構(gòu)功能業(yè)務(wù)一覽圖。(3)數(shù)據(jù)流程圖、功能模塊圖和數(shù)據(jù)字典等圖表。10/26/202220需求分析的方法

主要方法有自頂向下和自底向上兩種。(a)自頂向下的需求分析(b)自底向上的需求分析………………需求需求……需求…需求需求需求需求需求需求需求需求需求需求…需求…需求分析的方法10/26/202221

自頂向下的分析方法(StructuredAnalysis,簡(jiǎn)稱(chēng)SA方法)是最簡(jiǎn)單實(shí)用的方法。SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并把每一層用數(shù)據(jù)流圖(DataFlowDiagram,DFD)和數(shù)據(jù)字典(DataDictionary,DD)描述。10/26/202222

數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過(guò)程的關(guān)系。在數(shù)據(jù)流圖中,用命名的箭頭表示數(shù)據(jù)流,用圓圈表示處理,用矩形或其他形狀表示數(shù)據(jù)的存儲(chǔ)。

數(shù)據(jù)流數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)數(shù)據(jù)來(lái)源處理數(shù)據(jù)輸出處理需求信息需求數(shù)據(jù)流圖10/26/202223讀者借書(shū)登記資格核查借書(shū)單書(shū)籍一個(gè)簡(jiǎn)單的系統(tǒng)可用一張數(shù)據(jù)流圖來(lái)表示。當(dāng)系統(tǒng)比較復(fù)雜時(shí),為了便于理解,控制其復(fù)雜性,可以采用分層描述的方法。一般用第一層描述系統(tǒng)的全貌,第二層分別描述各子系統(tǒng)的結(jié)構(gòu)。

10/26/202224

數(shù)據(jù)字典是對(duì)系統(tǒng)中數(shù)據(jù)的詳細(xì)描述,是各類(lèi)數(shù)據(jù)結(jié)構(gòu)和屬性的清單。它與數(shù)據(jù)流圖互為注釋。數(shù)據(jù)字典貫穿于數(shù)據(jù)庫(kù)需求分析直到數(shù)據(jù)庫(kù)運(yùn)行的全過(guò)程,在不同的階段其內(nèi)容和用途各有區(qū)別。在需求分析階段,數(shù)據(jù)字典通常包含以下五部分內(nèi)容:

◆數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小單位,其具體內(nèi)容包括:數(shù)據(jù)項(xiàng)名、含義說(shuō)明、別名、類(lèi)型、長(zhǎng)度、取值范圍、與其他數(shù)據(jù)項(xiàng)的關(guān)系。10/26/202225◆數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)是數(shù)據(jù)項(xiàng)有意義的集合。內(nèi)容包括:數(shù)據(jù)結(jié)構(gòu)名、含義說(shuō)明,這些內(nèi)容組成數(shù)據(jù)項(xiàng)名?!魯?shù)據(jù)流數(shù)據(jù)流可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu),它表示某一處理過(guò)程中數(shù)據(jù)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?nèi)容包括:數(shù)據(jù)流名、說(shuō)明、流出過(guò)程、流入過(guò)程,這些內(nèi)容組成數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)。10/26/202226◆數(shù)據(jù)存儲(chǔ)處理過(guò)程中數(shù)據(jù)的存放場(chǎng)所,也是數(shù)據(jù)流的來(lái)源和去向之一??梢允鞘止{證,手工文檔或計(jì)算機(jī)文件?!籼幚磉^(guò)程處理過(guò)程的處理邏輯通常用判定表或判定樹(shù)來(lái)描述,數(shù)據(jù)字典只用來(lái)描述處理過(guò)程的說(shuō)明性信息。10/26/202227

需求分析得到的DFD圖集和數(shù)據(jù)字典中的內(nèi)容必須返回用戶(hù),并且用非專(zhuān)業(yè)術(shù)語(yǔ)與用戶(hù)交流。在反饋時(shí),設(shè)計(jì)者與用戶(hù)一起檢查與修改那些沒(méi)有如實(shí)反映現(xiàn)實(shí)世界的錯(cuò)誤或遺漏。修改DFD圖、補(bǔ)充數(shù)據(jù)字典的過(guò)程可能需要反復(fù)多次,最終取得用戶(hù)的認(rèn)可。

最終形成的數(shù)據(jù)流圖和數(shù)據(jù)字典為“需求分析說(shuō)明書(shū)”的主要內(nèi)容,這是下一步進(jìn)行概念設(shè)計(jì)的基礎(chǔ)。也是將來(lái)系統(tǒng)維護(hù)的基礎(chǔ)。10/26/202228需求分析過(guò)程中要注意的3點(diǎn):第一,應(yīng)用部門(mén)的業(yè)務(wù)人員常常缺少計(jì)算機(jī)的專(zhuān)業(yè)知識(shí),而數(shù)據(jù)庫(kù)設(shè)計(jì)人員又常常缺乏應(yīng)用領(lǐng)域的業(yè)務(wù)知識(shí),因此相互的溝通往往比較困難。第二,不少業(yè)務(wù)人員往往對(duì)開(kāi)發(fā)計(jì)算機(jī)系統(tǒng)有不同程度的抵觸情緒。有的認(rèn)為需求調(diào)查影響了他們的工作,給他們?cè)斐闪素?fù)擔(dān),特別是新系統(tǒng)的建設(shè)常常伴隨企業(yè)管理的改革,這會(huì)遇到不同部門(mén)不同程度的抵觸。10/26/202229第三,應(yīng)用需求常常在不斷改變,使系統(tǒng)設(shè)計(jì)也常常要進(jìn)行調(diào)整甚至要有重大改變。

面對(duì)這些困難,設(shè)計(jì)人員特別應(yīng)該注意:1.用戶(hù)參與的重要性2.用原型法來(lái)幫助用戶(hù)確定他們的需求3.預(yù)測(cè)系統(tǒng)的未來(lái)改變10/26/202230數(shù)據(jù)庫(kù)設(shè)計(jì)

1數(shù)據(jù)庫(kù)設(shè)計(jì)概述

2需求分析

3概念設(shè)計(jì)

4邏輯設(shè)計(jì)5模式求精

6物理設(shè)計(jì)

7數(shù)據(jù)庫(kù)實(shí)施

8數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)10/26/202231

概念設(shè)計(jì)就是將需求分析得到的用戶(hù)需求抽象為信息結(jié)構(gòu),即概念(語(yǔ)義)數(shù)據(jù)模型(簡(jiǎn)稱(chēng)概念模型)。概念模型作為概念設(shè)計(jì)的表達(dá)工具,為數(shù)據(jù)庫(kù)提供一個(gè)說(shuō)明性結(jié)構(gòu),是設(shè)計(jì)數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)(邏輯模型)的基礎(chǔ)。概念模型必須具備以下特點(diǎn):

語(yǔ)義表達(dá)能力豐富;易于交流和理解; 易于修改和擴(kuò)充;易于向各種數(shù)據(jù)模型轉(zhuǎn)換。

10/26/202232人們提出了許多概念模型,如語(yǔ)義對(duì)象模型(SemanticObjectModel,簡(jiǎn)稱(chēng)SOM)、實(shí)體關(guān)系(Entity-Relationship,簡(jiǎn)稱(chēng)ER)模型等。目前應(yīng)用最普遍的是實(shí)體關(guān)系模型,它將現(xiàn)實(shí)世界的信息結(jié)構(gòu)統(tǒng)一用屬性、實(shí)體以及它們之間的聯(lián)系來(lái)描述。10/26/202233實(shí)體關(guān)系模型10/26/202234◆基本概念實(shí)體(Entity)??陀^存在并可相互區(qū)別的事物稱(chēng)為實(shí)體。實(shí)體可以是具體的人、事、物,也可以是抽象的概念或聯(lián)系。屬性(Attribute)。屬性為實(shí)體的某一方面特征的抽象表示。如教師實(shí)體可由教師編號(hào)、姓名、年齡、性別、職稱(chēng)等屬性來(lái)刻畫(huà)。域(Domain)。屬性的取值范圍稱(chēng)為屬性的域。如:教師實(shí)體中,屬性性別的域?yàn)槟泻团?0/26/202235主碼(PrimaryKey)。碼也稱(chēng)關(guān)鍵字,它是能夠唯一標(biāo)識(shí)一個(gè)實(shí)體的屬性集。如:教師實(shí)體的主碼為教師編號(hào)。

聯(lián)系(Relationship)?,F(xiàn)實(shí)世界的事物總是存在著這樣或那樣的聯(lián)系,這種聯(lián)系必然要在信息世界中得到反映。事物之間的聯(lián)系可分為兩類(lèi):一類(lèi)是實(shí)體內(nèi)部的聯(lián)系,如組成實(shí)體的各屬性之間的關(guān)系;另一類(lèi)是實(shí)體之間的聯(lián)系,即不同實(shí)體之間的聯(lián)系。10/26/202236◆兩個(gè)實(shí)體集之間的聯(lián)系

1:1聯(lián)系:如果對(duì)于A中的一個(gè)實(shí)體,B中至多有一個(gè)實(shí)體與其發(fā)生聯(lián)系,反之,B中的每一實(shí)體至多對(duì)應(yīng)A中一個(gè)實(shí)體,則稱(chēng)A與B是1:1聯(lián)系。1:n聯(lián)系:如果對(duì)于A中的每一實(shí)體,實(shí)體B中有一個(gè)以上實(shí)體與之發(fā)生聯(lián)系,反之,B中的每一實(shí)體至多只能對(duì)應(yīng)于A中的一個(gè)實(shí)體,則稱(chēng)A與B是1:n聯(lián)系。

m:n聯(lián)系:如果A中至少有一實(shí)體對(duì)應(yīng)于B中一個(gè)以上實(shí)體,反之,B中也至少有一個(gè)實(shí)體對(duì)應(yīng)于A中一個(gè)以上實(shí)體,則稱(chēng)A與B為m:n聯(lián)系。10/26/202237兩個(gè)實(shí)體集之間的3類(lèi)聯(lián)系10/26/202238◆聯(lián)系的強(qiáng)度

聯(lián)系的強(qiáng)度反應(yīng)的是聯(lián)系框架內(nèi)的存在依賴(lài)性。如果一個(gè)實(shí)體的存在依賴(lài)于一個(gè)或更多的實(shí)體,就稱(chēng)作存在依賴(lài)。否則就稱(chēng)作存在獨(dú)立,由此聯(lián)系有弱聯(lián)系和強(qiáng)聯(lián)系之分。

弱聯(lián)系(非標(biāo)識(shí)聯(lián)系):相關(guān)實(shí)體是存在獨(dú)立的,即相關(guān)實(shí)體的主碼不包含父實(shí)體主碼的組成部分。例如: 課程(課程編號(hào),課程名,開(kāi)課系別,學(xué)分) 班級(jí)(班級(jí)編號(hào),課程編號(hào),開(kāi)課學(xué)期,學(xué)時(shí))10/26/202239

強(qiáng)聯(lián)系(可標(biāo)識(shí)聯(lián)系):相關(guān)實(shí)體是存在依賴(lài)的.即相關(guān)實(shí)體的主碼包含父實(shí)體的主碼組成部分。例如: 課程(課程編號(hào),課程名,開(kāi)課系別,學(xué)分) 班級(jí)(班級(jí)編號(hào),課程編號(hào),開(kāi)課學(xué)期,學(xué)時(shí))主碼10/26/202240◆實(shí)體關(guān)系模型的表示方法

ER圖是直觀表示概念模型的工具,ER圖的基本思想就是分別用矩形框、橢圓形框和菱形框表示實(shí)體、屬性和聯(lián)系,使用無(wú)向邊將屬性與其相應(yīng)的實(shí)體連接起來(lái),并將聯(lián)系分別和有關(guān)實(shí)體相連接,注明聯(lián)系類(lèi)型。班級(jí)班長(zhǎng)管理11班級(jí)學(xué)生擁有1n學(xué)生課程選課mn10/26/202241◆概念設(shè)計(jì)方法設(shè)計(jì)概念結(jié)構(gòu)的ER模型可采用自頂向下、自底向上、逐步擴(kuò)張和混合策略四種方法。其中最常用的方法是自底向上。自底向上方法是先定義各局部應(yīng)用的概念結(jié)構(gòu)ER模型,然后將它們集成,得到全局概念結(jié)構(gòu)ER模型。10/26/202242

[例1]在簡(jiǎn)單的教務(wù)管理系統(tǒng)中,有如下語(yǔ)義約束:

一個(gè)學(xué)生可選修多門(mén)課程,一門(mén)課程可被多個(gè)學(xué)生選修。因此學(xué)生和課程之間是多對(duì)多的聯(lián)系;

一個(gè)教師可講授多門(mén)課程,一門(mén)課程可以由多個(gè)教師講授。因此教師和課程之間也是多對(duì)多的聯(lián)系;

一個(gè)系可有多個(gè)教師,一個(gè)教師只能屬于一個(gè)系。因此系和教師是之間一對(duì)多的聯(lián)系,同樣系和學(xué)生之間也是一對(duì)多的聯(lián)系。10/26/202243nm名稱(chēng)系開(kāi)課1擁有m學(xué)生m選修課程教師號(hào)課程名成績(jī)性別年齡平均成績(jī)課程號(hào)學(xué)號(hào)姓名學(xué)生選課局部ER圖10/26/202244教師任課局部E-R圖1m教師號(hào)姓名性別職稱(chēng)課程號(hào)教師講授課程n屬于單位單位名

m10/26/202245

[例2]

以[例6.1]中教務(wù)管理系統(tǒng)的兩個(gè)局部ER圖為例,來(lái)說(shuō)明如何消除各局部ER圖之間的沖突,進(jìn)行局部ER模型的合并,從而生成初步ER圖。

首先,這兩個(gè)局部ER圖中存在著命名沖突,學(xué)生選課局部ER圖中的系實(shí)體與教師任課局部ER圖中的單位實(shí)體,都是指“系”,即所謂的異名同義,合并后統(tǒng)一改為“系”,這樣屬性“名稱(chēng)”和“單位名”即可統(tǒng)一為“系名”。10/26/202246

其次,還存在著結(jié)構(gòu)沖突,實(shí)體“系”和實(shí)體“課程”在兩個(gè)不同應(yīng)用中的屬性組成不同,合并后這兩個(gè)實(shí)體的屬性組成為原來(lái)局部ER圖中的同名實(shí)體屬性的并集。解決上述沖突后,合并兩個(gè)局部ER圖,生成如下圖所示的初步的全局ER圖。10/26/202247mn1系屬于教師擁有學(xué)生開(kāi)課講授選修課程mmnm1m1學(xué)號(hào)姓名性別年齡平均成績(jī)成績(jī)教師號(hào)課程號(hào)課程名教師號(hào)姓名性別職稱(chēng)系名

教務(wù)管理系統(tǒng)的初步ER圖10/26/202248一個(gè)好的ER模式,除了能夠準(zhǔn)確、全面的反映用戶(hù)需求之外,還應(yīng)該達(dá)到下列要求:◆實(shí)體類(lèi)型的個(gè)數(shù)應(yīng)盡量少;◆實(shí)體類(lèi)型所含屬性個(gè)數(shù)應(yīng)盡可能少;◆實(shí)體類(lèi)型間的聯(lián)系應(yīng)無(wú)冗余。10/26/202249優(yōu)化初步ER圖的方法:

實(shí)體類(lèi)型的合并。指相關(guān)實(shí)體類(lèi)型的合并。因?yàn)閷?shí)體類(lèi)型最終要轉(zhuǎn)換成關(guān)系模式,涉及多個(gè)實(shí)體類(lèi)型的信息要通過(guò)連接操作獲得。減少實(shí)體類(lèi)型個(gè)數(shù),可減少連接的開(kāi)銷(xiāo),提高處理速度。一般可以把一對(duì)一聯(lián)系的兩個(gè)實(shí)體類(lèi)型合并。

消除冗余。在這里指冗余的數(shù)據(jù)和實(shí)體之間冗余的聯(lián)系。冗余的數(shù)據(jù)是指可由基本的數(shù)據(jù)導(dǎo)出的數(shù)據(jù),冗余的聯(lián)系是由其他的聯(lián)系導(dǎo)出的聯(lián)系。冗余的存在容易破壞數(shù)據(jù)庫(kù)的完整性,給數(shù)據(jù)庫(kù)的維護(hù)增加困難,應(yīng)該消除。10/26/202250

消除冗余的方法主要有兩種:分析方法消除冗余和規(guī)范化理論消除冗余。

采用分析的方法消除冗余,是以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系的說(shuō)明消除冗余;規(guī)范化理論消除冗余主要是運(yùn)用函數(shù)依賴(lài)提供的工具實(shí)現(xiàn)。10/26/202251

[例3]

對(duì)[例2]中生成的初步ER圖進(jìn)行分析優(yōu)化。在前圖所示的初步ER圖中,“課程”實(shí)體中的屬性“教師號(hào)”可由教師實(shí)體與課程實(shí)體之間的聯(lián)系“講授”導(dǎo)出;而學(xué)生的平均成績(jī)可由“選修”聯(lián)系中的屬性“成績(jī)”計(jì)算出來(lái),所以“課程”實(shí)體中的“教師號(hào)”與“學(xué)生”實(shí)體中的“平均成績(jī)”均屬于冗余數(shù)據(jù)。另外,系實(shí)體和課程實(shí)體之間的聯(lián)系“開(kāi)課”,可以由系實(shí)體和教師實(shí)體之間的“屬于”聯(lián)系與教師實(shí)體和課程實(shí)體之間的“講授”聯(lián)系推導(dǎo)出來(lái),所以“開(kāi)課”屬于冗余聯(lián)系。10/26/202252n1系屬于教師擁有學(xué)生講授選修課程mmnm1m學(xué)號(hào)姓名性別年齡成績(jī)課程號(hào)課程名教師號(hào)姓名性別職稱(chēng)系名

教務(wù)管理系統(tǒng)的基本ER圖10/26/202253典型實(shí)例[例4]NewCentury唱片公司決定將制作唱片的有關(guān)音樂(lè)人的信息存入數(shù)據(jù)庫(kù)中?!裘總€(gè)NewCentury中的音樂(lè)人都有No、姓名,地址、號(hào)碼等信息?!裘繕訕?lè)器都有樂(lè)器名(如吉他、電子合成器、長(zhǎng)笛等),音樂(lè)的基調(diào)(如C、B-flat、E-flat)等信息?!裘繌埑加袠?biāo)題、出版日期、格式(如CD和MC)、唱片標(biāo)識(shí)碼等信息。數(shù)據(jù)庫(kù)設(shè)計(jì)舉例10/26/202254◆每首歌曲都有標(biāo)題和作者等信息。

◆每個(gè)音樂(lè)人可以演奏多種樂(lè)器,且一種樂(lè)器可以由多個(gè)音樂(lè)人演奏?!裘繌埑幸唤M歌曲,但一首歌曲只能出現(xiàn)在一張唱片中?!裘渴赘枨梢幻蚨嗝魳?lè)人來(lái)完成,一名音樂(lè)人可以完成多首歌曲?!裘總€(gè)唱片只有一名制片人,一個(gè)音樂(lè)人可以制作多個(gè)唱片。10/26/202255音樂(lè)人唱片歌曲樂(lè)器號(hào)碼NO.樂(lè)器名音樂(lè)基調(diào)地址姓名演奏格式出版日期唱片標(biāo)題作者標(biāo)題唱片標(biāo)識(shí)碼制作完成有n11nnmnm10/26/202256

[例5]設(shè)計(jì)一個(gè)科研檔案管理系統(tǒng)的ER圖。

教師:教師編號(hào)、姓名、性別、年齡、出生日期、工作時(shí)間、職稱(chēng)、政治面貌、文化程度;

研究生:研究生學(xué)號(hào)、姓名、指導(dǎo)教師編號(hào)、指導(dǎo)教師姓名、專(zhuān)業(yè)代碼、班級(jí);

項(xiàng)目:項(xiàng)目編號(hào)、項(xiàng)目名稱(chēng)、項(xiàng)目來(lái)源、項(xiàng)目級(jí)別、開(kāi)始時(shí)間、結(jié)束時(shí)間;

論文:論文編號(hào)、論文題目、論文級(jí)別、發(fā)表刊物、發(fā)表時(shí)間、主辦單位

專(zhuān)業(yè):專(zhuān)業(yè)代碼、專(zhuān)業(yè)名稱(chēng)、學(xué)科代碼、學(xué)科名稱(chēng)10/26/202257每位研究生都有一位教師作為導(dǎo)師,一個(gè)教師可以指導(dǎo)多名研究生(教師和研究生之間存在一對(duì)多的關(guān)系)。每個(gè)項(xiàng)目都有多名教師和研究生參加,并有一位教師作為項(xiàng)目負(fù)責(zé)人(項(xiàng)目和研究生之間、項(xiàng)目和教師之間都是多對(duì)多的關(guān)系)。每篇論文由一名以上教師或研究生完成,按作者順序排列(教師和論文之間、研究生和論文之間都是多對(duì)多的關(guān)系)。每位研究生只屬于某一專(zhuān)業(yè)(研究生和專(zhuān)業(yè)之間是一對(duì)多的關(guān)系)。10/26/202258nmmm11nnn項(xiàng)目研究生專(zhuān)業(yè)教師論文科研檔案管理ER圖參加指導(dǎo)發(fā)表參加屬于發(fā)表編號(hào)名稱(chēng)成果學(xué)號(hào)姓名專(zhuān)業(yè)代碼專(zhuān)業(yè)名稱(chēng)教師編號(hào)教師姓名論文編號(hào)論文名稱(chēng)級(jí)別刊物nnm排名排名排名排名10/26/202259[例6]下面用ER圖來(lái)表示某個(gè)工廠物資管理的概念模型。物資管理涉及的實(shí)體有:倉(cāng)庫(kù)。屬性有倉(cāng)庫(kù)號(hào)、面積、號(hào)碼。零件。屬性有零件號(hào)、名稱(chēng)、規(guī)格、單價(jià)、描述。供應(yīng)商。屬性有供應(yīng)商號(hào)、姓名、地址、號(hào)碼、賬號(hào)。項(xiàng)目。屬性有項(xiàng)目號(hào)、預(yù)算、開(kāi)工日期。職工。屬性有職工號(hào)、姓名、年齡、職稱(chēng)。10/26/202260這些實(shí)體之間的聯(lián)系如下:

(1)一個(gè)倉(cāng)庫(kù)可以存放多種零件,一種零件可以存放在多個(gè)倉(cāng)庫(kù)中,因此倉(cāng)庫(kù)和零件具有多對(duì)多的聯(lián)系。用庫(kù)存量表示某種零件在某個(gè)倉(cāng)庫(kù)中的數(shù)量。(2)一個(gè)倉(cāng)庫(kù)有多個(gè)職工當(dāng)倉(cāng)庫(kù)保管員,一個(gè)職工只能在一個(gè)倉(cāng)庫(kù)工作,因此倉(cāng)庫(kù)和職工之間是一對(duì)多的聯(lián)系。(3)職工之間具有領(lǐng)導(dǎo)-被領(lǐng)導(dǎo)關(guān)系。即倉(cāng)庫(kù)主任領(lǐng)導(dǎo)若干保管員,因此職工實(shí)體集中具有一對(duì)多的聯(lián)系。10/26/202261(4)供應(yīng)商、項(xiàng)目和零件三者之間具有多對(duì)多的聯(lián)系。即一個(gè)供應(yīng)商可以供給若干項(xiàng)目多種零件,每個(gè)項(xiàng)目可以使用不同供應(yīng)商供應(yīng)的零件,每種零件可由不同供應(yīng)商供給。下面給出此工廠的物資管理E-R圖。為了更清晰地表示實(shí)體及其實(shí)體之間的聯(lián)系,人們常常把實(shí)體及其屬性用一幅圖表示,如圖(a)所示;實(shí)體及其實(shí)體之間的聯(lián)系如圖(b)所示,完整的實(shí)體聯(lián)系圖如圖(c)所示。10/26/202262項(xiàng)目號(hào)開(kāi)工日期預(yù)算描述零件零件號(hào)名稱(chēng)規(guī)格單價(jià)項(xiàng)目電話(huà)倉(cāng)庫(kù)號(hào)面積倉(cāng)庫(kù)供應(yīng)商號(hào)姓名地址

供應(yīng)商帳號(hào)職工號(hào)姓名年齡職稱(chēng)職工(a)實(shí)體及其屬性圖10/26/202263零件倉(cāng)庫(kù)職工工作1n領(lǐng)導(dǎo)1n儲(chǔ)存庫(kù)存量mn供應(yīng)商項(xiàng)目供應(yīng)供應(yīng)供應(yīng)供應(yīng)量mnmqpm(b)實(shí)體及其聯(lián)系圖10/26/202264項(xiàng)目供應(yīng)供應(yīng)供應(yīng)供應(yīng)量mnmqpm零件倉(cāng)庫(kù)職工工作n工作1n儲(chǔ)存庫(kù)存量mn1供應(yīng)商零件號(hào)名稱(chēng)規(guī)格單價(jià)項(xiàng)目號(hào)開(kāi)工日期預(yù)算電話(huà)倉(cāng)庫(kù)號(hào)面積職工號(hào)姓名年齡職稱(chēng)供應(yīng)商號(hào)姓名地址電話(huà)帳號(hào)描述(c)完整的實(shí)體聯(lián)系圖10/26/202265數(shù)據(jù)庫(kù)設(shè)計(jì)

1數(shù)據(jù)庫(kù)設(shè)計(jì)概述

2需求分析

3概念設(shè)計(jì)

4邏輯設(shè)計(jì)5模式求精

6物理設(shè)計(jì)

7數(shù)據(jù)庫(kù)實(shí)施

8數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)10/26/202266概述

概念結(jié)構(gòu)設(shè)計(jì)階段得到的ER模型是用戶(hù)模型,它獨(dú)立于任何一種數(shù)據(jù)模型,獨(dú)立于任何一個(gè)具體的DBMS,是一個(gè)與計(jì)算機(jī)軟、硬件的具體性能無(wú)關(guān)的全局概念模式。為了建立用戶(hù)所要求的數(shù)據(jù)庫(kù),需要把上述概念模型轉(zhuǎn)換為某個(gè)具體的DBMS所支持的數(shù)據(jù)模型,即邏輯結(jié)構(gòu)設(shè)計(jì)。

數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的任務(wù)是將概念結(jié)構(gòu)轉(zhuǎn)換成特定DBMS所支持的數(shù)據(jù)模型的過(guò)程。關(guān)系數(shù)據(jù)庫(kù)邏輯設(shè)計(jì)的結(jié)果是一組關(guān)系模式的定義。10/26/202267初始關(guān)系模式設(shè)計(jì)關(guān)系模式規(guī)范化模式評(píng)價(jià)是否修正以DBMS語(yǔ)法描述物理設(shè)計(jì)模式修正否是邏輯設(shè)計(jì)的步驟10/26/202268初始關(guān)系模式設(shè)計(jì)初始關(guān)系模式設(shè)計(jì)過(guò)程就是ER圖向關(guān)系模式的轉(zhuǎn)換。ER圖向關(guān)系模式轉(zhuǎn)換的實(shí)質(zhì)是要將ER圖中的實(shí)體、屬性和聯(lián)系轉(zhuǎn)換成關(guān)系模式。10/26/202269

轉(zhuǎn)換原則

一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式,實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的鍵就是關(guān)系的鍵。具有相同主鍵的關(guān)系可以合并。一個(gè)聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式,分為以下幾種情況。10/26/202270一個(gè)1:1的聯(lián)系可以轉(zhuǎn)化為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。當(dāng)聯(lián)系轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式時(shí),關(guān)系的屬性由聯(lián)系本身的屬性和與之聯(lián)系的兩個(gè)實(shí)體的鍵組成,而關(guān)系的主鍵由各實(shí)體的鍵組成;而當(dāng)聯(lián)系與某一端的關(guān)系模式合并時(shí),在該關(guān)系模式中加入聯(lián)系自身的屬性及另一關(guān)系模式的鍵。10/26/202271

一個(gè)1:n的聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則關(guān)系的屬性由聯(lián)系本身的屬性和與之聯(lián)系的兩個(gè)實(shí)體的主鍵組成,而關(guān)系的主鍵為n端實(shí)體的主鍵;如果采用合并的方式,應(yīng)將聯(lián)系與n端關(guān)系模式合并,合并時(shí)在n端關(guān)系模式中加入聯(lián)系自身的屬性及1端關(guān)系模式的主鍵,合并后關(guān)系模式的主鍵沒(méi)有變化。10/26/202272

一個(gè)n:m的聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系。關(guān)系的屬性由聯(lián)系本身的屬性和與之聯(lián)系的實(shí)體的主鍵組成,關(guān)系的主鍵由聯(lián)系中各實(shí)體的主鍵組合而成(組合鍵)。

10/26/202273

[例8]將[例2]所示教務(wù)管理系統(tǒng)的ER圖轉(zhuǎn)換成一組初始關(guān)系模式。把每一個(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系。

首先分析各實(shí)體的屬性,從中確定其主鍵,然后分別用關(guān)系模式表示。轉(zhuǎn)換步驟

10/26/202274四個(gè)實(shí)體分別轉(zhuǎn)換成四個(gè)關(guān)系模式:實(shí)體:學(xué)生對(duì)應(yīng)的關(guān)系:學(xué)生(學(xué)號(hào),姓名,性別,年齡)實(shí)體:課程對(duì)應(yīng)的關(guān)系:課程(課程號(hào),課程名)實(shí)體:教師對(duì)應(yīng)的關(guān)系:教師(教師號(hào),姓名,性別,職稱(chēng))實(shí)體:系對(duì)應(yīng)的關(guān)系:系(系名,)10/26/202275把每一個(gè)聯(lián)系轉(zhuǎn)換為關(guān)系模式由聯(lián)系轉(zhuǎn)換得到的關(guān)系模式的屬性集中,包含兩個(gè)發(fā)生聯(lián)系的實(shí)體中的主鍵以及聯(lián)系本身的屬性,其關(guān)系鍵的確定與聯(lián)系的類(lèi)型有關(guān)。

[例6.2]的ER圖中,將4個(gè)聯(lián)系轉(zhuǎn)換為關(guān)系模式,其中1個(gè)多對(duì)多類(lèi)型的聯(lián)系轉(zhuǎn)換為獨(dú)立關(guān)系模式,3個(gè)一對(duì)多的聯(lián)系也轉(zhuǎn)換為獨(dú)立的關(guān)系模式,結(jié)果如下:10/26/202276聯(lián)系:屬于對(duì)應(yīng)的關(guān)系:屬于(教師號(hào),系名)聯(lián)系:講授對(duì)應(yīng)的關(guān)系:講授(教師號(hào),課程號(hào))聯(lián)系:選修對(duì)應(yīng)的關(guān)系:選修(學(xué)號(hào),課程號(hào),成績(jī))聯(lián)系:擁有對(duì)應(yīng)的關(guān)系:擁有(學(xué)號(hào),系名)10/26/202277畫(huà)出關(guān)系圖

邏輯設(shè)計(jì)中,ER圖轉(zhuǎn)換為關(guān)系模式后,應(yīng)該考慮數(shù)據(jù)的完整性。實(shí)體完整性通過(guò)確定主鍵已完成。用戶(hù)定義的完整性在實(shí)現(xiàn)階段完成。對(duì)于參照完整性,可以用關(guān)系圖來(lái)描述。10/26/20227810/26/20227910/26/202280實(shí)例分析

[例9]

將[例]設(shè)計(jì)的NewCentury唱片公司信息管理系統(tǒng)的ER圖轉(zhuǎn)換為關(guān)系模式,并畫(huà)出相應(yīng)的關(guān)系圖。由ER圖轉(zhuǎn)換為關(guān)系模式首先根據(jù)實(shí)體轉(zhuǎn)換原則,將4個(gè)實(shí)體轉(zhuǎn)換為關(guān)系模式:音樂(lè)人(編號(hào),姓名,地址,號(hào)碼)樂(lè)器(樂(lè)器名,音樂(lè)基調(diào))唱片(唱片標(biāo)識(shí)碼,唱片標(biāo)題,出版日期,格式)歌曲(歌曲標(biāo)題,作者)10/26/202281

其次,將4個(gè)聯(lián)系轉(zhuǎn)換為關(guān)系模式,其中2個(gè)多對(duì)多類(lèi)型的聯(lián)系轉(zhuǎn)換為關(guān)系模式,2個(gè)一對(duì)多的聯(lián)系采用與多端實(shí)體合并的方法。完成((編號(hào),歌曲標(biāo)題)演奏(編號(hào),樂(lè)器名)唱片(唱片標(biāo)識(shí)碼,編號(hào)No,唱片標(biāo)題,出版日期,格式)歌曲(歌曲標(biāo)題,編號(hào)No

,唱片標(biāo)識(shí)碼)10/26/20228210/26/202283[例10]

將[例5]中設(shè)計(jì)的教師和研究生科研檔案管理系統(tǒng)的ER圖轉(zhuǎn)換為關(guān)系模式,并畫(huà)出相應(yīng)的關(guān)系圖。實(shí)例分析

由ER圖轉(zhuǎn)換為關(guān)系模式

首先根據(jù)實(shí)體轉(zhuǎn)換原則,將5個(gè)實(shí)體轉(zhuǎn)換為關(guān)系模式;

教師,研究生,論文,項(xiàng)目,專(zhuān)業(yè)。10/26/202284由ER圖轉(zhuǎn)換為關(guān)系模式其次,把4個(gè)m:n類(lèi)型的聯(lián)系轉(zhuǎn)換為關(guān)系模式,2個(gè)1:n的聯(lián)系采用與多端實(shí)體合并的方法。

參加1(項(xiàng)目編號(hào),教師編號(hào),排名)反應(yīng)教師和項(xiàng)目之間的聯(lián)系。參加2(項(xiàng)目編號(hào),研究生學(xué)號(hào),排名)反應(yīng)研究生和項(xiàng)目之間的聯(lián)系。發(fā)表1(教師編號(hào),論文編號(hào),排名)反應(yīng)教師和論文之間的聯(lián)系。發(fā)表2(研究生學(xué)號(hào),論文編號(hào),排名)反應(yīng)研究生和論文之間的聯(lián)系。10/26/20228510/26/202286數(shù)據(jù)庫(kù)設(shè)計(jì)

1數(shù)據(jù)庫(kù)設(shè)計(jì)概述

2需求分析

3概念設(shè)計(jì)

4邏輯設(shè)計(jì)

5模式求精

6物理設(shè)計(jì)

7數(shù)據(jù)庫(kù)實(shí)施

8數(shù)據(jù)庫(kù)運(yùn)行和維護(hù)10/26/202287關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)中存在的問(wèn)題

示例:

考慮為管理職工的工資信息而設(shè)計(jì)一個(gè)關(guān)系模式。10/26/202288在表中包含著兩類(lèi)信息:

職工個(gè)人的工資信息;各個(gè)級(jí)別的工資數(shù)額。問(wèn)題:

如果我希望知道在這個(gè)單位8級(jí)工的工資是多少,能否查詢(xún)到?10/26/202289問(wèn)題:

插入異常:如果沒(méi)有職工具有8級(jí)工資,則8級(jí)工資的工資數(shù)額就難以插入

刪除異常:如果僅有職工趙明具有4級(jí)工資,如果將趙明刪除,則有關(guān)4級(jí)工資的工資數(shù)額信息也隨之刪除了。10/26/202290

數(shù)據(jù)冗余:職工很多,工資級(jí)別有限,每一級(jí)別的工資數(shù)額反復(fù)存儲(chǔ)多次。更新異常:如果將5級(jí)工資的工資數(shù)額調(diào)為620,則需要找到每個(gè)具有5級(jí)工資的職工,逐一修改。10/26/202291解決之道:分解!10/26/202292有關(guān)學(xué)生的關(guān)系模式S(學(xué)號(hào),姓名,系號(hào),主任,課程編號(hào),成績(jī))它有哪些數(shù)據(jù)冗余?10/26/202293★規(guī)范化理論問(wèn)題的提出

針對(duì)一個(gè)具體問(wèn)題,如何構(gòu)造一個(gè)合適的數(shù)據(jù)模式。即應(yīng)該構(gòu)造幾個(gè)關(guān)系模式(表),每個(gè)關(guān)系有那些屬性組成?10/26/202294定義:設(shè)R(U)是屬性集U上的關(guān)系模式。X,Y是U的子集。若對(duì)于R(U)的任意一個(gè)可能的關(guān)系r,r中不可能存在兩個(gè)元組在X上的屬性值相等,而在Y上的屬性值不等,則稱(chēng)X函數(shù)確定Y或Y函數(shù)依賴(lài)于X,記為X→Y。記號(hào)x→y稱(chēng)x函數(shù)確定y,或y函數(shù)依賴(lài)于x。稱(chēng)X為決定因素。例如:學(xué)號(hào)姓名,(學(xué)號(hào),課程)成績(jī)10/26/202295注意:函數(shù)依賴(lài)是語(yǔ)義范疇的概念,我們只能根據(jù)語(yǔ)義來(lái)確定函數(shù)依賴(lài)。例如在沒(méi)有同名的情況下,姓名→年齡是成立的,而在有同名的情況下,這個(gè)函數(shù)依賴(lài)就不成立了。平凡函數(shù)依賴(lài):如果XY,但Y不是X的子集,則稱(chēng)其為非平凡的函數(shù)依賴(lài),否則稱(chēng)為平凡的函數(shù)依賴(lài)。

如(學(xué)號(hào),姓名)姓名是平凡的函數(shù)依賴(lài)10/26/202296函數(shù)依賴(lài)可分為三類(lèi):完全函數(shù)依賴(lài),部分函數(shù)依賴(lài)和傳遞函數(shù)依賴(lài)。定義:在R(U)中有X、YU,如果X→Y,并且對(duì)于X的任何一個(gè)真子集X'?,都有Y不函數(shù)依賴(lài)于X',則稱(chēng)Y對(duì)X是完全函數(shù)依賴(lài)的。定義:在R(U)中,如果X→Y,并且對(duì)于X的某個(gè)真子集X',有X'→Y,則稱(chēng)Y對(duì)X部分函數(shù)依賴(lài)。定義:在R(U)中,如果X→Y(Y不包含于X,X不依賴(lài)于Y),且Y→Z,則稱(chēng)Z對(duì)X傳遞函數(shù)依賴(lài)。10/26/202297例A:某單位有一資料室,它管理的數(shù)據(jù)有讀者信息、圖書(shū)信息、借閱信息。讀者信息:借書(shū)證號(hào),讀者姓名,性別,部門(mén),學(xué)歷,部門(mén),個(gè)人,電子信箱等;圖書(shū)信息:圖書(shū)編號(hào),分類(lèi)號(hào),書(shū)名,作者,出版社,單價(jià)等;借閱信息:借書(shū)證號(hào),圖書(shū)編號(hào),書(shū)名,借出日期,應(yīng)還日期等。10/26/202298函數(shù)依賴(lài)關(guān)系(讀者信息):借書(shū)證號(hào)→讀者姓名借書(shū)證號(hào)→性別借書(shū)證號(hào)→部門(mén)借書(shū)證號(hào)→學(xué)歷部門(mén)→部門(mén)借書(shū)證號(hào)→個(gè)人借書(shū)證號(hào)→電子信箱10/26/202299函數(shù)依賴(lài)關(guān)系(圖書(shū)信息):

圖書(shū)編號(hào)→分類(lèi)號(hào)圖書(shū)編號(hào)→書(shū)名圖書(shū)編號(hào)→作者圖書(shū)編號(hào)→出版社圖書(shū)編號(hào)→單價(jià)函數(shù)依賴(lài)關(guān)系(借閱信息):

圖書(shū)編號(hào)→書(shū)名借書(shū)證號(hào)、圖書(shū)編號(hào),借出日期→應(yīng)還日期10/26/2022100多值依賴(lài)函數(shù)依賴(lài)關(guān)系是一種關(guān)系模式內(nèi)屬性間較為明顯的依賴(lài)關(guān)系,但是隨著人們對(duì)關(guān)系模式的了解越來(lái)越深刻,發(fā)現(xiàn)尚有另外的一些依賴(lài)關(guān)系存在,多值依賴(lài)就是其中的一種。例如,有一個(gè)課程關(guān)系COURSE(如下表所示)。課程名CNAME教師名TEACH選用參考書(shū)B(niǎo)OOK數(shù)據(jù)庫(kù)原理李勇張明王陽(yáng)數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)任學(xué)琴李瑞張文其數(shù)據(jù)結(jié)構(gòu)習(xí)題集算法分析數(shù)據(jù)結(jié)構(gòu)上機(jī)指導(dǎo)10/26/2022101CNAMETEACHBOOK數(shù)據(jù)庫(kù)原理李勇數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)原理李勇數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)原理張明數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)原理張明數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)庫(kù)原理王陽(yáng)數(shù)據(jù)庫(kù)管理系統(tǒng)數(shù)據(jù)庫(kù)原理王陽(yáng)數(shù)據(jù)庫(kù)系統(tǒng)數(shù)據(jù)結(jié)構(gòu)任學(xué)琴數(shù)據(jù)結(jié)構(gòu)習(xí)題集數(shù)據(jù)結(jié)構(gòu)任學(xué)琴算法分析數(shù)據(jù)結(jié)構(gòu)任學(xué)琴數(shù)據(jù)結(jié)構(gòu)上機(jī)指導(dǎo)數(shù)據(jù)結(jié)構(gòu)李瑞數(shù)據(jù)結(jié)構(gòu)習(xí)題集數(shù)據(jù)結(jié)構(gòu)李瑞算法分析數(shù)據(jù)結(jié)構(gòu)李瑞數(shù)據(jù)結(jié)構(gòu)上機(jī)指導(dǎo)數(shù)據(jù)結(jié)構(gòu)張文其數(shù)據(jù)結(jié)構(gòu)習(xí)題集數(shù)據(jù)結(jié)構(gòu)張文其算法分析數(shù)據(jù)結(jié)構(gòu)張文其數(shù)據(jù)結(jié)構(gòu)上機(jī)指導(dǎo)從這個(gè)關(guān)系中可以看出兩點(diǎn):(1)該關(guān)系的數(shù)據(jù)冗余很大。(2)該關(guān)系的屬性間有一種有別于函數(shù)依賴(lài)的依賴(lài)關(guān)系存在。10/26/2022102范式理論1NF:任一屬性不能同時(shí)具有多個(gè)值(關(guān)系中每一分量不可再分。即不能以集合、序列等作為屬性值)。2NF:屬性必須完全依賴(lài)唯一標(biāo)識(shí)符。3NF:屬性間不存在傳遞依賴(lài)。BCNF:每一個(gè)決定因素都包含碼。10/26/2022103例B:R(學(xué)號(hào),姓名,課程編號(hào),課程名稱(chēng),學(xué)分,成績(jī))唯一標(biāo)識(shí)符(Key):(學(xué)號(hào),課程編號(hào))不符合2NF依賴(lài)關(guān)系:

學(xué)號(hào)→姓名,課程編號(hào)→課程名稱(chēng),課程編號(hào)→學(xué)分,(學(xué)號(hào),課程編號(hào))→成績(jī)10/26/2022104例C:S(學(xué)號(hào),姓名,性別,學(xué)院,院長(zhǎng))。

唯一標(biāo)識(shí)符(Key):

學(xué)號(hào)不符合3NF依賴(lài)關(guān)系:

學(xué)號(hào)→姓名,學(xué)號(hào)→性別,學(xué)號(hào)→學(xué)院,學(xué)院→院長(zhǎng)10/26/2022105問(wèn)題的解決辦法:拆分關(guān)系(表)10/26/2022106關(guān)于例BR(學(xué)號(hào),姓名,課程編號(hào),課程名稱(chēng),學(xué)分,成績(jī))R1(學(xué)號(hào),姓名)R2(課程編號(hào),課程名稱(chēng),學(xué)分)R3(學(xué)號(hào),課程編號(hào),成績(jī))學(xué)號(hào)→姓名,課程編號(hào)→課程名稱(chēng),課程編號(hào)→學(xué)分,(學(xué)號(hào),課程編號(hào))→成績(jī)10/26/2022107關(guān)于例CS(學(xué)號(hào),姓名,性別,學(xué)院,院長(zhǎng))S1(學(xué)號(hào),姓名,性別,學(xué)院)S2(學(xué)院,院長(zhǎng))

學(xué)號(hào)→姓名,學(xué)號(hào)→性別,學(xué)號(hào)→學(xué)院,學(xué)院→院長(zhǎng)10/26/2022108例D:某部隊(duì)擬建立干部檔案,數(shù)據(jù)項(xiàng)有:編號(hào),姓名,現(xiàn)軍銜,現(xiàn)任職務(wù),入伍日期,最高學(xué)歷,低級(jí)軍銜及獲得日期,曾擔(dān)任職務(wù)及任命日期,所取得各學(xué)歷及取得日期。10/26/2022109函數(shù)依賴(lài)關(guān)系:編號(hào)→姓名,編號(hào)→現(xiàn)軍銜,編號(hào)→現(xiàn)任職務(wù),編號(hào)→入伍日期,編號(hào)→最高學(xué)歷(編號(hào),低級(jí)軍銜)→獲得日期(編號(hào),曾擔(dān)任職務(wù))→任命日期(編號(hào),各學(xué)歷)→取得日期10/26/2022110表1(編號(hào),姓名,現(xiàn)軍銜,現(xiàn)任職務(wù),入伍日期,最高學(xué)歷)表2(編號(hào),低級(jí)軍銜,獲得日期)表3(編號(hào),曾擔(dān)任職務(wù),任命日期)表4(編號(hào),學(xué)歷,取得日期)。10/26/2022111規(guī)范化步驟→2NF→3NF

→BCNF→4NF規(guī)范化的目的就是構(gòu)造合適的關(guān)系模式。10/26/2022112范式之間的關(guān)系

定理:關(guān)系模式R若滿(mǎn)足3NF,則必定滿(mǎn)足2NF。反證:若R3NF,但R2NF,則按2NF定義,一定有非主屬性部分依賴(lài)于碼;設(shè)X為R的碼,則存在X的真子集S,以及非主屬性Z(其中S不包含于Z),使得S

Z成立;于是在R中存在碼X,屬性組S,以及非主屬性Z,使得XS,SZ成立,進(jìn)而有SX成立;這與R3NF矛盾,所以R2NF。10/26/2022113定理:關(guān)系模式R若滿(mǎn)足BCNF,則必定滿(mǎn)足3NF。

證明略,請(qǐng)大家看參考書(shū)。10/26/2022114模式分解中的問(wèn)題實(shí)例

表(職工,級(jí)別,工資)可以有兩種分解途徑,

分解一:(職工,工資),(工資,級(jí)別)姓名級(jí)別工資趙4500錢(qián)5600孫6700李7600姓名工資趙500錢(qián)600孫700李600級(jí)別工資4500560067007600丟失函數(shù)依賴(lài)

分解二:(職工,級(jí)別),(工資,級(jí)別)不同行業(yè)機(jī)構(gòu)的不同工資級(jí)別會(huì)有相同工資數(shù)額。按分解一,有可能導(dǎo)致同一職工對(duì)應(yīng)不同的工資級(jí)別,從而丟失了有關(guān)職工工資級(jí)別的信息(丟失了函數(shù)依賴(lài):職工級(jí)別)。10/26/2022115R(A,B,C)ABC112221AB1122BC1221ABC112221∏AB(R)∏BC(R)∏AB(R)∏BC(R)R(A,B,C)ABC111212AB1121BC1112ABC111112211212∏AB(R)∏BC(R)∏AB(R)∏BC(R)有損分解無(wú)損分解10/26/2022116

將R分解為R1和R2的分解是無(wú)損連接分解的條件是,R1∩R2→R1,或R1∩R2→R2。如果有R上的函數(shù)依賴(lài)X→Y成立,且X∩Y是空集,則分解R–Y和XY是無(wú)損連接分解。10/26/2022117

判定一個(gè)分解是否為依賴(lài)保持分解的算法比較復(fù)雜。請(qǐng)看參考文獻(xiàn)。

10/26/2022118

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 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ì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論