MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用(微課版) 課件 模塊6 數(shù)據(jù)庫(kù)設(shè)計(jì)_第1頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用(微課版) 課件 模塊6 數(shù)據(jù)庫(kù)設(shè)計(jì)_第2頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用(微課版) 課件 模塊6 數(shù)據(jù)庫(kù)設(shè)計(jì)_第3頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用(微課版) 課件 模塊6 數(shù)據(jù)庫(kù)設(shè)計(jì)_第4頁(yè)
MySQL數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用(微課版) 課件 模塊6 數(shù)據(jù)庫(kù)設(shè)計(jì)_第5頁(yè)
已閱讀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)介

BYYUSHEN數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用DATABASETECHNOLOGYANDAPPLICATION任務(wù)1設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)項(xiàng)目模塊6數(shù)據(jù)庫(kù)

設(shè)計(jì)篇CONTENTSBYYUSHENYOURLOGOAUNIVERSITY01任務(wù)1設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN崗位能力

能通過(guò)需求分析給出系統(tǒng)關(guān)系模型;

能實(shí)現(xiàn)系統(tǒng)概念模型和物理模型設(shè)計(jì);能運(yùn)用關(guān)系模型規(guī)劃化范式;

能使用PowerDesigner建模軟件進(jìn)行系統(tǒng)建模;技能證書(shū)標(biāo)準(zhǔn)根據(jù)客戶需求分析了解業(yè)務(wù)流程與系統(tǒng)需求;根據(jù)客戶系統(tǒng)需求數(shù)據(jù)庫(kù)設(shè)計(jì)方法與步驟;根據(jù)數(shù)據(jù)庫(kù)設(shè)計(jì)方法實(shí)現(xiàn)概念設(shè)計(jì);根據(jù)概念設(shè)計(jì)實(shí)現(xiàn)邏輯設(shè)計(jì);

根據(jù)邏輯設(shè)計(jì)完成物理設(shè)計(jì);

利用PowerDesigner實(shí)現(xiàn)數(shù)據(jù)庫(kù)建模。

思政素養(yǎng)

養(yǎng)成科學(xué)嚴(yán)謹(jǐn)?shù)墓ぷ鲬B(tài)度和系統(tǒng)思維的能力;認(rèn)識(shí)到事物之間的有機(jī)統(tǒng)一和聯(lián)系,強(qiáng)化約束意識(shí);形成溝通交流、科學(xué)思辯、創(chuàng)新與協(xié)作的能力;數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用項(xiàng)目模塊6BYYUSHEN數(shù)據(jù)庫(kù)設(shè)計(jì)

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用項(xiàng)目模塊6高校教學(xué)質(zhì)量分析管理系統(tǒng)數(shù)據(jù)庫(kù)db_teaching

高校人才培養(yǎng)質(zhì)量面對(duì)新要求,為更新傳統(tǒng)的教學(xué)質(zhì)量管理手段,開(kāi)發(fā)一套有效處理大量教學(xué)質(zhì)量相關(guān)信息的高校教學(xué)質(zhì)量管理系統(tǒng)十分必要,該系統(tǒng)的數(shù)據(jù)庫(kù)設(shè)計(jì)從高校教學(xué)質(zhì)量管理的業(yè)務(wù)流程與實(shí)際需要出發(fā),運(yùn)用數(shù)據(jù)庫(kù)設(shè)計(jì)方法與步驟,進(jìn)行概念設(shè)計(jì)、邏輯設(shè)計(jì)和物理設(shè)計(jì),并利用PowerDesigner建模工具或者M(jìn)ySQLWorkbench圖形化客戶端,建立數(shù)據(jù)庫(kù)模型。項(xiàng)目模塊情境BYYUSHEN任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)

G-EDU格諾博教育公司開(kāi)發(fā)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”,對(duì)于該系統(tǒng)的后臺(tái)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)與實(shí)現(xiàn)的流程,首先要針對(duì)評(píng)價(jià)、評(píng)分、評(píng)學(xué)、評(píng)教等教學(xué)質(zhì)量相關(guān)管理的數(shù)據(jù)進(jìn)行需求分析,分析出涉及教師、學(xué)生、督導(dǎo)專家、課程、專業(yè)、成績(jī)、評(píng)價(jià)評(píng)分等教學(xué)實(shí)體以及實(shí)體間的聯(lián)系,在設(shè)計(jì)建立對(duì)數(shù)據(jù)庫(kù)的E-R概念結(jié)構(gòu)模型、邏輯結(jié)構(gòu)模型、物理結(jié)構(gòu)模型基礎(chǔ)上,最終物理實(shí)現(xiàn)得的“高校教學(xué)質(zhì)量分析管理系統(tǒng)”后臺(tái)數(shù)據(jù)庫(kù)db_teaching。任務(wù)描述01BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.1

需求分析任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase明確問(wèn)題:分析用戶的需求,弄清楚數(shù)據(jù)庫(kù)系統(tǒng)要解決什么問(wèn)題,需求分析結(jié)果是否準(zhǔn)確反映用戶的實(shí)際要求,影響到后面各階段的設(shè)計(jì)的合理性和實(shí)用性。應(yīng)用需求:在系統(tǒng)業(yè)務(wù)功能要求基礎(chǔ)上的各種信息的提供、保存、更新和查詢,以及處理的安全性與完整性要求,安全性要求描述系統(tǒng)中的不同用戶對(duì)數(shù)據(jù)庫(kù)的使用和操作情況,完整性要求描述數(shù)據(jù)之間的關(guān)聯(lián)關(guān)系以及數(shù)據(jù)的取值范圍要求。數(shù)據(jù)需求:需要通過(guò)數(shù)據(jù)庫(kù)所存儲(chǔ)和獲得信息的內(nèi)容與性質(zhì)。概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)設(shè)計(jì)六階段BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase現(xiàn)實(shí)世界建模信息世界模型轉(zhuǎn)換規(guī)范化數(shù)據(jù)庫(kù)世界數(shù)

據(jù)庫(kù)數(shù)據(jù)模型事物性質(zhì)實(shí)體屬性二維表字段實(shí)體模型概念模型數(shù)據(jù)模型(關(guān)系模型)E-R模型,是把現(xiàn)實(shí)世界轉(zhuǎn)換為信息世界最常用的概念模型工具。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase1概念模型主要對(duì)象概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)設(shè)計(jì)六階段概念數(shù)據(jù)模型可通過(guò)實(shí)體-關(guān)系模型(Entity-RelationshipModel)即E-R圖描述.實(shí)體、屬性、關(guān)系三要素實(shí)體名關(guān)系名屬性名屬性名或(5)映射基數(shù)1:1,1:n,m:n(1)實(shí)體(2)關(guān)系(3)屬性(4)關(guān)鍵字

用下劃線標(biāo)識(shí)BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase1概念模型主要對(duì)象(1)實(shí)體(Entity)比如學(xué)生、評(píng)分、課程等都是實(shí)體,張三這名學(xué)生就是學(xué)生實(shí)體的一個(gè)實(shí)例,大學(xué)語(yǔ)文就是課程實(shí)體的一個(gè)實(shí)例。E-R圖中實(shí)體用矩形框表示(2)屬性(Attribute)屬性是實(shí)體的一系列特性。如課程實(shí)體有編號(hào)、名稱、類型、學(xué)分等屬性。E-R圖中實(shí)體的屬性用橢圓框表示,框內(nèi)寫上屬性名,并用無(wú)向邊與其實(shí)體相連

在實(shí)體的屬性中,其中能唯一標(biāo)識(shí)實(shí)體的屬性或?qū)傩约礊闃?biāo)識(shí)符或碼(ldentifier)課程課程編號(hào)課程名稱所屬院系編號(hào)課程學(xué)時(shí)數(shù)課程學(xué)分課程類型課程考試類型課程BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase1概念模型主要對(duì)象(3)關(guān)系(Relation)

實(shí)體之間的聯(lián)系稱為關(guān)系。在E-R圖中實(shí)體間的關(guān)系用菱形框表示,關(guān)系以適當(dāng)?shù)暮x命名,關(guān)系名寫在菱形框中,用無(wú)向連線將參加聯(lián)系的實(shí)體矩形框分別與菱形框相連,并在連線上標(biāo)明關(guān)系的類型(1:1、1:n、m:n)。

實(shí)體間關(guān)系分為一對(duì)一(1:1)、一對(duì)多(1:n)、多對(duì)多(m:n)3種。

①一對(duì)一關(guān)系對(duì)于實(shí)體集A中的每個(gè)實(shí)體,如果實(shí)體集B中至多只有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A和實(shí)體集B具有一對(duì)一的關(guān)系,記為1:1,如圖6-3所示。例如,一個(gè)班級(jí)只有一個(gè)學(xué)生作為班長(zhǎng),而一個(gè)學(xué)生最多也只能擔(dān)任一個(gè)班級(jí)的班長(zhǎng),這時(shí),班級(jí)和班長(zhǎng)兩個(gè)實(shí)體間就可以看作是一對(duì)一的關(guān)系。EAREN11班長(zhǎng)屬于班級(jí)11BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase1概念模型主要對(duì)象②一對(duì)多關(guān)系對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間為一對(duì)多的關(guān)系,記為1:n

③多對(duì)多關(guān)系對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥1)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間為多對(duì)多的關(guān)系,記為m:n兩個(gè)實(shí)體之間的多對(duì)多關(guān)系必須由關(guān)系實(shí)體實(shí)現(xiàn)。課程屬于教師mnEARENmn專業(yè)屬于班級(jí)1nEAREN1nBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase2概念模型工具---E-R圖建模:把現(xiàn)實(shí)世界轉(zhuǎn)換為信息世界的模型。

概念模型工具:E-R圖;E-R圖設(shè)計(jì)思路:1)確定核心對(duì)象實(shí)體2)選取各對(duì)象重要特征3)整合對(duì)象間關(guān)系4)使用E-R圖表示BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型2概念模型設(shè)計(jì)步驟

數(shù)據(jù)庫(kù)概念模型設(shè)計(jì)的思路可分為先局部后全局、先全局后局部2種。多采用先局部后全局的思路進(jìn)行概念模型設(shè)計(jì)。(1)抽象數(shù)據(jù)、設(shè)計(jì)局部實(shí)體關(guān)系視圖對(duì)從需求分析階段收集到的業(yè)務(wù)和數(shù)據(jù)需求進(jìn)行分類和概況,確定實(shí)體、屬性、標(biāo)識(shí)符或碼、關(guān)系的類型,設(shè)計(jì)出各個(gè)子系統(tǒng)的局部E-R圖。設(shè)計(jì)過(guò)程中應(yīng)遵循一個(gè)原則——現(xiàn)實(shí)世界中的事物能作為屬性對(duì)待的,盡量作為屬性對(duì)待??梢园匆韵聹?zhǔn)則來(lái)考慮:①作為屬性,不能再具有需要描述的性質(zhì),即屬性是不可分的數(shù)據(jù)項(xiàng)。②屬性不能與其他實(shí)體型有聯(lián)系,即E-R圖所表示的聯(lián)系是實(shí)體型之間的聯(lián)系。(2)消除局部視圖沖突,合成初步E-R圖各局部E-R圖之間的沖突主要有三種:①屬性沖突:即屬性值的類型、取值范圍或取值集合不同。②命名沖突:同名異義的情況,即不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字。③結(jié)構(gòu)沖突:即同一對(duì)象在不同的應(yīng)用中具有不同的抽象。(3)消除冗余,集成全局概念數(shù)據(jù)結(jié)構(gòu)模型在合并的初步E-R圖中,可能存在冗余的數(shù)據(jù)和冗余的聯(lián)系,容易破壞數(shù)據(jù)庫(kù)的完整性,增加數(shù)據(jù)庫(kù)維護(hù)的難度,需要根據(jù)分析方法及規(guī)范化理論方法消除不必要的冗余進(jìn)行優(yōu)化。但并不是所有的冗余都要消除,有時(shí)為了提高效率是可以允許一定冗余存在的。因此在概念模型設(shè)計(jì)階段,哪些冗余要消除或保留,需要根據(jù)用戶的整體需求來(lái)確定。集成的全局概念數(shù)據(jù)結(jié)構(gòu)模型E-R圖,決定了下一步的邏輯結(jié)構(gòu)模型設(shè)計(jì),是正確設(shè)計(jì)數(shù)據(jù)庫(kù)的關(guān)鍵。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase1.專業(yè)負(fù)責(zé)人與專業(yè)E-R圖的繪制:分析:1)實(shí)體:專業(yè)負(fù)責(zé)人、專業(yè)2)實(shí)體屬性:專業(yè)負(fù)責(zé)人:負(fù)責(zé)人編號(hào)、姓名專業(yè):專業(yè)編號(hào)、專業(yè)名稱3)二者關(guān)系一一對(duì)應(yīng)關(guān)系,即一對(duì)一關(guān)系(1:1)

對(duì)于實(shí)體集A中的每個(gè)實(shí)體,如果實(shí)體集B中至多只有一個(gè)實(shí)體與之聯(lián)系,反之亦然,則稱實(shí)體集A和實(shí)體集B具有一對(duì)一的關(guān)系,記為1:1

專業(yè)負(fù)責(zé)人與專業(yè)實(shí)體集A實(shí)體集B專業(yè)負(fù)責(zé)人負(fù)責(zé)人編號(hào)姓名專業(yè)專業(yè)編號(hào)專業(yè)名稱每個(gè)專業(yè)有1個(gè)專業(yè)負(fù)責(zé)人,反之,1個(gè)專業(yè)負(fù)責(zé)人負(fù)責(zé)1個(gè)專業(yè)屬于114)E-R圖轉(zhuǎn)換BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase2.專業(yè)與班級(jí)E-R圖的繪制:1)實(shí)體集:專業(yè)、班級(jí)2)實(shí)體屬性:專業(yè):專業(yè)編號(hào)、專業(yè)名稱班級(jí):班級(jí)編號(hào)、班級(jí)名稱、人數(shù)3)二者關(guān)系一對(duì)多關(guān)系(1:n)

對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中至多只有一個(gè)實(shí)體與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間為一對(duì)多的關(guān)系,記為1:n。

專業(yè)與班級(jí)實(shí)體集A實(shí)體集B專業(yè)專業(yè)編號(hào)專業(yè)名稱班級(jí)班級(jí)名稱人數(shù)班級(jí)編號(hào)每個(gè)專業(yè)有多個(gè)班級(jí),反之,1個(gè)班級(jí)所屬1個(gè)專業(yè)從屬1n4)E-R圖轉(zhuǎn)換BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.2概念數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase3.班級(jí)與課程E-R圖的繪制:分析:1)實(shí)體集:班級(jí)、課程2)實(shí)體屬性:班級(jí):班級(jí)編號(hào)、班級(jí)名稱、人數(shù)課程:課程編號(hào)、課程名稱、學(xué)分3)二者關(guān)系多對(duì)多關(guān)系(n:m)

對(duì)于實(shí)體集A中的每個(gè)實(shí)體,實(shí)體集B中有n個(gè)實(shí)體(n≥1)與之聯(lián)系,反之,對(duì)于實(shí)體集B中的每個(gè)實(shí)體,實(shí)體集A中也有m個(gè)實(shí)體(m≥1)與之聯(lián)系,則稱實(shí)體集A與實(shí)體集B之間為多對(duì)多的關(guān)系,記為m:n

班級(jí)與課程實(shí)體集A實(shí)體集B班級(jí)班級(jí)編號(hào)班級(jí)名稱課程課程編號(hào)課程名稱每個(gè)班級(jí)開(kāi)設(shè)多門課程,反之,1門課程被多個(gè)班級(jí)選修人數(shù)開(kāi)課nm注意:該情況的實(shí)體間聯(lián)系需要單獨(dú)映射一張表:“選修”表學(xué)分4)E-R圖轉(zhuǎn)換BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.3邏輯數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)設(shè)計(jì)六階段

邏輯結(jié)構(gòu)設(shè)計(jì)解決概念模型E-R圖如何向關(guān)系模型轉(zhuǎn)換呢,轉(zhuǎn)換過(guò)程主要遵循2個(gè)原則:(1)實(shí)體轉(zhuǎn)換原則

E-R圖中的一個(gè)實(shí)體轉(zhuǎn)換成一個(gè)關(guān)系(二維表),實(shí)體屬性轉(zhuǎn)換為關(guān)系的字段,

實(shí)體標(biāo)識(shí)符碼轉(zhuǎn)換為關(guān)系的主關(guān)鍵字。二維表字段實(shí)體屬性概念模型

數(shù)據(jù)模型(關(guān)系模型)BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.3邏輯數(shù)據(jù)模型(2)關(guān)系轉(zhuǎn)換原則①一對(duì)一(1:1)關(guān)系:可與任意一段對(duì)應(yīng)的關(guān)系模式合并,且在其中一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式中的主關(guān)鍵字作為聯(lián)系的屬性,即外關(guān)鍵字。②一對(duì)多(1:n)關(guān)系:可與聯(lián)系n端對(duì)應(yīng)的關(guān)系模式合并,且在n端的關(guān)系模式中加入1端關(guān)系模式的主關(guān)鍵字作為聯(lián)系的屬性,即外關(guān)鍵字。③多對(duì)多(m:n)關(guān)系:要將實(shí)體間的聯(lián)系也轉(zhuǎn)換為關(guān)系模式,且與該聯(lián)系相連的各個(gè)關(guān)系模式的主關(guān)鍵字,均加入該聯(lián)系轉(zhuǎn)換的關(guān)系模式中作為聯(lián)系的屬性,即聯(lián)系的關(guān)系模式的外關(guān)鍵字為各相連關(guān)系模式主關(guān)鍵字的組合例如,班級(jí)開(kāi)設(shè)課程子系統(tǒng)的E-R圖轉(zhuǎn)換邏輯模型后的關(guān)系模式如下,下加橫線的屬性表示為主鍵。班級(jí)(班級(jí)編號(hào),班級(jí)名稱,人數(shù),學(xué)制,班長(zhǎng),書(shū)記)。課程(課程編號(hào),課程名稱,學(xué)時(shí)數(shù),學(xué)分,課程類型,課程考試類型)。開(kāi)課(序號(hào),班級(jí)編號(hào),課程編號(hào),開(kāi)課學(xué)年學(xué)期)。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.3邏輯數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase班級(jí)與課程E-R圖與關(guān)系模式的實(shí)體轉(zhuǎn)換過(guò)程:班級(jí)與課程

E-R圖關(guān)系模型:班級(jí)(班級(jí)編號(hào)、班級(jí)名稱、院系)關(guān)系模型:課程(課程編號(hào)、課程名稱、學(xué)分)主關(guān)鍵字主關(guān)鍵字模型轉(zhuǎn)換BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.3邏輯數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase轉(zhuǎn)換的邏輯分析:表一專業(yè)負(fù)責(zé)人(負(fù)責(zé)人編號(hào),姓名)主碼:負(fù)責(zé)人編號(hào)表二專業(yè)(專業(yè)編號(hào),專業(yè)名稱)主碼:專業(yè)編號(hào)二者為1:1的從屬關(guān)系依據(jù)一對(duì)一(1:1)關(guān)系轉(zhuǎn)換原則,形成轉(zhuǎn)換方案:方案一:將“專業(yè)負(fù)責(zé)人”表主碼加入“專業(yè)”表方案二:將“專業(yè)”表主碼加入“專業(yè)負(fù)責(zé)人”表(自行完成方案二)專業(yè)負(fù)責(zé)人與專業(yè)

E-R圖外關(guān)鍵字主關(guān)鍵字①一對(duì)一(1:1)關(guān)系轉(zhuǎn)換原則:可與任意一段對(duì)應(yīng)的關(guān)系模式合并,且在其中一個(gè)關(guān)系模式的屬性中加入另一個(gè)關(guān)系模式中的主關(guān)鍵字作為聯(lián)系的屬性,即外關(guān)鍵字。step1step2step3以方案一為例表一

專業(yè)負(fù)責(zé)人

表(1端)表二

專業(yè)

表(1端)BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.3邏輯數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase轉(zhuǎn)換的邏輯分析:表一專業(yè)(專業(yè)編號(hào),專業(yè)名稱)主碼:專業(yè)編號(hào)表二班級(jí)(班級(jí)編號(hào),班級(jí)名稱,人數(shù))主碼:班級(jí)編號(hào)二者為1:n的從屬關(guān)系依據(jù)一對(duì)多(1:n)關(guān)系轉(zhuǎn)換原則,形成轉(zhuǎn)換方案:方案:將1端“專業(yè)”表主碼加入n端“班級(jí)”表外關(guān)鍵字主關(guān)鍵字②一對(duì)多(1:n)關(guān)系轉(zhuǎn)換原則:可與聯(lián)系n端對(duì)應(yīng)的關(guān)系模式合并,且在n端的關(guān)系模式中加入1端關(guān)系模式的主關(guān)鍵字作為聯(lián)系的屬性,即外關(guān)鍵字。step1step2step3方案表一

專業(yè)

表(1端)表二

班級(jí)

表(n端)專業(yè)與班級(jí)

E-R圖BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.3邏輯數(shù)據(jù)模型任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase轉(zhuǎn)換的邏輯分析:表一班級(jí)(班級(jí)編號(hào),班級(jí)名稱,人數(shù))主碼:班級(jí)編號(hào)表二課程(課程編號(hào),課程名稱,學(xué)分)主碼:課程編號(hào)表三

班級(jí)開(kāi)課(課程編號(hào),班級(jí)編號(hào),教室)主碼:班級(jí)編號(hào)+課程編號(hào)依據(jù)多對(duì)多(n:m)關(guān)系轉(zhuǎn)換原則,形成轉(zhuǎn)換方案:方案:新增關(guān)系模式,班級(jí)開(kāi)課表;將“班級(jí)”表主碼(班級(jí)編號(hào))和“課程”表主碼(課程編號(hào))均加入“班級(jí)開(kāi)課”表。班級(jí)與課程

E-R圖

主關(guān)鍵字組合外關(guān)鍵字1+外關(guān)鍵字2主關(guān)鍵字③多對(duì)多(m:n)關(guān)系轉(zhuǎn)換原則:將多對(duì)多實(shí)體間的聯(lián)系單獨(dú)轉(zhuǎn)換為關(guān)系模式,并將與該聯(lián)系相連的各個(gè)關(guān)系模式的主關(guān)鍵字,均加入新增的關(guān)系模式中作為聯(lián)系屬性,形成新增聯(lián)系的關(guān)系模式的外關(guān)鍵字,組合成新增聯(lián)系的主關(guān)鍵字step1step2step3方案表一

班級(jí)

表(n端)表三

班級(jí)開(kāi)課表(新增)表二

課程

表(m端)主關(guān)鍵字BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.4物理數(shù)據(jù)模型物理數(shù)據(jù)模型描述數(shù)據(jù)在物理存儲(chǔ)介質(zhì)上的組織結(jié)構(gòu),它與具體的DBMS相關(guān),也與操作系統(tǒng)和硬件相關(guān),是物理層次上的數(shù)據(jù)模型。物理模型設(shè)計(jì)階段是以邏輯模型結(jié)構(gòu)設(shè)計(jì)階段的結(jié)果為依據(jù),結(jié)合具體的數(shù)據(jù)庫(kù)管理系統(tǒng)特點(diǎn)與存儲(chǔ)設(shè)備特性進(jìn)行設(shè)計(jì),確定數(shù)據(jù)庫(kù)在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)和存取方法,是真正實(shí)現(xiàn)數(shù)據(jù)在數(shù)據(jù)庫(kù)中的表示。邏輯模型的關(guān)系模式和字段對(duì)應(yīng)實(shí)現(xiàn)為物理模型中的二維數(shù)據(jù)表、字段,包括主關(guān)鍵字、外關(guān)鍵字等。如使用關(guān)系型數(shù)據(jù)庫(kù)管理系統(tǒng)MySQL8,對(duì)應(yīng)使用的數(shù)據(jù)庫(kù)的物理結(jié)構(gòu)為MySQL的物理模型。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)實(shí)施數(shù)據(jù)庫(kù)運(yùn)行與維護(hù)數(shù)據(jù)庫(kù)需求分析數(shù)據(jù)庫(kù)設(shè)計(jì)六階段BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)Designsystemdatabase

數(shù)據(jù)庫(kù)設(shè)計(jì)的邏輯結(jié)果不是唯一的,為了進(jìn)一步提高數(shù)據(jù)庫(kù)系統(tǒng)的性能,在邏輯設(shè)計(jì)階段應(yīng)根據(jù)應(yīng)用需求調(diào)整和

優(yōu)化數(shù)據(jù)模型,關(guān)系型數(shù)據(jù)庫(kù)邏輯結(jié)構(gòu)的優(yōu)化以規(guī)范化理論為指導(dǎo),它的優(yōu)劣直接影響數(shù)據(jù)庫(kù)設(shè)計(jì)的成敗。

一個(gè)好的關(guān)系模式必須滿足一定的規(guī)范化要求,不同的規(guī)范化程度可用范式(NormalForm)來(lái)衡量。

關(guān)系模式按其規(guī)范化程度從低到高規(guī)定了幾種范式:第一范式(1NF)、第二范式(2NF)、第三范式(3NF)、

BoyeeCodd范式(BCNF)、第四范式(4NF)、第五范式(5NF)、第六范式(6NF)。其級(jí)別越高,條件越嚴(yán)格,高級(jí)的范式包含低級(jí)的范式,比如一個(gè)關(guān)系模式若滿足第二范式,則一定滿足第一范式。

在進(jìn)行關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)時(shí),最低要求要滿足第一范式(1NF),在第一范式的基礎(chǔ)上進(jìn)一步滿足一些要求的為第二

范式(2NF),其余依此類推。通常數(shù)據(jù)庫(kù)規(guī)范到滿足第三范式就可以了。將三個(gè)范式應(yīng)用到數(shù)據(jù)庫(kù)設(shè)計(jì)中,能夠減少數(shù)據(jù)冗余、消除插入更新和刪除的異常。

通常數(shù)據(jù)庫(kù)規(guī)范到滿足第三范式就可以了。BYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化1第一范式(1NF)在任何一個(gè)關(guān)系型數(shù)據(jù)庫(kù)中,第一范式是對(duì)關(guān)系模式的最低要求。第一范式遵從原子性,數(shù)據(jù)庫(kù)表的每一列都是不可分割的基本數(shù)據(jù)項(xiàng),同一列中不能有多個(gè)值或者不能有重復(fù)值若一個(gè)關(guān)系模式R的所有屬性都是不可再分解的,每個(gè)屬性的域都只包含單純值,而不是一些值的集合,則該關(guān)系模式R滿足第一范式,記為R∈1NF。對(duì)不滿足第一范式的表格應(yīng)將其中的其它實(shí)體屬性或重復(fù)屬性進(jìn)行拆分。如果出現(xiàn)重復(fù)的屬性或多值重復(fù)屬性,就需要定義一個(gè)新的實(shí)體,新的實(shí)體由重復(fù)的屬性構(gòu)成,新實(shí)體與原實(shí)體之間為一對(duì)多關(guān)系。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化1第一范式(1NF)為滿足第一范式,應(yīng)將“課程”和“開(kāi)課班級(jí)”的實(shí)體屬性拆分成兩個(gè)表,成為一對(duì)多關(guān)系,即一門課程可在多個(gè)班級(jí)中開(kāi)設(shè)不滿足1NF的課程信息表課程編號(hào)課程名稱開(kāi)課班級(jí)開(kāi)課班級(jí)課程學(xué)時(shí)數(shù)課程學(xué)分類別ID課程類型900001大學(xué)語(yǔ)文會(huì)計(jì)2131班、旅游管理2131班,軟件技術(shù)2131班,會(huì)展2131班,藝術(shù)設(shè)計(jì)2131班2021010101,2021020101,2021040101,2021030201,202105030172.02.01公共基礎(chǔ)課900002英語(yǔ)會(huì)計(jì)2131班、旅游管理2131班,軟件技術(shù)2131班,會(huì)展2131班,藝術(shù)設(shè)計(jì)2131班2021010101,2021020101,2021040101,2021030201,2021050301144.04.01公共基礎(chǔ)課900003電子商務(wù)基礎(chǔ)電子商務(wù)2131班,電子商務(wù)2132班2021030101,2021030102144.04.02專業(yè)課900004大數(shù)據(jù)可視化分析大數(shù)據(jù)2131班,大數(shù)據(jù)2132班,會(huì)計(jì)2131班2021040401,2021040402,202101010172.04.02專業(yè)課900005Python編程基礎(chǔ)軟件技術(shù)2131班,移動(dòng)應(yīng)用2131班,大數(shù)據(jù)2131班2021040101,2021040201,202104040164.02.02專業(yè)課任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化1第一范式(1NF)

修改課程信息表(滿足1NF)課程編號(hào)課程名稱課程學(xué)時(shí)數(shù)課程學(xué)分類型ID課程類型900001大學(xué)語(yǔ)文72.02.01公共基礎(chǔ)課900002英語(yǔ)144.04.01公共基礎(chǔ)課900003電子商務(wù)技術(shù)基礎(chǔ)144.04.02專業(yè)課900004大數(shù)據(jù)可視化分析72.04.02專業(yè)課900005Python編程基礎(chǔ)64.02.02專業(yè)課任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化1第一范式(1NF)應(yīng)用1NF,修改原課程信息表,生成符合1NF的班級(jí)開(kāi)課表將原不滿足1NF的課程信息表的課程編號(hào)、開(kāi)課班級(jí)名稱、開(kāi)課班級(jí)編號(hào)字段,增加一列開(kāi)課學(xué)期,共4列,另生成班級(jí)開(kāi)課表,另生成班級(jí)開(kāi)課表。課程編號(hào)開(kāi)課班級(jí)編號(hào)開(kāi)課班級(jí)開(kāi)課學(xué)期9000012021010101會(huì)計(jì)2131班2021-2022學(xué)年一9000012021020101旅游管理2131班2021-2022學(xué)年一9000012021040101軟件技術(shù)2131班2021-2022學(xué)年一9000022021010101會(huì)計(jì)2131班2021-2022學(xué)年一9000022021020101旅游管理2131班2021-2022學(xué)年一9000022021040101軟件技術(shù)2131班2021-2022學(xué)年一9000032021030101電子商務(wù)2131班2021-2022學(xué)年二9000032021030102電子商務(wù)2132班2021-2022學(xué)年二9000042021040401大數(shù)據(jù)2131班2022-2023學(xué)年二9000042021010101會(huì)計(jì)2131班2022-2023學(xué)年二9000052021040101軟件技術(shù)2131班2022-2023學(xué)年一9000052021040401大數(shù)據(jù)2131班2022-2023學(xué)年一任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化1第一范式(1NF)班級(jí)開(kāi)課表(滿足1NF)

雖然課程表和班級(jí)開(kāi)課表已經(jīng)符合了第一范式,但在班級(jí)開(kāi)課表中還存在數(shù)據(jù)冗余以及可能引發(fā)的異常,如開(kāi)課班級(jí)多次出現(xiàn),因此還需進(jìn)一步用范式進(jìn)行規(guī)范化。

課程編號(hào)開(kāi)課班級(jí)編號(hào)開(kāi)課班級(jí)開(kāi)課學(xué)期9000012021010101會(huì)計(jì)2131班2021-2022學(xué)年一9000012021020101旅游管理2131班2021-2022學(xué)年一9000012021040101軟件技術(shù)2131班2021-2022學(xué)年一9000022021010101會(huì)計(jì)2131班2021-2022學(xué)年一9000022021020101旅游管理2131班2021-2022學(xué)年一9000022021040101軟件技術(shù)2131班2021-2022學(xué)年一9000032021030101電子商務(wù)2131班2021-2022學(xué)年二9000032021030102電子商務(wù)2132班2021-2022學(xué)年二9000042021040401大數(shù)據(jù)2131班2022-2023學(xué)年二9000042021010101會(huì)計(jì)2131班2022-2023學(xué)年二9000052021040101軟件技術(shù)2131班2022-2023學(xué)年一9000052021040401大數(shù)據(jù)2131班2022-2023學(xué)年一外鍵1課程信息表(滿足1NF)課程編號(hào)課程名稱課程學(xué)時(shí)數(shù)課程學(xué)分類型ID課程類型900001大學(xué)語(yǔ)文72.02.01公共基礎(chǔ)課900002英語(yǔ)144.04.01公共基礎(chǔ)課900003電子商務(wù)技術(shù)基礎(chǔ)144.04.02專業(yè)課900004大數(shù)據(jù)可視化分析72.04.02專業(yè)課900005Python編程基礎(chǔ)64.02.02專業(yè)課主鍵1對(duì)多通過(guò)課程編號(hào)作為外鍵,形成課程與班級(jí)開(kāi)課1對(duì)多的關(guān)系。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化2第二范式(2NF)第二范式是在第一范式的基礎(chǔ)上建立起來(lái)的,滿足第二范式必須先滿足第一范式。第二范式遵從唯一性,要求數(shù)據(jù)庫(kù)表中的每個(gè)實(shí)例或行必須能被唯一地區(qū)分,就是屬性完全依賴于主關(guān)鍵字。所謂完全依賴,是指不能存在僅依賴主關(guān)鍵字一部分的屬性(對(duì)于復(fù)合主鍵而言)。例如班級(jí)開(kāi)課表雖滿足第一范式,但不滿足第二范式?!罢n程編號(hào)”和“開(kāi)課班級(jí)編號(hào)”組成了復(fù)合主鍵,開(kāi)課學(xué)期完全依賴復(fù)合主鍵,但開(kāi)課班級(jí)只依賴開(kāi)課班級(jí)編號(hào)。這樣不滿足第二范式、存在沒(méi)有完全依賴主鍵的列,會(huì)產(chǎn)生一些冗余和異常問(wèn)題:(1)數(shù)據(jù)冗余:若一門課程在n個(gè)班級(jí)開(kāi)課,那么開(kāi)課班級(jí)的名字要重復(fù)n-1。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化2第二范式(2NF)(2)更新異常:由于開(kāi)課班級(jí)名字的冗余,修改某個(gè)班級(jí)信息時(shí),整個(gè)表中該班級(jí)的信息都要進(jìn)行修改,一旦遺漏就會(huì)導(dǎo)致同一個(gè)班級(jí)編號(hào)下的班級(jí)名不一致,出現(xiàn)更新異常。所以必須將只部分依賴主鍵的屬性“開(kāi)課班級(jí)”,和所對(duì)應(yīng)依賴的那部分主鍵“開(kāi)課班級(jí)編號(hào)”,要拆分出來(lái)一個(gè)新的實(shí)體“班級(jí)”

課程編號(hào)開(kāi)課班級(jí)編號(hào)開(kāi)課學(xué)期90000120210101012021-2022學(xué)年一90000120210201012021-2022學(xué)年一90000120210401012021-2022學(xué)年一90000220210101012021-2022學(xué)年一90000220210201012021-2022學(xué)年一90000220210401012021-2022學(xué)年一90000320210301012021-2022學(xué)年二班級(jí)編號(hào)班級(jí)名班級(jí)人數(shù)2021010101會(huì)計(jì)2101班502021020101旅游管理2131班452021030101電子商務(wù)2131班402021030102電子商務(wù)2132班362021040101軟件技術(shù)2131班482021040201移動(dòng)應(yīng)用2131班422021040301計(jì)算機(jī)應(yīng)用2131班452021040401大數(shù)據(jù)2131班46課程編號(hào)開(kāi)課班級(jí)編號(hào)開(kāi)課班級(jí)開(kāi)課學(xué)期9000012021010101會(huì)計(jì)2131班2021-2022學(xué)年一9000012021020101旅游管理2131班2021-2022學(xué)年一9000012021040101軟件技術(shù)2131班2021-2022學(xué)年一9000022021010101會(huì)計(jì)2131班2021-2022學(xué)年一9000022021020101旅游管理2131班2021-2022學(xué)年一9000022021040101軟件技術(shù)2131班2021-2022學(xué)年一9000032021030101電子商務(wù)2131班2021-2022學(xué)年二9000032021030102電子商務(wù)2132班2021-2022學(xué)年二9000042021040401大數(shù)據(jù)2131班2022-2023學(xué)年二9000042021010101會(huì)計(jì)2131班2022-2023學(xué)年二9000052021040101軟件技術(shù)2131班2022-2023學(xué)年一9000052021040401大數(shù)據(jù)2131班2022-2023學(xué)年一拆分班級(jí)開(kāi)課表(滿足1NF,滿足2NF)班級(jí)表(滿足1NF,滿足2NF)任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化3第三范式(3NF)第三范式是在第二范式的基礎(chǔ)上建立起來(lái)的,即滿足第三范式必須滿足第二范式。第三范式要求非關(guān)鍵字段不能相互依賴,即關(guān)系表不包含其他表中已包含的非主關(guān)鍵字段信息。例如6-2所示的課程信息表,還不符合第三范式。課程編號(hào)作為課程實(shí)體的唯一關(guān)鍵字,符合了第二范式,但其中的非主鍵“課程類型”存在對(duì)主鍵“課程編號(hào)”的傳遞依賴,即{課程編號(hào)}→{類型ID}→{課程類型}。這會(huì)產(chǎn)生如下問(wèn)題:(1)數(shù)據(jù)冗余:有n門課程都是同一種課程類型,則課程類型會(huì)重復(fù)n-1次。(2)插入異常:如果要新增一種課程類型,但還沒(méi)有指定到課程的話,則該類型無(wú)法插入到數(shù)據(jù)庫(kù)中。(3)更新異常:如果要修改一種課程類型的名稱,則表中所有該課程類型的名稱都要修改,一旦遺漏就會(huì)導(dǎo)致

類型信息不一致的更新異常。

任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化3第三范式(3NF)(4)刪除異常:如果要?jiǎng)h除一種課程類型,則表中所有該課程類型的數(shù)據(jù)記錄都要?jiǎng)h除,導(dǎo)致與其相關(guān)的課程信息也會(huì)被刪除所以必須將有傳遞依賴的屬性“課程類型”拆分到新的實(shí)體“類型”,以去除原實(shí)體中非主鍵的傳遞依賴關(guān)系課程編號(hào)課程名稱課程學(xué)時(shí)數(shù)課程學(xué)分類型ID900001大學(xué)語(yǔ)文72.02.01900002英語(yǔ)144.04.01900003電子商務(wù)技術(shù)基礎(chǔ)144.04.02900004大數(shù)據(jù)可視化分析72.04.02900005Python編程基礎(chǔ)64.02.02類型ID課程類型名1公共基礎(chǔ)課2專業(yè)課課程類型表(滿足1NF,滿足2NF,滿足3NF)課程信息表(滿足1NF,滿足2NF,滿足3NF)

課程信息表(滿足1NF)課程編號(hào)課程名稱課程學(xué)時(shí)數(shù)課程學(xué)分類型ID課程類型900001大學(xué)語(yǔ)文72.02.01公共基礎(chǔ)課900002英語(yǔ)144.04.01公共基礎(chǔ)課900003電子商務(wù)技術(shù)基礎(chǔ)144.04.02專業(yè)課900004大數(shù)據(jù)可視化分析72.04.02專業(yè)課900005Python編程基礎(chǔ)64.02.02專業(yè)課拆分任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.5關(guān)系模式的規(guī)范化3第三范式(3NF)

第二范式和第三范式的概念很容易混淆,區(qū)分它們的關(guān)鍵點(diǎn)在于:

2NF:非主鍵列是完全依賴于主鍵,還是依賴于主鍵的一部分。

3NF:非主鍵列是直接依賴于主鍵,還是直接依賴于其它非主鍵。關(guān)系模型規(guī)范化的拆分結(jié)果不是唯一的,也并不是規(guī)范化程度越高越好。規(guī)范化程度越高,意味著表會(huì)越多,這會(huì)使得查詢時(shí)需要更多表的連接操作,而導(dǎo)致降低查詢性能。所以范式雖然具有避免數(shù)據(jù)冗余、減少數(shù)據(jù)庫(kù)占用的空間、減輕維護(hù)數(shù)據(jù)完整性的工作量等優(yōu)點(diǎn),但數(shù)據(jù)庫(kù)設(shè)計(jì)者還是要根據(jù)用戶需求權(quán)衡利弊,考慮設(shè)計(jì)到數(shù)據(jù)可操作性和可維護(hù)性之間的最佳平衡。任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模1建立概念數(shù)據(jù)模型使用PowerDesigner可以分別從概念數(shù)據(jù)模型(ConceptualDataModel,CDM)和物理數(shù)據(jù)模型(PhysicalDataModel,PDM)兩個(gè)層次對(duì)數(shù)據(jù)庫(kù)進(jìn)行設(shè)計(jì)。在這里,概念數(shù)據(jù)模型CDM描述的是獨(dú)立于數(shù)據(jù)庫(kù)管理系統(tǒng)的實(shí)體定義和實(shí)體關(guān)系定義,物理數(shù)據(jù)模型是在概念數(shù)據(jù)模型的基礎(chǔ)上針對(duì)目標(biāo)數(shù)據(jù)庫(kù)管理系統(tǒng)的具體化。(1)新建概念模型:?jiǎn)?dòng)PowerDesigner16.5,歡迎界面單擊“CreateModel...”選項(xiàng),或點(diǎn)擊主界面窗口左上角菜單欄“File”,選擇“NewModel”。彈出新建數(shù)據(jù)模型對(duì)話框,模型類型Model

type默認(rèn)選擇“ConceptualDataModel”概念模型,并在模型名稱Model

Name文本框中輸入模型名為TeachingMS_CDM,單擊“確定”進(jìn)入模型設(shè)計(jì)界面任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1建立概念數(shù)據(jù)模型(2)添加概念模型的實(shí)體對(duì)象并設(shè)置屬性:根據(jù)對(duì)“高校教學(xué)質(zhì)量分析管理系統(tǒng)”的實(shí)體集分析,所抽象處的實(shí)體有教師、學(xué)生、督導(dǎo)專家、輔導(dǎo)員、管理員、課程、班級(jí)、院系、專業(yè)、教研室共10個(gè)實(shí)體。以課程為例,在概念模型中添加課程實(shí)體及其屬性設(shè)置。①

設(shè)計(jì)界面右側(cè)工具欄中的“Entity”實(shí)體工具按鈕,光標(biāo)變?yōu)閷?shí)體圖標(biāo),設(shè)計(jì)窗口中單擊以添加一個(gè)實(shí)體對(duì)象的方框。

6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1建立概念數(shù)據(jù)模型(2)添加概念模型的實(shí)體對(duì)象并設(shè)置屬性:

②雙擊實(shí)體對(duì)象方框,打開(kāi)“EntityProperties”

實(shí)體屬性對(duì)話框?!癎eneral”選項(xiàng)卡設(shè)置實(shí)體名稱?!癆ttributes”選項(xiàng)卡設(shè)置實(shí)體屬性。右擊屬性“課程學(xué)分”選擇快捷菜單中“Properties”,打開(kāi)屬性參數(shù)設(shè)置窗口。單擊“確定”按鈕,完成“課程”實(shí)體屬性的設(shè)置。

③采用同樣方法,添加完成“高校教學(xué)質(zhì)量分析管理系統(tǒng)”中其它實(shí)體及其屬性設(shè)置。

圖6-27

實(shí)體屬性設(shè)置圖6-28

實(shí)體屬性的數(shù)據(jù)類型設(shè)置圖6-29

實(shí)體屬性參數(shù)設(shè)置圖6-26

實(shí)體名稱編輯圖6-30

設(shè)置實(shí)體屬性參數(shù)6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1建立概念數(shù)據(jù)模型(3)創(chuàng)建實(shí)體間關(guān)系:

以課程和班級(jí)為例,在概念模型中創(chuàng)建課程實(shí)體及班級(jí)實(shí)體間的關(guān)聯(lián)。①

建立聯(lián)系。單擊右側(cè)工具欄中的“Relationship”聯(lián)系工具按鈕,光標(biāo)由指針形狀變?yōu)樵搱D標(biāo)形狀,在需要設(shè)置聯(lián)系的兩個(gè)實(shí)體中的一個(gè)實(shí)體圖形符號(hào)上單擊鼠標(biāo)左鍵,并在保持按鍵的情況下將鼠標(biāo)拖動(dòng)到另一個(gè)實(shí)體上,然后釋放鼠標(biāo)左鍵,這樣就在兩個(gè)實(shí)體之間創(chuàng)建了一個(gè)聯(lián)系。②

設(shè)置聯(lián)系。雙擊聯(lián)系圖形符號(hào),打開(kāi)聯(lián)系屬性設(shè)置窗口。在窗口的General選項(xiàng)卡中,設(shè)置“課程”和“班級(jí)”兩個(gè)實(shí)體之間的聯(lián)系,聯(lián)系名稱為“課程.班級(jí)聯(lián)系”,代碼為“course-class”。

③窗口Cardinalities選項(xiàng)卡用于設(shè)置聯(lián)系的基數(shù)信息。設(shè)置“課程"和“班級(jí)”之間的聯(lián)系為“N:M”聯(lián)系,圖6-31創(chuàng)建課程-班級(jí)的聯(lián)系

圖6-32聯(lián)系屬性設(shè)置(General選項(xiàng)卡)圖6-33聯(lián)系屬性設(shè)置(Cardinalities選項(xiàng)卡)6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1建立概念數(shù)據(jù)模型④定義關(guān)聯(lián)(Association)及關(guān)聯(lián)鏈接(AssociationLink)。關(guān)聯(lián)需要包含屬性的情況,與上文不同,需要在右側(cè)工具欄中點(diǎn)擊,在工作區(qū)中添加關(guān)聯(lián)。雙擊關(guān)聯(lián),在AssociationProperties對(duì)話框的General選項(xiàng)卡中設(shè)置關(guān)聯(lián)名為“班級(jí)開(kāi)課”。在AssociationProperties對(duì)話框的Attributes選項(xiàng)卡中設(shè)置關(guān)聯(lián)的開(kāi)班序號(hào)、開(kāi)課學(xué)年學(xué)期2個(gè)屬性

圖6-34添加班級(jí)開(kāi)課關(guān)聯(lián)

圖6-35關(guān)聯(lián)屬性設(shè)置(General選項(xiàng)卡)圖6-36關(guān)聯(lián)屬性設(shè)置(Attributes選項(xiàng)卡)6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1建立概念數(shù)據(jù)模型在工具欄中點(diǎn)擊,在工作區(qū)中添加關(guān)聯(lián)的聯(lián)系,設(shè)置課程與班級(jí)開(kāi)課的關(guān)聯(lián)聯(lián)系(1:n),設(shè)置班級(jí)與班級(jí)開(kāi)課的關(guān)聯(lián)聯(lián)系(1:n)圖6-39課程-班級(jí)(n:m)工作區(qū)

圖6-37課程-班級(jí)開(kāi)課(1:n)(General選項(xiàng)卡)圖6-38班級(jí)-班級(jí)開(kāi)課(1:n)(General選項(xiàng)卡)6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1建立概念數(shù)據(jù)模型(4)完成系統(tǒng)概念模型設(shè)計(jì)按照如上步驟,依次建立設(shè)置所有實(shí)體、屬性、關(guān)聯(lián),完成系統(tǒng)整體概念模型設(shè)計(jì)

6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2轉(zhuǎn)換物理數(shù)據(jù)模型概念數(shù)據(jù)模型完成數(shù)據(jù)的概要設(shè)計(jì),邏輯數(shù)據(jù)模型是概念數(shù)據(jù)模型的進(jìn)一步分解和細(xì)化,物理數(shù)據(jù)模型則完成與具體數(shù)據(jù)庫(kù)管理系統(tǒng)相關(guān)的詳細(xì)設(shè)計(jì)。采用PowerDesigner數(shù)據(jù)建模,通常情況下,數(shù)據(jù)庫(kù)建模從CDM設(shè)計(jì)開(kāi)始,然后可直接將CDM轉(zhuǎn)化為PDM,之后再對(duì)PDM進(jìn)行優(yōu)化。

(1)打開(kāi)CDM模型,在菜單欄單擊“Tools”,選擇“GeneratePhysicalDataModel"菜單項(xiàng),

打開(kāi)生成PDM的模型窗口。設(shè)置生成選項(xiàng),生成PDM模型(General選項(xiàng)卡)界面(2)PowerDesigner將“高校教學(xué)質(zhì)量分析管理系統(tǒng)”CDM模型轉(zhuǎn)換成物理數(shù)據(jù)模型圖6-41生成PDM模型(General選項(xiàng)卡)圖6-42生成PDM模型(Detail選項(xiàng)卡)6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用2轉(zhuǎn)換物理數(shù)據(jù)模型(2)PowerDesigner將“高校教學(xué)質(zhì)量分析管理系統(tǒng)”CDM模型轉(zhuǎn)換成物理數(shù)據(jù)模型6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用3物理數(shù)據(jù)模型正向工程導(dǎo)出MySQL數(shù)據(jù)庫(kù)腳本“高校教學(xué)質(zhì)量分析管理系統(tǒng)”物理數(shù)據(jù)模型可以利用正向工程導(dǎo)出MySQL數(shù)據(jù)庫(kù)腳本。(1)在菜單欄單擊“Database”菜單,選擇“Generatedatabase”菜單項(xiàng)。(2)彈出如圖6-45“DatabaseGeneration”對(duì)話框,選擇“options”標(biāo)簽,在“Settingset”選項(xiàng)中選擇“allobject。(3)點(diǎn)擊確定,設(shè)置保存路徑與db_teaching.sql文件名即可。圖6-45“DatabaseGeneration”對(duì)話框圖6-44導(dǎo)出數(shù)據(jù)庫(kù)腳本菜單

圖6-46“options”標(biāo)簽設(shè)置導(dǎo)出參數(shù)6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用4數(shù)據(jù)庫(kù)腳本逆向工程生成物理數(shù)據(jù)模型還可將數(shù)據(jù)庫(kù)的腳本文件通過(guò)PowerDesigner中逆向工程反向生成得到數(shù)據(jù)庫(kù)物理數(shù)據(jù)模型。(1)打開(kāi)PowerDesigner16.5,單擊菜單欄的“File”,選擇"ReverseEngineer"→"Database"菜單項(xiàng)。彈出“NewPhysicalDataModel”對(duì)話框,輸入模型名稱后點(diǎn)擊“確定”按鈕,彈出“DatabaseReverseEngineeringOptions”對(duì)話框,選擇db_teaching.sql數(shù)據(jù)庫(kù)腳本文件,選擇“MySQLODBC8.0UnicodeDriver”驅(qū)動(dòng),點(diǎn)擊確定。彈出如圖6-49“DatabaseReverseEngineering”對(duì)話框,勾選數(shù)據(jù)庫(kù)腳本文件中的所有表,點(diǎn)擊“ok”按鈕,逆向工程生成“高校教學(xué)質(zhì)量分析管理系統(tǒng)”的物理數(shù)據(jù)模型。圖6-48“NewPhysicalDataModel”對(duì)話框圖6-47逆向工程菜單

圖6-49逆向工程轉(zhuǎn)換選項(xiàng)對(duì)話框圖6-50“DatabaseReverseEngineering”對(duì)話框6.1.6使用PowerDesigner為數(shù)據(jù)庫(kù)建模任務(wù)一設(shè)計(jì)系統(tǒng)數(shù)據(jù)庫(kù)DesignsystemdatabaseBYYUSHEN01

數(shù)據(jù)庫(kù)技術(shù)與應(yīng)用1MySQLWorkbench正向工程MySQLWorkbench也帶有數(shù)據(jù)建模工具,并可把數(shù)據(jù)模型轉(zhuǎn)換為實(shí)際的數(shù)據(jù)庫(kù)對(duì)象。(1)打開(kāi)Workbench,點(diǎn)擊左側(cè)圖標(biāo),再單擊models旁的“+”。(2)進(jìn)入MySQLModel標(biāo)簽頁(yè),單擊工具欄“addDiagram”按鈕。(3)進(jìn)入EERDiagram標(biāo)簽頁(yè)。圖6-52MySQLModel標(biāo)簽頁(yè)圖6-51

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論