版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
上海大學(xué)自動(dòng)化系林小玲第5章數(shù)據(jù)庫設(shè)計(jì)3
5.1數(shù)據(jù)庫設(shè)計(jì)概述
5.2需求分析5.3概念結(jié)構(gòu)設(shè)計(jì)5.4邏輯結(jié)構(gòu)設(shè)計(jì)5.5數(shù)據(jù)庫的物理設(shè)計(jì)第5章數(shù)據(jù)庫設(shè)計(jì)本章內(nèi)容5.6數(shù)據(jù)庫實(shí)施和維護(hù)本章內(nèi)容4
5.1概述數(shù)據(jù)庫設(shè)計(jì)數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造(設(shè)計(jì))優(yōu)化的數(shù)據(jù)庫邏輯模式和物理結(jié)構(gòu),并據(jù)此建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲(chǔ)和管理數(shù)據(jù),滿足各種用戶的應(yīng)用需求,包括信息管理要求和數(shù)據(jù)操作要求。目標(biāo):為用戶和各種應(yīng)用系統(tǒng)提供一個(gè)信息基礎(chǔ)設(shè)施和高效率的運(yùn)行環(huán)境5
5.1數(shù)據(jù)庫設(shè)計(jì)概述
5.1.1數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)
5.1.2
數(shù)據(jù)庫設(shè)計(jì)方法
5.1.3數(shù)據(jù)庫設(shè)計(jì)的基本步驟
5.1.4數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式
6
5.1.1數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)數(shù)據(jù)庫建設(shè)的基本規(guī)律
三分技術(shù),七分管理,十二分基礎(chǔ)數(shù)據(jù)管理數(shù)據(jù)庫建設(shè)項(xiàng)目管理企業(yè)(即應(yīng)用部門)的業(yè)務(wù)管理基礎(chǔ)數(shù)據(jù)收集、入庫更新新的數(shù)據(jù)結(jié)構(gòu)(數(shù)據(jù))設(shè)計(jì)和行為(處理)設(shè)計(jì)相結(jié)合將數(shù)據(jù)庫結(jié)構(gòu)設(shè)計(jì)和數(shù)據(jù)處理設(shè)計(jì)密切結(jié)合7
數(shù)據(jù)庫設(shè)計(jì)的特點(diǎn)(續(xù))現(xiàn)實(shí)世界概念模型設(shè)計(jì)子模式設(shè)計(jì)物理數(shù)據(jù)庫設(shè)計(jì)邏輯數(shù)據(jù)庫設(shè)計(jì)建立數(shù)據(jù)庫數(shù)據(jù)分析功能分析功能模型功能說明事務(wù)設(shè)計(jì)程序說明應(yīng)用程序設(shè)計(jì)程序編碼調(diào)試結(jié)構(gòu)和行為分離的設(shè)計(jì)8
5.1.2數(shù)據(jù)庫設(shè)計(jì)方法手工與經(jīng)驗(yàn)相結(jié)合方法設(shè)計(jì)質(zhì)量與設(shè)計(jì)人員的經(jīng)驗(yàn)和水平有直接關(guān)系數(shù)據(jù)庫運(yùn)行一段時(shí)間后常常不同程度地發(fā)現(xiàn)各種問題,增加了維護(hù)代價(jià)規(guī)范設(shè)計(jì)法基本思想:過程迭代和逐步求精
9
數(shù)據(jù)庫設(shè)計(jì)方法(續(xù))新奧爾良(NewOrleans)方法將數(shù)據(jù)庫設(shè)計(jì)分為若干階段和步驟基于E-R模型的數(shù)據(jù)庫設(shè)計(jì)方法概念設(shè)計(jì)階段廣泛采用3NF(第三范式)的設(shè)計(jì)方法邏輯階段可采用的有效方法ODL(ObjectDefinitionLanguage)方法面向?qū)ο蟮臄?shù)據(jù)庫設(shè)計(jì)方法計(jì)算機(jī)輔助設(shè)計(jì)ORACLEDesigner2000SYBASEPowerDesigner
10
5.1.3數(shù)據(jù)庫設(shè)計(jì)的基本步驟數(shù)據(jù)庫設(shè)計(jì)分6個(gè)階段
需求分析概念結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)物理結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫實(shí)施數(shù)據(jù)庫運(yùn)行和維護(hù)需求分析和概念設(shè)計(jì)獨(dú)立于任何數(shù)據(jù)庫管理系統(tǒng)
邏輯設(shè)計(jì)和物理設(shè)計(jì)與選用的DBMS密切相關(guān)
11
一、數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作一、數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作:選定參加設(shè)計(jì)的人1.系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計(jì)人員
自始至終參與數(shù)據(jù)庫設(shè)計(jì)2.用戶和數(shù)據(jù)庫管理員
主要參加需求分析和數(shù)據(jù)庫的運(yùn)行維護(hù)3.應(yīng)用開發(fā)人員(程序員和操作員)
在系統(tǒng)實(shí)施階段參與進(jìn)來,負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境12
二、數(shù)據(jù)庫設(shè)計(jì)的過程⒈需求分析階段準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理)最困難、最耗費(fèi)時(shí)間的一步⒉概念結(jié)構(gòu)設(shè)計(jì)階段整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型13
數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù)) ⒊邏輯結(jié)構(gòu)設(shè)計(jì)階段將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)DBMS所支持的數(shù)據(jù)模型對(duì)其進(jìn)行優(yōu)化⒋數(shù)據(jù)庫物理設(shè)計(jì)階段為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法)14
數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù)) ⒌數(shù)據(jù)庫實(shí)施階段運(yùn)用DBMS提供的數(shù)據(jù)庫語言(如SQL)及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建立數(shù)據(jù)庫編制與調(diào)試應(yīng)用程序組織數(shù)據(jù)入庫進(jìn)行試運(yùn)行15
數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù))
⒍數(shù)據(jù)庫運(yùn)行和維護(hù)階段數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運(yùn)行后即可投入正式運(yùn)行在數(shù)據(jù)庫系統(tǒng)運(yùn)行過程中必須不斷地對(duì)其進(jìn)行評(píng)價(jià)、調(diào)整與修改
16
數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù))設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)
把數(shù)據(jù)庫設(shè)計(jì)和對(duì)數(shù)據(jù)庫中數(shù)據(jù)處理的設(shè)計(jì)緊密結(jié)合起來將這兩個(gè)方面的需求分析、抽象、設(shè)計(jì)、實(shí)現(xiàn)在各個(gè)階段同時(shí)進(jìn)行,相互參照,相互補(bǔ)充,以完善兩方面的設(shè)計(jì)17
數(shù)據(jù)庫設(shè)計(jì)各個(gè)階段的設(shè)計(jì)描述數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù))18
5.1.4數(shù)據(jù)庫設(shè)計(jì)過程中的各級(jí)模式數(shù)據(jù)庫設(shè)計(jì)不同階段形成的數(shù)據(jù)庫各級(jí)模式
數(shù)據(jù)庫的各級(jí)模式19
5.2需求分析
5.2.1需求分析的任務(wù)
5.2.2需求分析的方法5.2.3數(shù)據(jù)字典
20
5.2.1需求分析的任務(wù)一、需求分析的任務(wù)二、需求分析的重點(diǎn)三、需求分析的難點(diǎn)21
一、需求分析的任務(wù)詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等)充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))明確用戶的各種需求確定新系統(tǒng)的功能充分考慮今后可能的擴(kuò)充和改變22
二、需求分析的重點(diǎn)調(diào)查的重點(diǎn)是“數(shù)據(jù)”和“處理”,獲得用戶對(duì)數(shù)據(jù)庫要求信息要求處理要求安全性與完整性要求23
三、需求分析的難點(diǎn)確定用戶最終需求用戶缺少計(jì)算機(jī)知識(shí)設(shè)計(jì)人員缺少用戶的專業(yè)知識(shí)解決方法設(shè)計(jì)人員必須不斷深入地與用戶進(jìn)行交流
24
5.2.2需求分析的方法調(diào)查需求分析表達(dá)需求25
一、調(diào)查需求的具體步驟調(diào)查組織機(jī)構(gòu)情況調(diào)查各部門的業(yè)務(wù)活動(dòng)情況。在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求。確定新系統(tǒng)的邊界26
二、常用調(diào)查方法(1)跟班作業(yè)(2)開調(diào)查會(huì)(3)請(qǐng)專人介紹(4)詢問(5)設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫(6)查閱記錄27
三、分析和表達(dá)用戶需求自頂向下的結(jié)構(gòu)化分析方法(簡(jiǎn)稱SA方法)SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng)。將處理功能的具體內(nèi)容分解為若干子功能,再將每個(gè)子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達(dá)清楚為止。在處理功能逐步分解的同時(shí),所用的數(shù)據(jù)也逐級(jí)分解,形成若干層次的數(shù)據(jù)流圖。
28
分析和表達(dá)用戶需求(續(xù))數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系。系統(tǒng)中的數(shù)據(jù)則借助數(shù)據(jù)字典來描述。數(shù)據(jù)流圖的表示:
數(shù)據(jù)存儲(chǔ)數(shù)據(jù)
來源
處理過程
數(shù)據(jù)
輸出信息要求
處理要求
數(shù)據(jù)流
數(shù)據(jù)流
29
需求分析(續(xù))實(shí)例:假設(shè)我們要開發(fā)一個(gè)學(xué)校管理系統(tǒng)。1.經(jīng)過可行性分析和初步需求調(diào)查,抽象出該系統(tǒng)最高層數(shù)據(jù)流圖,該系統(tǒng)由教師管理子系統(tǒng)、學(xué)生管理子系統(tǒng)、后勤管理子系統(tǒng)組成,每個(gè)子系統(tǒng)分別配備一個(gè)開發(fā)小組。2.進(jìn)一步細(xì)化各個(gè)子系統(tǒng)。 其中學(xué)生管理子系統(tǒng)開發(fā)小組通過進(jìn)行進(jìn)一步的需求調(diào)查,明確了該子系統(tǒng)的主要功能是進(jìn)行學(xué)籍管理和課程管理,包括學(xué)生報(bào)到、入學(xué)、畢業(yè)的管理,學(xué)生上課情況的管理。通過詳細(xì)的信息流程分析和數(shù)據(jù)收集后,生成了該子系統(tǒng)的數(shù)據(jù)流圖。30
需求分析(續(xù))學(xué)校管理系統(tǒng)最高層數(shù)據(jù)流圖31
學(xué)籍管理的數(shù)據(jù)流圖
32
學(xué)籍管理的數(shù)據(jù)流圖(續(xù))33
學(xué)籍管理的數(shù)據(jù)流圖(續(xù))34
學(xué)籍管理的數(shù)據(jù)流圖(續(xù))35
課程管理的數(shù)據(jù)流圖36
5.2.3數(shù)據(jù)字典數(shù)據(jù)字典的用途進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果數(shù)據(jù)字典的內(nèi)容數(shù)據(jù)項(xiàng)數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)流數(shù)據(jù)存儲(chǔ)處理過程37
一、數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)是不可再分的數(shù)據(jù)單位對(duì)數(shù)據(jù)項(xiàng)的描述
數(shù)據(jù)項(xiàng)描述={數(shù)據(jù)項(xiàng)名,數(shù)據(jù)項(xiàng)含義說明,別名,數(shù)據(jù)類型,長(zhǎng)度,取值范圍,取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系,數(shù)據(jù)項(xiàng)之間的聯(lián)系}38
二、數(shù)據(jù)結(jié)構(gòu)數(shù)據(jù)結(jié)構(gòu)反映了數(shù)據(jù)之間的組合關(guān)系。一個(gè)數(shù)據(jù)結(jié)構(gòu)可以由若干個(gè)數(shù)據(jù)項(xiàng)組成,也可以由若干個(gè)數(shù)據(jù)結(jié)構(gòu)組成,或由若干個(gè)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)混合組成。對(duì)數(shù)據(jù)結(jié)構(gòu)的描述
數(shù)據(jù)結(jié)構(gòu)描述={數(shù)據(jù)結(jié)構(gòu)名,含義說明,組成:{數(shù)據(jù)項(xiàng)或數(shù)據(jù)結(jié)構(gòu)}}39
三、數(shù)據(jù)流數(shù)據(jù)流是數(shù)據(jù)結(jié)構(gòu)在系統(tǒng)內(nèi)傳輸?shù)穆窂?。?duì)數(shù)據(jù)流的描述
數(shù)據(jù)流描述={數(shù)據(jù)流名,說明,數(shù)據(jù)流來源,數(shù)據(jù)流去向,組成:{數(shù)據(jù)結(jié)構(gòu)},平均流量,高峰期流量}40
四、數(shù)據(jù)存儲(chǔ)數(shù)據(jù)存儲(chǔ)是數(shù)據(jù)結(jié)構(gòu)停留或保存的地方,也是數(shù)據(jù)流的來源和去向之一。
對(duì)數(shù)據(jù)存儲(chǔ)的描述
數(shù)據(jù)存儲(chǔ)描述={數(shù)據(jù)存儲(chǔ)名,說明,編號(hào), 輸入的數(shù)據(jù)流,輸出的數(shù)據(jù)流,組成:{數(shù)據(jù)結(jié)構(gòu)},數(shù)據(jù)量,存取頻度,存取方式}41
五、處理過程具體處理邏輯一般用判定表或判定樹來描述處理過程說明性信息的描述
處理過程描述={處理過程名,說明,輸入:{數(shù)據(jù)流},輸出:{數(shù)據(jù)流},處理:{簡(jiǎn)要說明}}
42
數(shù)據(jù)字典舉例例:學(xué)生學(xué)籍管理子系統(tǒng)的數(shù)據(jù)字典。
數(shù)據(jù)項(xiàng),以“學(xué)號(hào)”為例:數(shù)據(jù)項(xiàng):學(xué)號(hào)含義說明:唯一標(biāo)識(shí)每個(gè)學(xué)生別名:學(xué)生編號(hào)類型:字符型長(zhǎng)度:8
取值范圍:00000000至99999999取值含義:前兩位標(biāo)別該學(xué)生所在年級(jí),后六位按順序編號(hào)與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系:43
數(shù)據(jù)字典舉例(續(xù)) 數(shù)據(jù)結(jié)構(gòu),以“學(xué)生”為例
“學(xué)生”是該系統(tǒng)中的一個(gè)核心數(shù)據(jù)結(jié)構(gòu):數(shù)據(jù)結(jié)構(gòu):學(xué)生含義說明:是學(xué)籍管理子系統(tǒng)的主體數(shù)據(jù)結(jié)構(gòu),定義了一個(gè)學(xué)生的有關(guān)信息組成:學(xué)號(hào),姓名,性別,年齡,所在系,年級(jí)
44
數(shù)據(jù)流,“體檢結(jié)果”可如下描述:數(shù)據(jù)流:體檢結(jié)果說明:學(xué)生參加體格檢查的最終結(jié)果數(shù)據(jù)流來源:體檢數(shù)據(jù)流去向:批準(zhǔn)組成:……平均流量:……高峰期流量:……數(shù)據(jù)字典舉例(續(xù))45
數(shù)據(jù)字典舉例(續(xù))數(shù)據(jù)存儲(chǔ),“學(xué)生登記表”可如下描述:數(shù)據(jù)存儲(chǔ):學(xué)生登記表說明:記錄學(xué)生的基本情況流入數(shù)據(jù)流:……
流出數(shù)據(jù)流:……
組成:……
數(shù)據(jù)量:每年3000張存取方式:隨機(jī)存取
46
數(shù)據(jù)字典舉例(續(xù))處理過程“分配宿舍”可如下描述:處理過程:分配宿舍說明:為所有新生分配學(xué)生宿舍輸入:學(xué)生,宿舍輸出:宿舍安排處理:在新生報(bào)到后,為所有新生分配學(xué)生宿舍。要求同一間宿舍只能安排同一性別的學(xué)生,同一個(gè)學(xué)生只能安排在一個(gè)宿舍中。每個(gè)學(xué)生的居住面積不小于3平方米。安排新生宿舍其處理時(shí)間應(yīng)不超過15分鐘。47
5.3概念結(jié)構(gòu)設(shè)計(jì)
5.3.1概念結(jié)構(gòu)5.3.2概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟5.3.3數(shù)據(jù)抽象與局部視圖設(shè)計(jì)5.3.4視圖的集成48
5.3.1概念結(jié)構(gòu)什么是概念結(jié)構(gòu)設(shè)計(jì)將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)即概念模型的過程就是概念結(jié)構(gòu)設(shè)計(jì)概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比數(shù)據(jù)模型更獨(dú)立于機(jī)器、更抽象,從而更加穩(wěn)定概念結(jié)構(gòu)設(shè)計(jì)是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵49
概念結(jié)構(gòu)(續(xù))現(xiàn)實(shí)世界機(jī)器世界
信息世界
需求分析概念結(jié)構(gòu)設(shè)計(jì)50
概念結(jié)構(gòu)(續(xù))概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)
(1)能真實(shí)、充分地反映現(xiàn)實(shí)世界
(2)易于理解
(3)易于更改
(4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換描述概念模型的工具E-R模型51
5.3.2概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟設(shè)計(jì)概念結(jié)構(gòu)的四類方法自頂向下首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化自頂向下策略52
概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))自底向上首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu)自底向上策略53
概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))逐步擴(kuò)張首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu)逐步擴(kuò)張策略54
混合策略將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))55
常用策略自頂向下地進(jìn)行需求分析
自底向上地設(shè)計(jì)概念結(jié)構(gòu)概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))56
自底向上設(shè)計(jì)概念結(jié)構(gòu)的步驟 第1步:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖
第2步:集成局部視圖,得到全局概念結(jié)構(gòu)概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù))57
5.3.3數(shù)據(jù)抽象與局部視圖設(shè)計(jì)抽象是對(duì)實(shí)際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述。概念結(jié)構(gòu)是對(duì)現(xiàn)實(shí)世界的一種抽象58
數(shù)據(jù)抽象與局部視圖設(shè)計(jì)(續(xù))三種常用抽象1.分類(Classification)定義某一類概念作為現(xiàn)實(shí)世界中一組對(duì)象的類型抽象了對(duì)象值和型之間的“ismemberof”的語義
59
數(shù)據(jù)抽象與局部視圖設(shè)計(jì)(續(xù))2.聚集(Aggregation)定義某一類型的組成成分抽象了對(duì)象內(nèi)部類型和成分之間“ispartof”的語義60
數(shù)據(jù)抽象與局部視圖設(shè)計(jì)(續(xù))3.概括(Generalization)定義類型之間的一種子集聯(lián)系抽象了類型之間的“issubsetof”的語義繼承性
61
數(shù)據(jù)抽象與局部視圖設(shè)計(jì)(續(xù))設(shè)計(jì)分E-R圖的步驟:選擇局部應(yīng)用逐一設(shè)計(jì)分E-R圖62
一、選擇局部應(yīng)用在多層的數(shù)據(jù)流圖中選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,作為設(shè)計(jì)分E-R圖的出發(fā)點(diǎn)通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)與原因:高層數(shù)據(jù)流圖只能反映系統(tǒng)的概貌中層數(shù)據(jù)流圖能較好地反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成低層數(shù)據(jù)流圖過細(xì)63
選擇局部應(yīng)用(續(xù))例:由于學(xué)籍管理、課程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計(jì)學(xué)生管理子系統(tǒng)的分E-R圖。如果局部應(yīng)用比較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手。64
二、逐一設(shè)計(jì)分E-R圖任務(wù)
標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,實(shí)體間的聯(lián)系將各局部應(yīng)用涉及的數(shù)據(jù)分別從數(shù)據(jù)字典中抽取出來參照數(shù)據(jù)流圖,標(biāo)定各局部應(yīng)用中的實(shí)體、實(shí)體的屬性、標(biāo)識(shí)實(shí)體的碼確定實(shí)體之間的聯(lián)系及其類型(1:1,1:n,m:n)65
逐一設(shè)計(jì)分E-R圖(續(xù))如何抽象實(shí)體和屬性實(shí)體:現(xiàn)實(shí)世界中一組具有某些共同特性和行為的對(duì)象就可以抽象為一個(gè)實(shí)體。對(duì)象和實(shí)體之間是“ismemberof"的關(guān)系。例:在學(xué)校環(huán)境中,可把張三、李四等對(duì)象抽象為學(xué)生實(shí)體。66
逐一設(shè)計(jì)分E-R圖(續(xù))屬性:對(duì)象類型的組成成分可以抽象為實(shí)體的屬性。組成成分與對(duì)象類型之間是“ispartof"的關(guān)系。 例:學(xué)號(hào)、姓名、專業(yè)、年級(jí)等可以抽象為學(xué)生實(shí)體的屬性。其中學(xué)號(hào)為標(biāo)識(shí)學(xué)生實(shí)體的碼67
逐一設(shè)計(jì)分E-R圖(續(xù))如何區(qū)分實(shí)體和屬性實(shí)體與屬性是相對(duì)而言的。同一事物,在一種應(yīng)用環(huán)境中作為“屬性”,在另一種應(yīng)用環(huán)境中就必須作為“實(shí)體”。 例:學(xué)校中的系,在某種應(yīng)用環(huán)境中,它只是作為“學(xué)生”實(shí)體的一個(gè)屬性,表明一個(gè)學(xué)生屬于哪個(gè)系;而在另一種環(huán)境中,由于需要考慮一個(gè)系的系主任、教師人數(shù)、學(xué)生人數(shù)、辦公地點(diǎn)等,這時(shí)它就需要作為實(shí)體了。68
逐一設(shè)計(jì)分E-R圖(續(xù))兩條準(zhǔn)則:
(1)屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項(xiàng),不能再由另一些屬性組成(2)屬性不能與其他實(shí)體具有聯(lián)系。聯(lián)系只發(fā)生在實(shí)體之間69
逐一設(shè)計(jì)分E-R圖(續(xù))舉例
例1:“學(xué)生”由學(xué)號(hào)、姓名等屬性進(jìn)一步描述,根據(jù)準(zhǔn)則1,“學(xué)生”只能作為實(shí)體,不能作為屬性。
例2:職稱通常作為教師實(shí)體的屬性,但在涉及住房分配時(shí),由于分房與職稱有關(guān),也就是說職稱與住房實(shí)體之間有聯(lián)系,根據(jù)準(zhǔn)則2,這時(shí)把職稱作為實(shí)體來處理會(huì)更合適些。70
逐一設(shè)計(jì)分E-R圖(續(xù))71
逐一設(shè)計(jì)分E-R圖(續(xù))設(shè)計(jì)分E-R圖的步驟(1)以數(shù)據(jù)字典為出發(fā)點(diǎn)定義E-R圖。數(shù)據(jù)字典中的“數(shù)據(jù)結(jié)構(gòu)”、“數(shù)據(jù)流”和“數(shù)據(jù)存儲(chǔ)”等已是若干屬性的有意義的聚合(2)按上面給出的準(zhǔn)則進(jìn)行必要的調(diào)整。72
逐一設(shè)計(jì)分E-R圖(續(xù))例:學(xué)籍管理局部應(yīng)用中主要涉及的實(shí)體包括學(xué)生、宿舍、檔案材料、班級(jí)、班主任。
實(shí)體之間的聯(lián)系:由于一個(gè)宿舍可以住多個(gè)學(xué)生,而一個(gè)學(xué)生只能住在某一個(gè)宿舍中,因此宿舍與學(xué)生之間是1:n的聯(lián)系。由于一個(gè)班級(jí)往往有若干名學(xué)生,而一個(gè)學(xué)生只能屬于一個(gè)班級(jí),因此班級(jí)與學(xué)生之間也是1:n的聯(lián)系。73
逐一設(shè)計(jì)分E-R圖(續(xù))由于班主任同時(shí)還要教課,因此班主任與學(xué)生之間存在指導(dǎo)聯(lián)系,一個(gè)班主任要教多名學(xué)生,而一個(gè)學(xué)生只對(duì)應(yīng)一個(gè)班主任,因此班主任與學(xué)生之間也是1:n的聯(lián)系。而學(xué)生和他自己的檔案材料之間,班級(jí)與班主任之間都是1:1的聯(lián)系。74
逐一設(shè)計(jì)分E-R圖(續(xù))學(xué)籍管理局部應(yīng)用的分E-R圖:75
逐一設(shè)計(jì)分E-R圖(續(xù))該E-R圖中省略了各個(gè)實(shí)體的屬性描述:學(xué)生:{學(xué)號(hào),姓名,出生日期}性別:{性別}檔案材料:{檔案號(hào),……}班級(jí):{班級(jí)號(hào),學(xué)生人數(shù)}班主任:{職工號(hào),姓名,性別,是否為優(yōu)秀班主任}宿舍:{宿舍編號(hào),地址,人數(shù)}其中有下劃線的屬性為實(shí)體的碼。76
逐一設(shè)計(jì)分E-R圖(續(xù))同樣方法可以得到課程管理局部應(yīng)用的分E-R圖77
逐一設(shè)計(jì)分E-R圖(續(xù))各實(shí)體的屬性分別為:學(xué)生:{姓名,學(xué)號(hào),性別,年齡,所在系,年級(jí),平均成績(jī)}課程:{課程號(hào),課程名,學(xué)分}教師:{職工號(hào),姓名,性別,職稱}教科書:{書號(hào),書名,價(jià)錢}教室:{教室編號(hào),地址,容量}78
5.3.4視圖的集成各個(gè)局部視圖即分E-R圖建立好后,還需要對(duì)它們進(jìn)行合并,集成為一個(gè)整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。79
視圖集成的兩種方式多個(gè)分E-R圖一次集成一次集成多個(gè)分E-R圖通常用于局部視圖比較簡(jiǎn)單時(shí)80
視圖的集成(續(xù))逐步集成用累加的方式一次集成兩個(gè)分E-R圖81
視圖的集成(續(xù))集成局部E-R圖的步驟:1.合并2.修改與重構(gòu)82
視圖的集成(續(xù))視圖集成83
一、合并分E-R圖,生成初步E-R圖各分E-R圖存在沖突各個(gè)分E-R圖之間必定會(huì)存在許多不一致的地方
合并分E-R圖的主要工作與關(guān)鍵合理消除各分E-R圖的沖突84
合并分E-R圖,生成初步E-R圖(續(xù))沖突的種類屬性沖突命名沖突結(jié)構(gòu)沖突
85
1.屬性沖突兩類屬性沖突屬性域沖突
兩類屬性沖突屬性域沖突:屬性值的類型、取值范圍或取值集合不同。
例1,由于學(xué)號(hào)是數(shù)字,因此某些部門(即局部應(yīng)用)將學(xué)號(hào)定義為整數(shù)形式,而由于學(xué)號(hào)不用參與運(yùn)算,因此另一些部門(即局部應(yīng)用)將學(xué)號(hào)定義為字符型形式。 例2,某些部門(即局部應(yīng)用)以出生日期形式表示學(xué)生的年齡,而另一些部門(即局部應(yīng)用)用整數(shù)形式表示學(xué)生的年齡。
86
屬性沖突(續(xù))屬性取值單位沖突例:學(xué)生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。屬性沖突的解決方法
通常用討論、協(xié)商等行政手段加以解決87
2.命名沖突兩類命名沖突同名異義:不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字
異名同義(一義多名):同一意義的對(duì)象在不同的局部應(yīng)用中具有不同的名字命名沖突的解決方法通過討論、協(xié)商等行政手段加以解決88
3.結(jié)構(gòu)沖突三類結(jié)構(gòu)沖突同一對(duì)象在不同應(yīng)用中具有不同的抽象
例,“課程”在某一局部應(yīng)用中被當(dāng)作實(shí)體,在另一局部應(yīng)用中則被當(dāng)作屬性解決方法:通常是把屬性變換為實(shí)體或把實(shí)體變換為屬性,使同一對(duì)象具有相同的抽象。變換時(shí)要遵循兩個(gè)準(zhǔn)則。
實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型89
結(jié)構(gòu)沖突(續(xù))同一實(shí)體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。
產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實(shí)體的不同側(cè)面。解決方法:使該實(shí)體的屬性取各分E-R圖中屬性的并集,再適當(dāng)設(shè)計(jì)屬性的次序。90
結(jié)構(gòu)沖突(續(xù))學(xué)生學(xué)號(hào)姓名性別平均成績(jī)(a)在局部應(yīng)用A中91
結(jié)構(gòu)沖突(續(xù))學(xué)生姓名學(xué)號(hào)出生日期所在系年級(jí)(b)在局部應(yīng)用B中92
結(jié)構(gòu)沖突(續(xù))學(xué)生
姓名
政治面貌
學(xué)號(hào)(c)在局部應(yīng)用C中93
結(jié)構(gòu)沖突(續(xù))學(xué)生政治面貌學(xué)號(hào)出生日期年級(jí)所在系平均成績(jī)姓名性別(d)合并后94
結(jié)構(gòu)沖突(續(xù))實(shí)體之間的聯(lián)系在不同局部視圖中呈現(xiàn)不同的類型例1:實(shí)體E1與E2在局部應(yīng)用A中是多對(duì)多聯(lián)系,而在局部應(yīng)用B中是一對(duì)多聯(lián)系
例2:在局部應(yīng)用X中E1與E2發(fā)生聯(lián)系,而在局部應(yīng)用Y中E1、E2、E3三者之間有聯(lián)系。解決方法:根據(jù)應(yīng)用語義對(duì)實(shí)體聯(lián)系的類型進(jìn)行綜合或調(diào)整。95
基本任務(wù)消除不必要的冗余,設(shè)計(jì)生成基本E-R圖合并
初步E-R圖分E-R圖可能存在冗余的數(shù)據(jù)和冗余的實(shí)體間聯(lián)系基本E-R圖消除不必要的冗余
二、消除不必要的冗余,設(shè)計(jì)基本E-R圖96
消除不必要的冗余,設(shè)計(jì)基本E-R圖(續(xù))冗余消除冗余的方法97
1.冗余冗余的數(shù)據(jù)是指可由基本數(shù)據(jù)導(dǎo)出的數(shù)據(jù) 冗余的聯(lián)系是指可由其他聯(lián)系導(dǎo)出的聯(lián)系冗余數(shù)據(jù)和冗余聯(lián)系容易破壞數(shù)據(jù)庫的完整性,給數(shù)據(jù)庫維護(hù)增加困難消除不必要的冗余后的初步E-R圖稱為基本E-R圖98
2.消除冗余的方法分析方法
以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù)根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間的邏輯關(guān)系例:教師工資單中包括該教師的基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)以及實(shí)發(fā)工資。由于實(shí)發(fā)工資可以由前面各項(xiàng)推算出來,因此可以去掉,在需要查詢實(shí)發(fā)工資時(shí)根據(jù)基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)數(shù)據(jù)臨時(shí)生成。99
消除冗余,設(shè)計(jì)生成基本E-R圖實(shí)例如果是為了提高效率,人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說明作為完整性約束條件。一種更好的方法是把冗余數(shù)據(jù)定義在視圖中 初步E-R圖中存在著冗余數(shù)據(jù)和冗余聯(lián)系:
(1)學(xué)生實(shí)體中的年齡屬性可以由出生日期推算出來,屬于冗余數(shù)據(jù),應(yīng)該去掉。這樣不僅可以節(jié)省存儲(chǔ)空間,而且當(dāng)某個(gè)學(xué)生的出生日期有誤,進(jìn)行修改后,無須相應(yīng)修改年齡,減少了產(chǎn)生數(shù)據(jù)不一致的機(jī)會(huì)。學(xué)生:{學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī)}100
消除冗余,設(shè)計(jì)生成基本E-R圖實(shí)例(續(xù))(2)教室實(shí)體與班級(jí)實(shí)體的上課聯(lián)系可以由教室與課程之間的開設(shè)聯(lián)系、課程與學(xué)生之間的選修聯(lián)系、學(xué)生與班級(jí)之間的組成聯(lián)系三者推導(dǎo)出來,因此屬于冗余聯(lián)系,可以消去。(3)學(xué)生實(shí)體中的平均成績(jī)可以從選修聯(lián)系中的成績(jī)屬性中推算出來.應(yīng)用中需要經(jīng)常查詢某個(gè)學(xué)生的平均成績(jī),每次都進(jìn)行這種計(jì)算效率就會(huì)太低,因此為提高效率,保留該冗余數(shù)據(jù),但定義一個(gè)觸發(fā)器來保證學(xué)生的平均成績(jī)等于該學(xué)生各科成績(jī)的平均值。任何一科成績(jī)修改后,或該學(xué)生學(xué)了新的科目并有成績(jī)后,就觸發(fā)該觸發(fā)器去修改該學(xué)生的平均成績(jī)屬性值。101
消除冗余,設(shè)計(jì)生成基本E-R圖實(shí)例(續(xù))進(jìn)行修改和重構(gòu)后生成的基本E-R圖。
學(xué)生管理子系統(tǒng)的基本E-R圖與教師管理子系統(tǒng)以及后勤管理子系統(tǒng)的基本E-R圖合并后,生成整個(gè)學(xué)校管理系統(tǒng)的基本E-R圖。102
下圖是進(jìn)行修改和重構(gòu)后生成的學(xué)生管理子系統(tǒng)基本E-R圖。103
驗(yàn)證整體概念結(jié)構(gòu)視圖集成后形成一個(gè)整體的數(shù)據(jù)庫概念結(jié)構(gòu),對(duì)該整體概念結(jié)構(gòu)還必須進(jìn)行進(jìn)一步驗(yàn)證,確保它能夠滿足下列條件:整體概念結(jié)構(gòu)內(nèi)部必須具有一致性,不存在互相矛盾的表達(dá)整體概念結(jié)構(gòu)能準(zhǔn)確地反映原來的每個(gè)視圖結(jié)構(gòu),包括屬性、實(shí)體及實(shí)體間的聯(lián)系整體概念結(jié)構(gòu)能滿足需要分析階段所確定的所有要求104
驗(yàn)證整體概念結(jié)構(gòu)(續(xù))整體概念結(jié)構(gòu)最終還應(yīng)該提交給用戶,征求用戶和有關(guān)人員的意見,進(jìn)行評(píng)審、修改和優(yōu)化,然后把它確定下來,作為數(shù)據(jù)庫的概念結(jié)構(gòu),作為進(jìn)一步設(shè)計(jì)數(shù)據(jù)庫的依據(jù)。105
概念結(jié)構(gòu)設(shè)計(jì)小結(jié)概念結(jié)構(gòu)設(shè)計(jì)的步驟抽象數(shù)據(jù)并設(shè)計(jì)局部視圖集成局部視圖,得到全局概念結(jié)構(gòu)驗(yàn)證整體概念結(jié)構(gòu)
106
5.4邏輯結(jié)構(gòu)設(shè)計(jì)邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)
把概念結(jié)構(gòu)設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為與選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)的步驟
將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)換來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化107
邏輯結(jié)構(gòu)設(shè)計(jì)(續(xù))邏輯結(jié)構(gòu)設(shè)計(jì)時(shí)的3個(gè)步驟108
5.4邏輯結(jié)構(gòu)設(shè)計(jì)
5.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換5.4.2數(shù)據(jù)模型的優(yōu)化5.4.3設(shè)計(jì)用戶子模式109
5.4.1E-R圖向關(guān)系模型的轉(zhuǎn)換E-R圖向關(guān)系模型的轉(zhuǎn)換要解決的問題如何將實(shí)體型和實(shí)體間的聯(lián)系轉(zhuǎn)換為關(guān)系模式如何確定這些關(guān)系模式的屬性和碼轉(zhuǎn)換內(nèi)容將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式。110
E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))實(shí)體型間的聯(lián)系有以下不同情況:
(1)一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式與某一端實(shí)體對(duì)應(yīng)的關(guān)系模式合并(2)一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式與n端對(duì)應(yīng)的關(guān)系模式合并111
轉(zhuǎn)換原則⒈一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:實(shí)體型的屬性關(guān)系的碼:實(shí)體型的碼
例,學(xué)生實(shí)體可以轉(zhuǎn)換為如下關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),平均成績(jī))性別、宿舍、班級(jí)、檔案材料、教師、課程、教室、教科書都分別轉(zhuǎn)換為一個(gè)關(guān)系模式。E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))112
⒉一個(gè)m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:各實(shí)體碼的組合
例,“選修”聯(lián)系是一個(gè)m:n聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中學(xué)號(hào)與課程號(hào)為關(guān)系的組合碼:選修(學(xué)號(hào),課程號(hào),成績(jī))
E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))113
⒊一個(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)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性關(guān)系的碼:n端實(shí)體的碼
E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))114
與n端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:在n端關(guān)系中加入1端關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變可以減少系統(tǒng)中的關(guān)系個(gè)數(shù),一般情況下更傾向于采用這種方法
E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))115
例,“組成”聯(lián)系為1:n聯(lián)系。將其轉(zhuǎn)換為關(guān)系模式的兩種方法:
1)使其成為一個(gè)獨(dú)立的關(guān)系模式:
組成(學(xué)號(hào),班級(jí)號(hào))
2)將其學(xué)生關(guān)系模式合并: 學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))116
⒋一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。
1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性。2)與某一端對(duì)應(yīng)的關(guān)系模式合并合并后關(guān)系的屬性:加入對(duì)應(yīng)關(guān)系的碼和聯(lián)系本身的屬性合并后關(guān)系的碼:不變E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))117
例,“管理”聯(lián)系為1:1聯(lián)系,可以有三種轉(zhuǎn)換方法:(1)轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式: 管理(職工號(hào),班級(jí)號(hào))或管理(職工號(hào),班級(jí)號(hào))(2)“管理”聯(lián)系與班級(jí)關(guān)系模式合并,則只需在班級(jí)關(guān)系中加入教師關(guān)系的碼,即職工號(hào): 班級(jí):(班級(jí)號(hào),學(xué)生人數(shù),職工號(hào))(3)“管理”聯(lián)系與教師關(guān)系模式合并,則只需在教師關(guān)系中加入班級(jí)關(guān)系的碼,即班級(jí)號(hào): 教師:(職工號(hào),姓名,性別,職稱,班級(jí)號(hào),是否為優(yōu)秀班主任)E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))118
注意:從理論上講,1:1聯(lián)系可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。但在一些情況下,與不同的關(guān)系模式合并效率會(huì)大不一樣。因此究竟應(yīng)該與哪端的關(guān)系模式合并需要依應(yīng)用的具體情況而定。由于連接操作是最費(fèi)時(shí)的操作,所以一般應(yīng)以盡量減少連接操作為目標(biāo)。例如,如果經(jīng)常要查詢某個(gè)班級(jí)的班主任姓名,則將管理聯(lián)系與教師關(guān)系合并更好些。E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))119
⒌三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。關(guān)系的屬性:與該多元聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性。關(guān)系的碼:各實(shí)體碼的組合。 例,“講授”聯(lián)系是一個(gè)三元聯(lián)系,可以將它轉(zhuǎn)換為如下關(guān)系模式,其中課程號(hào)、職工號(hào)和書號(hào)為關(guān)系的組合碼:講授(課程號(hào),職工號(hào),書號(hào))E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))120
⒍同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述1:1、1:n和m:n三種情況分別處理。
例,如果教師實(shí)體集內(nèi)部存在領(lǐng)導(dǎo)與被領(lǐng)導(dǎo)的1:n自聯(lián)系,我們可以將該聯(lián)系與教師實(shí)體合并,這時(shí)主碼職工號(hào)將多次出現(xiàn),但作用不同,可用不同的屬性名加以區(qū)分:教師:{職工號(hào),姓名,性別,職稱,系主任}E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))121
⒎具有相同碼的關(guān)系模式可合并。目的:減少系統(tǒng)中的關(guān)系個(gè)數(shù)。合并方法:將其中一個(gè)關(guān)系模式的全部屬性加入到另一個(gè)關(guān)系模式中,然后去掉其中的同義屬性(可能同名也可能不同名),并適當(dāng)調(diào)整屬性的次序。E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))122
例,“擁有”關(guān)系模式:擁有(學(xué)號(hào),性別)與學(xué)生關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))都以學(xué)號(hào)為碼,可以將它們合并為一個(gè)關(guān)系模式:學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī))E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))123
實(shí)例按照上述七條原則,學(xué)生管理子系統(tǒng)中的18個(gè)實(shí)體和聯(lián)系可以轉(zhuǎn)換為下列關(guān)系模型:學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系,年級(jí),班級(jí)號(hào),平均成績(jī),檔案號(hào)) 性別(性別,宿舍樓)宿舍(宿舍編號(hào),地址,性別,人數(shù))班級(jí)(班級(jí)號(hào),學(xué)生人數(shù)) 教師(職工號(hào),姓名,性別,職稱,班級(jí)號(hào),是否為優(yōu)秀班主任)E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))124
教學(xué)(職工號(hào),學(xué)號(hào))課程(課程號(hào),課程名,學(xué)分,教室號(hào))選修(學(xué)號(hào),課程號(hào),成績(jī))教科書(書號(hào),書名,價(jià)錢)教室(教室編號(hào),地址,容量)講授(課程號(hào),教師號(hào),書號(hào))檔案材料(檔案號(hào),……)E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))125
該關(guān)系模型由12個(gè)關(guān)系模式組成。其中:學(xué)生關(guān)系模式包含了“擁有”聯(lián)系、“組成”聯(lián)系、“歸檔”聯(lián)系所對(duì)應(yīng)的關(guān)系模式教師關(guān)系模式包含了“管理”聯(lián)系所對(duì)應(yīng)的關(guān)系模式;宿舍關(guān)系模式包含了“住宿”聯(lián)系所對(duì)應(yīng)的關(guān)系模式;課程關(guān)系模式包含了“開設(shè)”聯(lián)系所對(duì)應(yīng)的關(guān)系模式。E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù))126
5.4.2數(shù)據(jù)模型的優(yōu)化得到初步數(shù)據(jù)模型后,還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,這就是數(shù)據(jù)模型的優(yōu)化
關(guān)系數(shù)據(jù)模型的優(yōu)化通常以規(guī)范化理論為指導(dǎo)127
數(shù)據(jù)模型的優(yōu)化(續(xù))優(yōu)化數(shù)據(jù)模型的方法1.確定數(shù)據(jù)依賴:按需求分析階段所得到的語義,分別寫出每個(gè)關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴2.消除冗余的聯(lián)系:對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。
128
數(shù)據(jù)模型的優(yōu)化(續(xù))3.確定所屬范式按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等確定各關(guān)系模式分別屬于第幾范式4.按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。
注意:并不是規(guī)范化程度越高的關(guān)系就越優(yōu),一般說來,第三范式就足夠了。
129
例:在關(guān)系模式:學(xué)生成績(jī)單(學(xué)號(hào),英語,數(shù)學(xué),語文,平均成績(jī))中存在下列函數(shù)依賴:學(xué)號(hào)→英語學(xué)號(hào)→數(shù)學(xué)學(xué)號(hào)→語文學(xué)號(hào)→平均成績(jī)
(英語,數(shù)學(xué),語文)→平均成績(jī)顯然有:學(xué)號(hào)→(英語,數(shù)學(xué),語文)→平均成績(jī)(存在傳遞依賴)因此該關(guān)系模式是2NF關(guān)系。數(shù)據(jù)模型的優(yōu)化(續(xù))130
雖然平均成績(jī)可以由其他屬性推算出來,但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績(jī),為提高效率,仍然可保留該冗余數(shù)據(jù),對(duì)關(guān)系模式不再做進(jìn)一步分解。數(shù)據(jù)模型的優(yōu)化(續(xù))131
按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,對(duì)關(guān)系模式進(jìn)行必要的分解,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率常用分解方法水平分解垂直分解數(shù)據(jù)模型的優(yōu)化(續(xù))132
水平分解什么是水平分解
把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率水平分解的適用范圍
滿足“80/20原則”的應(yīng)用并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù)
數(shù)據(jù)模型的優(yōu)化(續(xù))133
垂直分解什么是垂直分解
把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式垂直分解的適用范圍取決于分解后R上的所有事務(wù)的總效率是否得到了提高垂直分解的優(yōu)缺點(diǎn):優(yōu)點(diǎn):可以提高某些事務(wù)的效率缺點(diǎn):可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。是否進(jìn)行垂直分解取決于分解后R上的所有事務(wù)的總效率是否得到了提高。數(shù)據(jù)模型的優(yōu)化(續(xù))134
5.4.3設(shè)計(jì)用戶子模式定義用戶外模式時(shí)應(yīng)該注重的問題包括三個(gè)方面:
(1)使用更符合用戶習(xí)慣的別名
(2)針對(duì)不同級(jí)別的用戶定義不同的視圖,以滿足系統(tǒng)對(duì)安全性的要求。
(3)簡(jiǎn)化用戶對(duì)系統(tǒng)的使用135
設(shè)計(jì)用戶子模式(續(xù))例:教師關(guān)系模式中包括職工號(hào)、姓名、性別、出生日期、婚姻狀況、學(xué)歷、學(xué)位、政治面貌、職稱、職務(wù)、工資、工齡、教學(xué)效果等屬性。學(xué)籍管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、職稱數(shù)據(jù);課程管理應(yīng)用只能查詢教師的職工號(hào)、姓名、性別、學(xué)歷、學(xué)位、職稱、教學(xué)效果數(shù)據(jù);教師管理應(yīng)用則可以查詢教師的全部數(shù)據(jù)。136
邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)任務(wù)將概念結(jié)構(gòu)轉(zhuǎn)化為具體的數(shù)據(jù)模型邏輯結(jié)構(gòu)設(shè)計(jì)的步驟將概念結(jié)構(gòu)轉(zhuǎn)化為一般的關(guān)系、網(wǎng)狀、層次模型將轉(zhuǎn)化來的關(guān)系、網(wǎng)狀、層次模型向特定DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換對(duì)數(shù)據(jù)模型進(jìn)行優(yōu)化設(shè)計(jì)用戶子模式E-R圖向關(guān)系模型的轉(zhuǎn)換內(nèi)容E-R圖向關(guān)系模型的轉(zhuǎn)換原則137
邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)優(yōu)化數(shù)據(jù)模型的方法
1.確定數(shù)據(jù)依賴
2.對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。
3.確定各關(guān)系模式分別屬于第幾范式。
4.分析對(duì)于應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。
5.對(duì)關(guān)系模式進(jìn)行必要的分解或合并
138
邏輯結(jié)構(gòu)設(shè)計(jì)小結(jié)設(shè)計(jì)用戶子模式
1.使用更符合用戶習(xí)慣的別名
2.針對(duì)不同級(jí)別的用戶定義不同的外模式,以滿足系統(tǒng)對(duì)安全性的要求。
3.簡(jiǎn)化用戶對(duì)系統(tǒng)的使用139
5.5數(shù)據(jù)庫的物理設(shè)計(jì)數(shù)據(jù)庫的物理設(shè)計(jì)數(shù)據(jù)庫在物理設(shè)備上的存儲(chǔ)結(jié)構(gòu)與存取方法稱為數(shù)據(jù)庫的物理結(jié)構(gòu),它依賴于選定的數(shù)據(jù)庫管理系統(tǒng)為一個(gè)給定的邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)的過程,就是數(shù)據(jù)庫的物理設(shè)計(jì)140
數(shù)據(jù)庫的物理設(shè)計(jì)(續(xù))數(shù)據(jù)庫物理設(shè)計(jì)的步驟:確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要指存取方法和存儲(chǔ)結(jié)構(gòu)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率
如果評(píng)價(jià)結(jié)果滿足原設(shè)計(jì)要求,則可進(jìn)入到物理實(shí)施階段,否則,就需要重新設(shè)計(jì)或修改物理結(jié)構(gòu),有時(shí)甚至要返回邏輯設(shè)計(jì)階段修改數(shù)據(jù)模型141
數(shù)據(jù)庫的物理設(shè)計(jì)(續(xù))數(shù)據(jù)庫物理設(shè)計(jì)確定數(shù)據(jù)庫的物理結(jié)構(gòu)評(píng)價(jià)數(shù)據(jù)庫的物理結(jié)構(gòu)邏輯結(jié)構(gòu)設(shè)計(jì)數(shù)據(jù)庫實(shí)施物理模型邏輯模型142
5.5數(shù)據(jù)庫的物理設(shè)計(jì)
5.5.1數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法5.5.2關(guān)系模式存取方法選擇5.5.3確定數(shù)據(jù)庫的存儲(chǔ)結(jié)構(gòu)5.5.4評(píng)價(jià)物理結(jié)構(gòu)143
5.5.1數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容和方法設(shè)計(jì)物理數(shù)據(jù)庫結(jié)構(gòu)的準(zhǔn)備工作對(duì)要運(yùn)行的事務(wù)進(jìn)行詳細(xì)分析,獲得選擇物理數(shù)據(jù)庫設(shè)計(jì)所需參數(shù)充分了解所用RDBMS的內(nèi)部特征,特別是系統(tǒng)提供的存取方法和存儲(chǔ)結(jié)構(gòu)144
數(shù)據(jù)庫的物理設(shè)計(jì)的內(nèi)容和方法(續(xù))選擇物理數(shù)據(jù)庫設(shè)計(jì)所需參數(shù)數(shù)據(jù)庫查詢事務(wù)查詢的關(guān)系查詢條件所涉及的屬性連接條件所涉及的屬性查詢的投影屬性
145
數(shù)據(jù)庫的物理設(shè)計(jì)的內(nèi)容和方法(續(xù))數(shù)據(jù)更新事務(wù)被更新的關(guān)系每個(gè)關(guān)系上的更新操作條件所涉及的屬性修改操作要改變的屬性值每個(gè)事務(wù)在各關(guān)系上運(yùn)行的頻率和性能要求146
數(shù)據(jù)庫的物理設(shè)計(jì)的內(nèi)容和方法(續(xù))關(guān)系數(shù)據(jù)庫物理設(shè)計(jì)的內(nèi)容為關(guān)系模式選擇存取方法(建立存取路徑)設(shè)計(jì)關(guān)系、索引等數(shù)據(jù)庫文件的物理存儲(chǔ)結(jié)構(gòu)147
5.5.2關(guān)系模式存取方法選擇數(shù)據(jù)庫系統(tǒng)是多用戶共享的系統(tǒng),對(duì)同一個(gè)關(guān)系要建立多條存取路徑才能滿足多用戶的多種應(yīng)用要求物理設(shè)計(jì)的任務(wù)之一就是要確定選擇哪些存取方法,即建立哪些存取路徑148
關(guān)系模式存取方法選擇(續(xù))DBMS常用存取方法索引方法目前主要是B+樹索引方法經(jīng)典存取方法,使用最普遍聚簇(Cluster)方法HASH方法149
一、索引存取方法的選擇根據(jù)應(yīng)用要求確定對(duì)哪些屬性列建立索引對(duì)哪些屬性列建立組合索引對(duì)哪些索引要設(shè)計(jì)為唯一索引150
索引存取方法的選擇(續(xù))選擇索引存取方法的一般規(guī)則如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引)如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引關(guān)系上定義的索引數(shù)過多會(huì)帶來較多的額外開銷維護(hù)索引的開銷查找索引的開銷151
二、聚簇存取方法的選擇聚簇為了提高某個(gè)屬性(或?qū)傩越M)的查詢速度,把這個(gè)或這些屬性(稱為聚簇碼)上具有相同值的元組集中存放在連續(xù)的物理塊稱為聚簇
152
聚簇存取方法的選擇(續(xù))聚簇的用途1.大大提高按聚簇碼進(jìn)行查詢的效率例:假設(shè)學(xué)生關(guān)系按所在系建有索引,現(xiàn)在要查詢信息系的所有學(xué)生名單。信息系的500名學(xué)生分布在500個(gè)不同的物理塊上時(shí),至少要執(zhí)行500次I/O操作如果將同一系的學(xué)生元組集中存放,則每讀一個(gè)物理塊可得到多個(gè)滿足查詢條件的元組,從而顯著地減少了訪問磁盤的次數(shù)153
聚簇存取方法的選擇(續(xù))2.節(jié)省存儲(chǔ)空間聚簇以后,聚簇碼相同的元組集中在一起了,因而聚簇碼值不必在每個(gè)元組中重復(fù)存儲(chǔ),只要在一組中存一次就行了154
聚簇存取方法的選擇(續(xù))聚簇的局限性1.聚簇只能提高某些特定應(yīng)用的性能2.建立與維護(hù)聚簇的開銷相當(dāng)大對(duì)已有關(guān)系建立聚簇,將導(dǎo)致關(guān)系中元組移動(dòng)其物理存儲(chǔ)位置,并使此關(guān)系上原有的索引無效,必須重建當(dāng)一個(gè)元組的聚簇碼改變時(shí),該元組的存儲(chǔ)位置也要做相應(yīng)移動(dòng)155
聚簇存取方法的選擇(續(xù))聚簇的適用范圍1.既適用于單個(gè)關(guān)系獨(dú)立聚簇,也適用于多個(gè)關(guān)系組合聚簇 例:假設(shè)用戶經(jīng)常要按系別查詢學(xué)生成績(jī)單,這一查詢涉及學(xué)生關(guān)系和選修關(guān)系的連接操作,即需要按學(xué)號(hào)連接這兩個(gè)關(guān)系,為提高連接操作的效率,可以把具有相同學(xué)號(hào)值的學(xué)生元組和選修元組在物理上聚簇在一起。這就相當(dāng)于把多個(gè)關(guān)系按“預(yù)連接”的形式存放,從而大大提高連接操作的效率。156
聚簇存取方法的選擇(續(xù))2.當(dāng)通過聚簇碼進(jìn)行訪問或連接是該關(guān)系的主要應(yīng)用,與聚簇碼無關(guān)的其他訪問很少或者是次要的時(shí),可以使用聚簇。尤其當(dāng)SQL語句中包含有與聚簇碼有關(guān)的ORDERBY,GROUPBY,UNION,DISTINCT等子句或短語時(shí),使用聚簇特別有利,可以省去對(duì)結(jié)果集的排序操作157
聚簇存取方法的選擇(續(xù))設(shè)計(jì)候選聚簇對(duì)經(jīng)常在一起進(jìn)行連接操作的關(guān)系可以建立聚簇如果一個(gè)關(guān)系的一組屬性經(jīng)常出現(xiàn)在相等比較條件中,則該單個(gè)關(guān)系可建立聚簇如果一個(gè)關(guān)系的一個(gè)(或一組)屬性上的值重復(fù)率很高,則此單個(gè)關(guān)系可建立聚簇。即對(duì)應(yīng)每個(gè)聚簇碼值的平均元組數(shù)不能太少。太少了,聚簇的效果不明顯158
聚簇存取方法的選擇(續(xù))優(yōu)化聚簇設(shè)計(jì)從聚簇中刪除經(jīng)常進(jìn)行全表掃描的關(guān)系;從聚簇中刪除更新操作遠(yuǎn)多于連接操作的關(guān)系;不同的聚簇中可能包含相同的關(guān)系,一個(gè)關(guān)系可以在某一個(gè)聚簇中,但不能同時(shí)加入多個(gè)聚簇從這多個(gè)聚簇方案(包括不建立聚簇)中選擇一個(gè)較優(yōu)的,即在這個(gè)聚簇上運(yùn)行各種事務(wù)的總代價(jià)最小159
三、HASH存取方法的選擇選擇HASH存取方法的規(guī)則當(dāng)一個(gè)關(guān)系滿足下列兩個(gè)條件時(shí),可以選擇HASH存取方法該關(guān)系的屬性主要出現(xiàn)在等值連接條件中或主要出現(xiàn)在相等比較選擇條件中該關(guān)系的大小可預(yù)知,而且不變;或該關(guān)系的大小動(dòng)態(tài)改變,但所選用的
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度特色苗木品種引種及種植合同4篇
- 二零二四事業(yè)單位合同制員工聘用合同模板3篇
- 2025年度航空安全檢查與培訓(xùn)服務(wù)合同4篇
- 2025年度電商虛擬貨幣交易安全協(xié)議合同3篇
- 2025年度城市更新項(xiàng)目電梯拆除及安裝一體化合同4篇
- 2025年度區(qū)塊鏈技術(shù)應(yīng)用開發(fā)合同示范文本4篇
- 2025年度個(gè)人抵押貸款信用保證合同規(guī)范4篇
- 二零二五年度企業(yè)年會(huì)特邀嘉賓簽約合同范本4篇
- 2025年度瓷磚行業(yè)標(biāo)準(zhǔn)化建設(shè)合同4篇
- 2025年農(nóng)場(chǎng)智能化養(yǎng)殖技術(shù)服務(wù)合同協(xié)議書4篇
- 電纜擠塑操作手冊(cè)
- 浙江寧波鄞州區(qū)市級(jí)名校2025屆中考生物全真模擬試卷含解析
- 2024-2025學(xué)年廣東省深圳市南山區(qū)監(jiān)測(cè)數(shù)學(xué)三年級(jí)第一學(xué)期期末學(xué)業(yè)水平測(cè)試試題含解析
- IATF16949基礎(chǔ)知識(shí)培訓(xùn)教材
- 【MOOC】大學(xué)生創(chuàng)新創(chuàng)業(yè)知能訓(xùn)練與指導(dǎo)-西北農(nóng)林科技大學(xué) 中國大學(xué)慕課MOOC答案
- 勞務(wù)派遣公司員工考核方案
- 基礎(chǔ)生態(tài)學(xué)-7種內(nèi)種間關(guān)系
- 2024年光伏農(nóng)田出租合同范本
- 《阻燃材料與技術(shù)》課件 第3講 阻燃基本理論
- 2024-2030年中國黃鱔市市場(chǎng)供需現(xiàn)狀與營銷渠道分析報(bào)告
- 新人教版九年級(jí)化學(xué)第三單元復(fù)習(xí)課件
評(píng)論
0/150
提交評(píng)論