




已閱讀5頁,還剩281頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第6章 數(shù)據(jù)庫設(shè)計(jì),6.1 數(shù)據(jù)庫設(shè)計(jì)的步驟 6.2 需求分析 6.3 概念結(jié)構(gòu)設(shè)計(jì) 6.4 邏輯結(jié)構(gòu)設(shè)計(jì) 6.5 數(shù)據(jù)庫的物理設(shè)計(jì) 6.6 數(shù)據(jù)庫實(shí)施 6.7 數(shù)據(jù)庫運(yùn)行與維護(hù),第6章 數(shù)據(jù)庫設(shè)計(jì),6.1 數(shù)據(jù)庫設(shè)計(jì)的步驟 6.2 需求分析 6.3 概念結(jié)構(gòu)設(shè)計(jì) 6.4 邏輯結(jié)構(gòu)設(shè)計(jì) 6.5 數(shù)據(jù)庫的物理設(shè)計(jì) 6.6 數(shù)據(jù)庫實(shí)施 6.7 數(shù)據(jù)庫運(yùn)行與維護(hù),6.1 數(shù)據(jù)庫設(shè)計(jì)的步驟,數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作 數(shù)據(jù)庫設(shè)計(jì)的過程,一、數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作,選定參加設(shè)計(jì)的人員 數(shù)據(jù)庫分析設(shè)計(jì)人員 用戶 程序員 操作員,數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作(續(xù)),1. 數(shù)據(jù)庫分析設(shè)計(jì)人員 數(shù)據(jù)庫設(shè)計(jì)的核心人員 自始至終參與數(shù)據(jù)庫設(shè)計(jì) 其水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量,數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作(續(xù)),2. 用戶 在數(shù)據(jù)庫設(shè)計(jì)中也是舉足輕重的 主要參加需求分析和數(shù)據(jù)庫的運(yùn)行維護(hù) 用戶積極參與帶來的好處 加速數(shù)據(jù)庫設(shè)計(jì) 提高數(shù)據(jù)庫設(shè)計(jì)的質(zhì)量,數(shù)據(jù)庫設(shè)計(jì)的準(zhǔn)備工作(續(xù)),3. 程序員 在系統(tǒng)實(shí)施階段參與進(jìn)來,負(fù)責(zé)編制程序 4. 操作員 在系統(tǒng)實(shí)施階段參與進(jìn)來,準(zhǔn)備軟硬件環(huán)境,二.數(shù)據(jù)庫設(shè)計(jì)的過程(六個(gè)階段),需求分析階段 概念結(jié)構(gòu)設(shè)計(jì)階段 邏輯結(jié)構(gòu)設(shè)計(jì)階段 數(shù)據(jù)庫物理設(shè)計(jì)階段 數(shù)據(jù)庫實(shí)施階段 數(shù)據(jù)庫運(yùn)行和維護(hù)階段,數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù)),需求分析階段 準(zhǔn)確了解與分析用戶需求(包括數(shù)據(jù)與處理) 是整個(gè)設(shè)計(jì)過程的基礎(chǔ),是最困難、最耗費(fèi)時(shí)間的一步,數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù)),概念結(jié)構(gòu)設(shè)計(jì)階段 是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵 通過對(duì)用戶需求進(jìn)行綜合、歸納與抽象,形成一個(gè)獨(dú)立于具體DBMS的概念模型,數(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ì)的過程(續(xù)),數(shù)據(jù)庫物理設(shè)計(jì)階段 為邏輯數(shù)據(jù)模型選取一個(gè)最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲(chǔ)結(jié)構(gòu)和存取方法),數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù)),數(shù)據(jù)庫實(shí)施階段 運(yùn)用DBMS提供的數(shù)據(jù)語言、工具及宿主語言,根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果 建立數(shù)據(jù)庫 編制與調(diào)試應(yīng)用程序 組織數(shù)據(jù)入庫 并進(jìn)行試運(yùn)行,數(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)整與修改。,數(shù)據(jù)庫設(shè)計(jì)的過程(續(xù)),設(shè)計(jì)一個(gè)完善的數(shù)據(jù)庫應(yīng)用系統(tǒng)往往是上述六個(gè)階段的不斷反復(fù)。 P184圖6-1,第6章 數(shù)據(jù)庫設(shè)計(jì),6.1 數(shù)據(jù)庫設(shè)計(jì)的步驟 6.2 需求分析 6.3 概念結(jié)構(gòu)設(shè)計(jì) 6.4 邏輯結(jié)構(gòu)設(shè)計(jì) 6.5 數(shù)據(jù)庫的物理設(shè)計(jì) 6.6 數(shù)據(jù)庫實(shí)施 6.7 數(shù)據(jù)庫運(yùn)行與維護(hù),6.2 需求分析,6.2.1 需求分析的任務(wù) 6.2.2 需求分析的方法 6.2.3 數(shù)據(jù)字典,需求分析(續(xù)),需求分析就是分析用戶的需要與要求 需求分析是設(shè)計(jì)數(shù)據(jù)庫的起點(diǎn) 需求分析的結(jié)果是否準(zhǔn)確地反映了用戶的實(shí)際要求,將直接影響到后面各個(gè)階段的設(shè)計(jì),并影響到設(shè)計(jì)結(jié)果是否合理和實(shí)用,6.2 需求分析,6.2.1 需求分析的任務(wù) 6.2.2 需求分析的方法 6.2.3 數(shù)據(jù)字典,6.2.1 需求分析的任務(wù),一、需求分析的任務(wù) 二、需求分析的重點(diǎn) 三、需求分析的難點(diǎn),一、需求分析的任務(wù),通過詳細(xì)調(diào)查現(xiàn)實(shí)世界要處理的對(duì)象(組織、部門、企業(yè)等),充分了解原系統(tǒng)(手工系統(tǒng)或計(jì)算機(jī)系統(tǒng))工作概況,明確用戶的各種需求 在此基礎(chǔ)上確定新系統(tǒng)的功能。新系統(tǒng)必須充分考慮今后可能的擴(kuò)充和改變,不能僅僅按當(dāng)前應(yīng)用需求來設(shè)計(jì)數(shù)據(jù)庫,二、需求分析的重點(diǎn),需求分析的重點(diǎn)是調(diào)查、收集與分析用戶在數(shù)據(jù)管理中的信息要求、處理要求、安全性與完整性要求。 信息要求 用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì) 由用戶的信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲(chǔ)哪些數(shù)據(jù),需求分析的重點(diǎn)(續(xù)),處理要求 對(duì)處理功能的要求 對(duì)處理的響應(yīng)時(shí)間的要求 對(duì)處理方式的要求(批處理 / 聯(lián)機(jī)處理) 新系統(tǒng)的功能必須能夠滿足用戶的信息要求、處理要求、安全性與完整性要求。,三、需求分析的難點(diǎn),確定用戶最終需求的難點(diǎn) 用戶缺少計(jì)算機(jī)知識(shí),開始時(shí)無法確定計(jì)算機(jī)究竟能為自己做什么,不能做什么,因此無法一下子準(zhǔn)確地表達(dá)自己的需求,他們所提出的需求往往不斷地變化。 設(shè)計(jì)人員缺少用戶的專業(yè)知識(shí),不易理解用戶的真正需求,甚至誤解用戶的需求。 新的硬件、軟件技術(shù)的出現(xiàn)也會(huì)使用戶需求發(fā)生變化。,需求分析的難點(diǎn)(續(xù)),解決方法 設(shè)計(jì)人員必須采用有效的方法,與用戶不斷深入地進(jìn)行交流,才能逐步得以確定用戶的實(shí)際需求,6.2 需求分析,6.2.1 需求分析的任務(wù) 6.2.2 需求分析的方法 6.2.3 數(shù)據(jù)字典,6.2.2 需求分析的方法,調(diào)查清楚用戶的實(shí)際需求并進(jìn)行初步分析 與用戶達(dá)成共識(shí) 進(jìn)一步分析與表達(dá)這些需求,一、 調(diào)查與初步分析用戶需求, 調(diào)查組織機(jī)構(gòu)情況 部門的組成情況 各部門的職責(zé)等,調(diào)查與初步分析用戶需求(續(xù)), 調(diào)查各部門的業(yè)務(wù)活動(dòng)情況。調(diào)查重點(diǎn)之一。 各個(gè)部門輸入和使用什么數(shù)據(jù) 如何加工處理這些數(shù)據(jù) 輸出什么信息 輸出到什么部門 輸出結(jié)果的格式是什么,調(diào)查與初步分析用戶需求(續(xù)), 在熟悉業(yè)務(wù)活動(dòng)的基礎(chǔ)上,協(xié)助用戶明確對(duì)新系統(tǒng)的各種要求。調(diào)查重點(diǎn)之二。 信息要求 處理要求 完全性與完整性要求,調(diào)查與初步分析用戶需求(續(xù)), 對(duì)前面調(diào)查的結(jié)果進(jìn)行初步分析 確定新系統(tǒng)的邊界 確定哪些功能由計(jì)算機(jī)完成或?qū)頊?zhǔn)備讓計(jì)算機(jī)完成 確定哪些活動(dòng)由人工完成 由計(jì)算機(jī)完成的功能就是新系統(tǒng)應(yīng)該實(shí)現(xiàn)的功能。,二、常用調(diào)查方法,做需求調(diào)查時(shí),往往需要同時(shí)采用多種方法 無論使用何種調(diào)查方法,都必須有用戶的積極參與和配合 設(shè)計(jì)人員應(yīng)該和用戶取得共同的語言,幫助不熟悉計(jì)算機(jī)的用戶建立數(shù)據(jù)庫環(huán)境下的共同概念,并對(duì)設(shè)計(jì)工作的最后結(jié)果共同承擔(dān)責(zé)任,常用調(diào)查方法(續(xù)),常用調(diào)查方法 跟班作業(yè) 通過親身參加業(yè)務(wù)工作了解業(yè)務(wù)活動(dòng)的情況 能比較準(zhǔn)確地理解用戶的需求,但比較耗時(shí) 開調(diào)查會(huì) 通過與用戶座談來了解業(yè)務(wù)活動(dòng)情況及用戶需求 請(qǐng)專人介紹,常用調(diào)查方法(續(xù)),詢問 對(duì)某些調(diào)查中的問題,可以找專人詢問 設(shè)計(jì)調(diào)查表請(qǐng)用戶填寫 如果調(diào)查表設(shè)計(jì)合理,則很有效,且易于為用戶接受 查閱記錄 查閱與原系統(tǒng)有關(guān)的數(shù)據(jù)記錄,三、進(jìn)一步分析和表達(dá)用戶需求,分析和表達(dá)用戶的需求的常用方法 自頂向下的結(jié)構(gòu)化分析方法(Structured Analysis,簡稱SA方法) SA方法從最上層的系統(tǒng)組織機(jī)構(gòu)入手,采用逐層分解的方式分析系統(tǒng),并用數(shù)據(jù)流圖和數(shù)據(jù)字典描述系統(tǒng)。,進(jìn)一步分析和表達(dá)用戶需求(續(xù)),1首先把任何一個(gè)系統(tǒng)都抽象為:,進(jìn)一步分析和表達(dá)用戶需求(續(xù)),2分解處理功能和數(shù)據(jù) (1)分解處理功能 將處理功能的具體內(nèi)容分解為若干子功能,再將每個(gè)子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達(dá)清楚為止。 (2)分解數(shù)據(jù) 在處理功能逐步分解的同時(shí),其所用的數(shù)據(jù)也逐級(jí)分解,形成若干層次的數(shù)據(jù)流圖 數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系,進(jìn)一步分析和表達(dá)用戶需求(續(xù)),(3)表達(dá)方法 處理過程:用判定表或判定樹來描述 數(shù)據(jù):用數(shù)據(jù)字典來描述,進(jìn)一步分析和表達(dá)用戶需求(續(xù)),3將分析結(jié)果再次提交給用戶,征得用戶的認(rèn)可,四、需求分析小結(jié),P187圖6-4,需求分析小結(jié)(續(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ù)流圖。,6.2 需求分析,6.2.1 需求分析的任務(wù) 6.2.2 需求分析的方法 6.2.3 數(shù)據(jù)字典,6.2.3 數(shù)據(jù)字典,一、數(shù)據(jù)字典的用途 二、數(shù)據(jù)字典的內(nèi)容,一、數(shù)據(jù)字典的用途,數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合 數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果 數(shù)據(jù)字典在數(shù)據(jù)庫設(shè)計(jì)中占有很重要的地位,二、數(shù)據(jù)字典的內(nèi)容,數(shù)據(jù)字典的內(nèi)容 數(shù)據(jù)項(xiàng) 數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)流 數(shù)據(jù)存儲(chǔ) 處理過程 數(shù)據(jù)項(xiàng)是數(shù)據(jù)的最小組成單位 若干個(gè)數(shù)據(jù)項(xiàng)可以組成一個(gè)數(shù)據(jù)結(jié)構(gòu) 數(shù)據(jù)字典通過對(duì)數(shù)據(jù)項(xiàng)和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲(chǔ)的邏輯內(nèi)容。, 數(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ù)類型,長度,取值范圍, 取值含義,與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系 取值范圍、與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系定義了數(shù)據(jù)的完整性約束條件, 數(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), 數(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), 平均流量,高峰期流量 數(shù)據(jù)流來源是說明該數(shù)據(jù)流來自哪個(gè)過程 數(shù)據(jù)流去向是說明該數(shù)據(jù)流將到哪個(gè)過程去 平均流量是指在單位時(shí)間(每天、每周、每月等)里的傳輸次數(shù) 高峰期流量則是指在高峰時(shí)期的數(shù)據(jù)流量, 數(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ù)量,存取方式 流入的數(shù)據(jù)流:指出數(shù)據(jù)來源 流出的數(shù)據(jù)流:指出數(shù)據(jù)去向 數(shù)據(jù)量:每次存取多少數(shù)據(jù),每天(或每小時(shí)、每周等)存取幾次等信息 存取方法:批處理 / 聯(lián)機(jī)處理;檢索 / 更新;順序檢索 / 隨機(jī)檢索, 處理過程,處理過程的具體處理邏輯一般用判定表或判定樹來描述。數(shù)據(jù)字典中只需要描述處理過程的說明性信息 處理過程說明性信息的描述 處理過程描述處理過程名,說明, 輸入:數(shù)據(jù)流,輸出:數(shù)據(jù)流, 處理:簡要說明,處理過程(續(xù)),簡要說明:主要說明該處理過程的功能及處理要求 功能:該處理過程用來做什么 處理要求:處理頻度要求(如單位時(shí)間里處理多少事務(wù),多少數(shù)據(jù)量);響應(yīng)時(shí)間要求等 處理要求是后面物理設(shè)計(jì)的輸入及性能評(píng)價(jià)的標(biāo)準(zhǔn),處理過程(續(xù)),例:學(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) 類型: 字符型 長度: 8 取值范圍:00000000至99999999 取值含義:前兩位標(biāo)別該學(xué)生所在年級(jí), 后六位按順序編號(hào) 與其他數(shù)據(jù)項(xiàng)的邏輯關(guān)系:,處理過程(續(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í),處理過程(續(xù)),數(shù)據(jù)流“體檢結(jié)果”可如下描述: 數(shù)據(jù)流: 體檢結(jié)果 說明: 學(xué)生參加體格檢查的最終結(jié)果 數(shù)據(jù)流來源:體檢 數(shù)據(jù)流去向:批準(zhǔn) 組成: 平均流量: 高峰期流量:,處理過程(續(xù)),數(shù)據(jù)存儲(chǔ)“學(xué)生登記表”可如下描述: 數(shù)據(jù)存儲(chǔ): 學(xué)生登記表 說明: 記錄學(xué)生的基本情況 流入數(shù)據(jù)流: 流出數(shù)據(jù)流: 組成: 數(shù)據(jù)量: 每年3000張 存取方式: 隨機(jī)存取,處理過程(續(xù)),處理過程“分配宿舍”可如下描述: 處理過程:分配宿舍 說明: 為所有新生分配學(xué)生宿舍 輸入: 學(xué)生,宿舍, 輸出: 宿舍安排 處理: 在新生報(bào)到后,為所有新生分配學(xué) 生宿舍。要求同一間宿舍只能安排 同一性別的學(xué)生,同一個(gè)學(xué)生只能 安排在一個(gè)宿舍中。每個(gè)學(xué)生的居 住面積不小于3平方米。安排新生 宿舍其處理時(shí)間應(yīng)不超過15分鐘。,第6章 數(shù)據(jù)庫設(shè)計(jì),6.1 數(shù)據(jù)庫設(shè)計(jì)的步驟 6.2 需求分析 6.3 概念結(jié)構(gòu)設(shè)計(jì) 6.4 邏輯結(jié)構(gòu)設(shè)計(jì) 6.5 數(shù)據(jù)庫的物理設(shè)計(jì) 6.6 數(shù)據(jù)庫實(shí)施 6.7 數(shù)據(jù)庫運(yùn)行與維護(hù),6.3 概念結(jié)構(gòu)設(shè)計(jì),什么是概念結(jié)構(gòu)設(shè)計(jì) 需求分析階段描述的用戶應(yīng)用需求是現(xiàn)實(shí)世界的具體需求 將需求分析得到的用戶需求抽象為信息結(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)鍵,概念結(jié)構(gòu)設(shè)計(jì)(續(xù)),概念結(jié)構(gòu)設(shè)計(jì)(續(xù)),概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn) (1)能真實(shí)、充分地反映現(xiàn)實(shí)世界,包括事物和事物之間的聯(lián)系,能滿足用戶對(duì)數(shù)據(jù)的處理要求。是對(duì)現(xiàn)實(shí)世界的一個(gè)真實(shí)模型。 (2)易于理解,從而可以用它和不熟悉計(jì)算機(jī)的用戶交換意見,用戶的積極參與是數(shù)據(jù)庫的設(shè)計(jì)成功的關(guān)鍵。,概念結(jié)構(gòu)設(shè)計(jì)(續(xù)),概念結(jié)構(gòu)設(shè)計(jì)的特點(diǎn)(續(xù)) (3)易于更改,當(dāng)應(yīng)用環(huán)境和應(yīng)用要求改變時(shí),容易對(duì)概念模型修改和擴(kuò)充。 (4)易于向關(guān)系、網(wǎng)狀、層次等各種數(shù)據(jù)模型轉(zhuǎn)換。,概念結(jié)構(gòu)設(shè)計(jì)(續(xù)),描述概念模型的工具 E-R模型,6.3 概念結(jié)構(gòu)設(shè)計(jì),6.3.1 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟 6.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì) 6.3.3 視圖的集成,6.3 概念結(jié)構(gòu)設(shè)計(jì),6.3.1 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟 6.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì) 6.3.3 視圖的集成,6.3.1 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟,設(shè)計(jì)概念結(jié)構(gòu)的四類方法 自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化,概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),自頂向下策略,概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),設(shè)計(jì)概念結(jié)構(gòu)的四類方法(續(xù)) 自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成起來,得到全局概念結(jié)構(gòu),概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),自底向上策略,概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),逐步擴(kuò)張 首先定義最重要的核心概念結(jié)構(gòu),然后向外擴(kuò)充,以滾雪球的方式逐步生成其他概念結(jié)構(gòu),直至總體概念結(jié)構(gòu) 混合策略 將自頂向下和自底向上相結(jié)合,用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu)。,概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),逐步擴(kuò)張,概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),常用策略 自頂向下地進(jìn)行需求分析 自底向上地設(shè)計(jì)概念結(jié)構(gòu),概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟(續(xù)),自底向上設(shè)計(jì)概念結(jié)構(gòu)的步驟 第1步:抽象數(shù)據(jù)并設(shè)計(jì)局部視圖 第2步:集成局部視圖,得到全局概念結(jié)構(gòu),6.3 概念結(jié)構(gòu)設(shè)計(jì),6.3.1 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟 6.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì) 6.3.3 視圖的集成,6.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì),數(shù)據(jù)抽象 局部視圖設(shè)計(jì),一、數(shù)據(jù)抽象,概念結(jié)構(gòu)是對(duì)現(xiàn)實(shí)世界的一種抽象 從實(shí)際的人、物、事和概念中抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié) 把這些特性用各種概念精確地加以描述 這些概念組成了某種模型,數(shù)據(jù)抽象(續(xù)),三種常用抽象 1. 分類(Classification) 定義某一類概念作為現(xiàn)實(shí)世界中一組對(duì)象的類型 這些對(duì)象具有某些共同的特性和行為 它抽象了對(duì)象值和型之間的“is member of”的語義 在E-R模型中,實(shí)體型就是這種抽象,例:,數(shù)據(jù)抽象(續(xù)),2. 聚集(Aggregation) 定義某一類型的組成成分 它抽象了對(duì)象內(nèi)部類型和成分之間“is part of”的語義 在E-R模型中若干屬性的聚集組成了實(shí)體型,就是這種抽象,例:,數(shù)據(jù)抽象(續(xù)),3. 概括(Generalization) 定義類型之間的一種子集聯(lián)系 它抽象了類型之間的“is subset of”的語義 概括有一個(gè)很重要的性質(zhì):繼承性。子類繼承超類上定義的所有抽象。,例:,數(shù)據(jù)抽象(續(xù)),注:原E-R模型不具有概括,本書對(duì)E-R模型作了擴(kuò)充,允許定義超類實(shí)體型和子類實(shí)體型。 用雙豎邊的矩形框表示子類, 用直線加小圓圈表示超類-子類的聯(lián)系,數(shù)據(jù)抽象(續(xù)),數(shù)據(jù)抽象的用途 對(duì)需求分析階段收集到的數(shù)據(jù)進(jìn)行分類、組織(聚集),形成 實(shí)體 實(shí)體的屬性,標(biāo)識(shí)實(shí)體的碼 確定實(shí)體之間的聯(lián)系類型(1:1,1:n,m:n),二、局部視圖設(shè)計(jì),設(shè)計(jì)分E-R圖的步驟: 選擇局部應(yīng)用 逐一設(shè)計(jì)分E-R圖, 選擇局部應(yīng)用,需求分析階段,已用多層數(shù)據(jù)流圖和數(shù)據(jù)字典描述了整個(gè)系統(tǒng)。 設(shè)計(jì)分E-R圖首先需要根據(jù)系統(tǒng)的具體情況,在多層的數(shù)據(jù)流圖中選擇一個(gè)適當(dāng)層次的數(shù)據(jù)流圖,讓這組圖中每一部分對(duì)應(yīng)一個(gè)局部應(yīng)用,然后以這一層次的數(shù)據(jù)流圖為出發(fā)點(diǎn),設(shè)計(jì)分E-R圖。,選擇局部應(yīng)用(續(xù)),通常以中層數(shù)據(jù)流圖作為設(shè)計(jì)分E-R圖的依據(jù)。原因: 高層數(shù)據(jù)流圖只能反映系統(tǒng)的概貌 中層數(shù)據(jù)流圖能較好地反映系統(tǒng)中各局部應(yīng)用的子系統(tǒng)組成 低層數(shù)據(jù)流圖過細(xì),選擇局部應(yīng)用(續(xù)),例:由于學(xué)籍管理、課程管理等都不太復(fù)雜,因此可以它們?nèi)胧衷O(shè)計(jì)學(xué)生管理子系統(tǒng)的分E-R圖。如果局部應(yīng)用比較復(fù)雜,則可以從更下層的數(shù)據(jù)流圖入手。, 逐一設(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),逐一設(shè)計(jì)分E-R圖(續(xù)),如何抽象實(shí)體和屬性 實(shí)體:現(xiàn)實(shí)世界中一組具有某些共同特性和行為的對(duì)象就可以抽象為一個(gè)實(shí)體。對(duì)象和實(shí)體之間是“is member of“的關(guān)系。 例:在學(xué)校環(huán)境中,可把張三、李四等對(duì)象抽象為學(xué)生實(shí)體。,逐一設(shè)計(jì)分E-R圖(續(xù)),屬性:對(duì)象類型的組成成分可以抽象為實(shí)體的屬性。組成成分與對(duì)象類型之間是“is part of“的關(guān)系。 例:學(xué)號(hào)、姓名、專業(yè)、年級(jí)等可以抽象為學(xué)生實(shí)體的屬性。其中學(xué)號(hào)為標(biāo)識(shí)學(xué)生實(shí)體的碼。,逐一設(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í)體了。,逐一設(shè)計(jì)分E-R圖(續(xù)),一般原則 屬性不能再具有需要描述的性質(zhì)。即屬性必須是不可分的數(shù)據(jù)項(xiàng),不能再由另一些屬性組成。 屬性不能與其他實(shí)體具有聯(lián)系。聯(lián)系只發(fā)生在實(shí)體之間。 符合上述兩條特性的事物一般作為屬性對(duì)待。 為了簡化E-R圖的處置,現(xiàn)實(shí)世界中的事物凡能夠作為屬性對(duì)待的,應(yīng)盡量作為屬性。,逐一設(shè)計(jì)分E-R圖(續(xù)),舉例 例1:“學(xué)生”由學(xué)號(hào)、姓名等屬性進(jìn)一步描述,根據(jù)準(zhǔn)則,“學(xué)生”只能作為實(shí)體,不能作為屬性。 例2:職稱通常作為教師實(shí)體的屬性,但在涉及住房分配時(shí),由于分房與職稱有關(guān),也就是說職稱與住房實(shí)體之間有聯(lián)系,根據(jù)準(zhǔn)則,這時(shí)把職稱作為實(shí)體來處理會(huì)更合適些。,逐一設(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)整。,逐一設(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)系。,逐一設(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)系。 學(xué)籍管理局部應(yīng)用的分E-R圖草圖:,逐一設(shè)計(jì)分E-R圖(續(xù)),接下來需要進(jìn)一步斟酌該E-R圖,做適當(dāng)調(diào)整。 (1) 在一般情況下,性別通常作為學(xué)生實(shí)體的屬性,但在本局部應(yīng)用中,由于宿舍分配與學(xué)生性別有關(guān),根據(jù)準(zhǔn)則,應(yīng)該把性別作為實(shí)體對(duì)待。 (2) 數(shù)據(jù)存儲(chǔ)“學(xué)生登記表”,由于是手工填寫,供存檔使用,其中有用的部分已轉(zhuǎn)入學(xué)生檔案材料中,因此這里就不必作為實(shí)體了。 最后得到學(xué)籍管理局部應(yīng)用的分E-R圖:,逐一設(shè)計(jì)分E-R圖(續(xù)),學(xué)籍管理E-R圖中省略了各個(gè)實(shí)體的屬性描述: 學(xué)生:學(xué)號(hào),姓名,出生日期 性別:性別 檔案材料:檔案號(hào), 班級(jí):班級(jí)號(hào),學(xué)生人數(shù) 班主任:職工號(hào),姓名,性別, 是否為優(yōu)秀班主任 宿舍:宿舍編號(hào),地址,人數(shù) 其中有下劃線的屬性為實(shí)體的碼。,逐一設(shè)計(jì)分E-R圖(續(xù)),同樣方法可以得到課程管理局部應(yīng)用的分E-R圖 各實(shí)體的屬性分別為: 學(xué)生:姓名,學(xué)號(hào),性別,年齡,所在系, 年級(jí),平均成績 課程:課程號(hào),課程名,學(xué)分 教師:職工號(hào),姓名,性別,職稱 教科書:書號(hào),書名,價(jià)錢 教室:教室編號(hào),地址,容量,6.3 概念結(jié)構(gòu)設(shè)計(jì),6.3.1 概念結(jié)構(gòu)設(shè)計(jì)的方法與步驟 6.3.2 數(shù)據(jù)抽象與局部視圖設(shè)計(jì) 6.3.3 視圖的集成,6.3.4 視圖的集成,各個(gè)局部視圖即分E-R圖建立好后,還需要對(duì)它們進(jìn)行合并,集成為一個(gè)整體的數(shù)據(jù)概念結(jié)構(gòu)即總E-R圖。,視圖的集成(續(xù)),視圖集成的兩種方式 一次集成(圖6.25(a)) 一次集成多個(gè)分E-R圖 通常用于局部視圖比較簡單時(shí) 逐步累積式(圖6.25(b)) 首先集成兩個(gè)局部視圖(通常是比較關(guān)鍵的兩個(gè)局部視圖) 以后每次將一個(gè)新的局部視圖集成進(jìn)來,視圖的集成(續(xù)),集成局部E-R圖的步驟 1. 合并 2. 修改與重構(gòu),視圖的集成(續(xù)),一、合并分E-R圖,生成初步E-R圖,各分圖存在沖突 各個(gè)局部應(yīng)用所面向的問題不同 由不同的設(shè)計(jì)人員進(jìn)行設(shè)計(jì) 各個(gè)分E-R圖之間必定會(huì)存在許多不一致的地方 合并分E-R圖的主要工作與關(guān)鍵所在:合理消除各分E-R圖的沖突,合并分E-R圖,生成初步E-R圖(續(xù)),沖突的種類 屬性沖突 命名沖突 結(jié)構(gòu)沖突, 屬性沖突,兩類屬性沖突 屬性域沖突:屬性值的類型、取值范圍或取值集合不同。 例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é)生的年齡。,屬性沖突(續(xù)),屬性取值單位沖突。 例:學(xué)生的身高,有的以米為單位,有的以厘米為單位,有的以尺為單位。,屬性沖突(續(xù)),屬性沖突的解決方法 通常用討論、協(xié)商等行政手段加以解決, 命名沖突,兩類命名沖突 同名異義:不同意義的對(duì)象在不同的局部應(yīng)用中具有相同的名字 例,局部應(yīng)用A中將教室稱為房間 局部應(yīng)用B中將學(xué)生宿舍稱為房間 異名同義(一義多名):同一意義的對(duì)象在不同的局部應(yīng)用中具有不同的名字 例,有的部門把教科書稱為課本 有的部門則把教科書稱為教材,命名沖突(續(xù)),命名沖突可能發(fā)生在屬性級(jí)、實(shí)體級(jí)、聯(lián)系級(jí)上。其中屬性的命名沖突更為常見。 命名沖突的解決方法 通過討論、協(xié)商等行政手段加以解決, 結(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)則。,結(jié)構(gòu)沖突(續(xù)),同一實(shí)體在不同局部視圖中所包含的屬性不完全相同,或者屬性的排列次序不完全相同。 產(chǎn)生原因:不同的局部應(yīng)用關(guān)心的是該實(shí)體的不同側(cè)面。 解決方法:使該實(shí)體的屬性取各分E-R圖中屬性的并集,再適當(dāng)設(shè)計(jì)屬性的次序。,結(jié)構(gòu)沖突(續(xù)),學(xué)生,學(xué)號(hào),姓名,性別,平均成績,(a)在局部應(yīng)用A中,結(jié)構(gòu)沖突(續(xù)),學(xué)生,學(xué)號(hào),姓名,出生日期,年級(jí),(b)在局部應(yīng)用B中,所在系,結(jié)構(gòu)沖突(續(xù)),學(xué)生,學(xué)號(hào),姓名,政治面貌,(c)在局部應(yīng)用C中,結(jié)構(gòu)沖突(續(xù)),學(xué)生,政治 面貌,學(xué)號(hào),出生 日期,年級(jí),(d)合并后,所在系,平均 成績,姓名,性別,結(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)整。,合并分E-R圖,生成初步E-R圖實(shí)例,例:生成學(xué)校管理系統(tǒng)的初步E-R圖 以合并學(xué)籍管理局部視圖, 課程管理局部視圖為例 這兩個(gè)分E-R圖存在著多方面的沖突:,合并分E-R圖,生成初步E-R圖實(shí)例,(1) 班主任實(shí)際上也屬于教師,也就是說學(xué)籍管理中的班主任實(shí)體與課程管理中的教師實(shí)體在一定程度上屬于異名同義,可以應(yīng)將學(xué)籍管理中的班主任實(shí)體與課程管理中的教師實(shí)體統(tǒng)一稱為教師,統(tǒng)一后教師實(shí)體的屬性構(gòu)成為: 教師:職工號(hào),姓名,性別,職稱, 是否為優(yōu)秀班主任,合并分E-R圖,生成初步E-R圖實(shí)例(續(xù)),(2) 將班主任改為教師后,教師與學(xué)生之間的聯(lián)系在兩個(gè)局部視圖中呈現(xiàn)兩種不同的類型,一種是學(xué)籍管理中教師與學(xué)生之間的指導(dǎo)聯(lián)系,一種是課程管理中教師與學(xué)生之間的教學(xué)聯(lián)系,由于指導(dǎo)聯(lián)系實(shí)際上可以包含在教學(xué)聯(lián)系之中,因此可以將這兩種聯(lián)系綜合為教學(xué)聯(lián)系。,合并分E-R圖,生成初步E-R圖實(shí)例(續(xù)),(3) 性別在兩個(gè)局部應(yīng)用中具有不同的抽象,它在學(xué)籍管理中為實(shí)體,在課程管理中為屬性,按照前面提到的兩個(gè)原則,在合并后的E-R圖中性別只能作為實(shí)體,否則它無法與宿舍實(shí)體發(fā)生聯(lián)系。,合并分E-R圖,生成初步E-R圖實(shí)例(續(xù)),(4) 在兩個(gè)局部E-R圖中,學(xué)生實(shí)體屬性組成及次序都存在差異,應(yīng)將所有屬性綜合,并重新調(diào)整次序。假設(shè)調(diào)整結(jié)果為: 學(xué)生:學(xué)號(hào),姓名,出生日期,年齡,所在系,年級(jí),平均成績 解決上述沖突后,學(xué)籍管理分E-R圖與課程管理分E-R圖合并為學(xué)生管理子系統(tǒng)的初步E-R圖,二、修改與重構(gòu),基本任務(wù) 消除不必要的冗余,設(shè)計(jì)生成基本E-R圖,修改與重構(gòu)(續(xù)),1冗余 2消除冗余的方法,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ù)增加困難 并不是所有的冗余數(shù)據(jù)與冗余聯(lián)系都必須加以消除,有時(shí)為了提高某些應(yīng)用的效率,不得不以冗余信息作為代價(jià)。,冗余(續(xù)),設(shè)計(jì)數(shù)據(jù)庫概念結(jié)構(gòu)時(shí),哪些冗余信息必須消除,哪些冗余信息允許存在,需要根據(jù)用戶的整體需求來確定。 消除不必要的冗余后的初步E-R圖稱為基本E-R圖。,2消除冗余的方法,分析方法 以數(shù)據(jù)字典和數(shù)據(jù)流圖為依據(jù),根據(jù)數(shù)據(jù)字典中關(guān)于數(shù)據(jù)項(xiàng)之間邏輯關(guān)系的說明來消除冗余。,消除冗余的方法(續(xù)),例,教師工資單中包括該教師的基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)以及實(shí)發(fā)工資。 由于實(shí)發(fā)工資可以由前面各項(xiàng)推算出來,因此可以去掉,在需要查詢實(shí)發(fā)工資時(shí)根據(jù)基本工資、各種補(bǔ)貼、應(yīng)扣除的房租水電費(fèi)數(shù)據(jù)臨時(shí)生成。,消除冗余的方法(續(xù)),如果是為了提高效率,人為地保留了一些冗余數(shù)據(jù),則應(yīng)把數(shù)據(jù)字典中數(shù)據(jù)關(guān)聯(lián)的說明作為完整性約束條件。 一種更好的方法是把冗余數(shù)據(jù)定義在視圖中,消除冗余的方法(續(xù)),規(guī)范化理論 函數(shù)依賴的概念提供了消除冗余聯(lián)系的形式化工具,消除冗余的方法(續(xù)),方法 1. 確定分E-R圖實(shí)體之間的數(shù)據(jù)依賴FL 。實(shí)體之間一對(duì)一、一對(duì)多、多對(duì)多的聯(lián)系可以用實(shí)體碼之間的函數(shù)依賴來表示。 例: 班級(jí)和學(xué)生之間一對(duì)多的聯(lián)系: 學(xué)號(hào)班級(jí)號(hào) 學(xué)生和課程之間多對(duì)多的聯(lián)系: (學(xué)號(hào),課程號(hào)) 成績,消除冗余的方法(續(xù)),2. 求FL的最小覆蓋GL ,差集為 D = FL-GL。 逐一考察D中的函數(shù)依賴,確定是否是冗余的聯(lián)系,若是,就把它去掉。,消除冗余的方法(續(xù)),由于規(guī)范化理論受到泛關(guān)系假設(shè)的限制,應(yīng)注意下面兩個(gè)問題: 1.冗余的聯(lián)系一定在D中,而D中的聯(lián)系不一定是冗余的; 2.當(dāng)實(shí)體之間存在多種聯(lián)系時(shí)要將實(shí)體之間的聯(lián)系在形式上加以區(qū)分。 例P229圖6.30中 部門和職工之間兩種聯(lián)系表示為: 負(fù)責(zé)人.職工號(hào)部門號(hào) 部門號(hào)負(fù)責(zé)人.職工號(hào),泛關(guān)系假設(shè),假設(shè)存在著一個(gè)單一的關(guān)系模式 “假設(shè)已知一個(gè)模式S,它僅由單個(gè)關(guān)系模式組成,問題是要設(shè)計(jì)一個(gè)模式SD,它與S等價(jià),但在某些方面更好一些” 從一個(gè)關(guān)系模式出發(fā),而不是從一組關(guān)系模式出發(fā)實(shí)行分解 “等價(jià)”的定義也是一組關(guān)系模式與一個(gè)關(guān)系模式的“等價(jià)”,泛關(guān)系假設(shè)(續(xù)),泛關(guān)系假設(shè)是運(yùn)用規(guī)范化理論時(shí)的障礙 承認(rèn)了泛關(guān)系假設(shè),就等于承認(rèn)了現(xiàn)實(shí)世界各實(shí)體間只能有一種聯(lián)系,消除冗余,設(shè)計(jì)生成基本E-R圖實(shí)例,教程198圖6-16的初步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í),平均成績,消除冗余,設(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)系,可以消去。,消除冗余,設(shè)計(jì)生成基本E-R圖實(shí)例(續(xù)),(3) 學(xué)生實(shí)體中的平均成績可以從選修聯(lián)系中的成績屬性中推算出來 由于應(yīng)用中需要經(jīng)常查詢某個(gè)學(xué)生的平均成績,每次都進(jìn)行這種計(jì)算效率就會(huì)太低,因此為提高效率,保留該冗余數(shù)據(jù) 但定義一個(gè)觸發(fā)器來保證學(xué)生的平均成績等于該學(xué)生各科成績的平均值。 任何一科成績修改后,或該學(xué)生學(xué)了新的科目并有成績后,就觸發(fā)該觸發(fā)器去修改該學(xué)生的平均成績屬性值。,學(xué)生管理子系統(tǒng)初步E-R圖:,修改重構(gòu)后的基本E-R圖:,消除冗余,設(shè)計(jì)生成基本E-R圖實(shí)例(續(xù)),學(xué)生管理子系統(tǒng)的基本E-R圖與教師管理子系統(tǒng)以及后勤管理子系統(tǒng)的基本E-R圖合并后,生成整個(gè)學(xué)校管理系統(tǒng)的基本E-R圖,三、驗(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)能滿足需要分析階段所確定的所有要求。,驗(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ù)。,數(shù)據(jù)庫設(shè)計(jì),數(shù)據(jù)庫的設(shè)計(jì)過程 需求分析 概念結(jié)構(gòu)設(shè)計(jì) 邏輯結(jié)構(gòu)設(shè)計(jì) 物理數(shù)據(jù)庫設(shè)計(jì) 實(shí)施 運(yùn)行維護(hù) 設(shè)計(jì)過程中往往還會(huì)有許多反復(fù)。,概念結(jié)構(gòu)設(shè)計(jì)小結(jié),什么是概念結(jié)構(gòu)設(shè)計(jì),概念結(jié)構(gòu)設(shè)計(jì)小結(jié),概念結(jié)構(gòu)設(shè)計(jì)的步驟 抽象數(shù)據(jù)并設(shè)計(jì)局部視圖 集成局部視圖,得到全局概念結(jié)構(gòu) 驗(yàn)證整體概念結(jié)構(gòu),概念結(jié)構(gòu)設(shè)計(jì)小結(jié),數(shù)據(jù)抽象 分類 聚集 概括,概念結(jié)構(gòu)設(shè)計(jì)小結(jié),設(shè)計(jì)局部視圖 選擇局部應(yīng)用 逐一設(shè)計(jì)分E-R圖 標(biāo)定局部應(yīng)用中的實(shí)體、屬性、碼,實(shí)體間的聯(lián)系 用E-R圖描述出來,概念結(jié)構(gòu)設(shè)計(jì)小結(jié),集成局部視圖 1.合并分E-R圖,生成初步E-R圖 消除沖突 屬性沖突 命名沖突 結(jié)構(gòu)沖突 2. 修改與重構(gòu) 消除不必要的冗余,設(shè)計(jì)生成基本E-R圖 分析方法 規(guī)范化理論,第6章 數(shù)據(jù)庫設(shè)計(jì),6.1 數(shù)據(jù)庫設(shè)計(jì)的步驟 6.2 需求分析 6.3 概念結(jié)構(gòu)設(shè)計(jì) 6.4 邏輯結(jié)構(gòu)設(shè)計(jì) 6.5 數(shù)據(jù)庫的物理設(shè)計(jì) 6.6 數(shù)據(jù)庫實(shí)施 6.7 數(shù)據(jù)庫運(yùn)行與維護(hù),6.4 邏輯結(jié)構(gòu)設(shè)計(jì),邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù) 概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ) 為了能夠用某一DBMS實(shí)現(xiàn)用戶需求,還必須將概念結(jié)構(gòu)進(jìn)一步轉(zhuǎn)化為相應(yīng)的數(shù)據(jù)模型,這正是數(shù)據(jù)庫邏輯結(jié)構(gòu)設(shè)計(jì)所要完成的任務(wù)。,6.4 邏輯結(jié)構(gòu)設(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)化,6.4 邏輯結(jié)構(gòu)設(shè)計(jì),6.4.1 E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換 6.4.2 數(shù)據(jù)模型的優(yōu)化 6.4.3 設(shè)計(jì)用戶子模式,6.4 邏輯結(jié)構(gòu)設(shè)計(jì),6.4.1 E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換 6.4.2 數(shù)據(jù)模型的優(yōu)化 6.4.3 設(shè)計(jì)用戶子模式,6.4.1 E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換,只介紹向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)換 轉(zhuǎn)換內(nèi)容 轉(zhuǎn)換原則,E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換(續(xù)),轉(zhuǎn)換內(nèi)容 E-R圖由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成 關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合 將E-R圖轉(zhuǎn)換為關(guān)系模型:將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),轉(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í)、檔案材料、教師、課程、教室、教科書都分別轉(zhuǎn)換為一個(gè)關(guān)系模式。,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 一個(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),成績),E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。 1) 轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式 關(guān)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的碼:n端實(shí)體的碼,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 一個(gè)1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與n端對(duì)應(yīng)的關(guān)系模式合并。 2) 與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ù)),例,“組成”聯(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),平均成績),E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 一個(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)系的屬性:與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性 關(guān)系的候選碼:每個(gè)實(shí)體的碼均是該關(guān)系的候選碼,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 一個(gè)1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guā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ù)),例,“管理”聯(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ù)),注意: 從理論上講,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)系合并更好些。,new,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 三個(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ù)), 同一實(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),姓名,性別,職稱,系主任,new,E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)), 具有相同碼的關(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ù)),例,“擁有”關(guān)系模式: 擁有(學(xué)號(hào),性別) 與學(xué)生關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,出生日期,所在系,年級(jí), 班級(jí)號(hào),平均成績) 都以學(xué)號(hào)為碼,可以將它們合并為一個(gè)關(guān)系模式: 學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系, 年級(jí),班級(jí)號(hào),平均成績),E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),實(shí)例 按照上述七條原則,學(xué)生管理子系統(tǒng)中的18個(gè)實(shí)體和聯(lián)系可以轉(zhuǎn)換為下列關(guān)系模型: 學(xué)生(學(xué)號(hào),姓名,性別,出生日期,所在系, 年級(jí),班級(jí)號(hào),平均成績,檔案號(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ù)),教學(xué)(職工號(hào),學(xué)號(hào)) 課程(課程號(hào),課程名,學(xué)分,教室號(hào)) 選修(學(xué)號(hào),課程號(hào),成績) 教科書(書號(hào),書名,價(jià)錢) 教室(教室編號(hào),地址,容量) 講授(課程號(hào),教師號(hào),書號(hào)) 檔案材料(檔案號(hào),),E-R圖向關(guān)系模型的轉(zhuǎn)換(續(xù)),該關(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)系模式。,6.4 邏輯結(jié)構(gòu)設(shè)計(jì),6.4.1 E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換 6.4.2 數(shù)據(jù)模型的優(yōu)化 6.4.3 設(shè)計(jì)用戶子模式,6.4.2 數(shù)據(jù)模型的優(yōu)化,數(shù)據(jù)庫邏輯設(shè)計(jì)的結(jié)果不是唯一的。 得到初步數(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)。,數(shù)據(jù)模型的優(yōu)化(續(xù)),優(yōu)化數(shù)據(jù)模型的方法 確定數(shù)據(jù)依賴 按需求分析階段所得到的語義,分別寫出每個(gè)關(guān)系模式內(nèi)部各屬性之間的數(shù)據(jù)依賴以及不同關(guān)系模式屬性之間數(shù)據(jù)依賴。,數(shù)據(jù)模型的優(yōu)化(續(xù)),例,課程關(guān)系模式內(nèi)部存在下列數(shù)據(jù)依賴: 課程號(hào)課程名 課程號(hào)學(xué)分 課程號(hào)教室號(hào) 選修關(guān)系模式中存在下列數(shù)據(jù)依賴: (學(xué)號(hào),課程號(hào))成績,數(shù)據(jù)模型的優(yōu)化(續(xù)),學(xué)生關(guān)系模式中存在下列數(shù)據(jù)依賴: 學(xué)號(hào)姓名 學(xué)號(hào)性別 學(xué)號(hào)出生日期 學(xué)號(hào)所在系 學(xué)號(hào)年級(jí) 學(xué)號(hào)班級(jí)號(hào) 學(xué)號(hào)平均成績 學(xué)號(hào)檔案號(hào),數(shù)據(jù)模型的優(yōu)化(續(xù)),學(xué)生關(guān)系模式的學(xué)號(hào)與選修關(guān)系模式的學(xué)號(hào)之間存在數(shù)據(jù)依賴: 學(xué)生.學(xué)號(hào)選修.學(xué)號(hào),數(shù)據(jù)模型的優(yōu)化(續(xù)), 對(duì)于各個(gè)關(guān)系模式之間的數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余的聯(lián)系。,數(shù)據(jù)模型的優(yōu)化(續(xù)), 按照數(shù)據(jù)依賴的理論對(duì)關(guān)系模式逐一進(jìn)行分析,考查是否存在部分函數(shù)依賴、傳遞函數(shù)依賴、多值依賴等,確定各關(guān)系模式分別屬于第幾范式。 例如經(jīng)過分析可知,課程關(guān)系模式屬于BC范式。,數(shù)據(jù)模型的優(yōu)化(續(xù)), 按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,分析對(duì)于這樣的應(yīng)用環(huán)境這些模式是否合適,確定是否要對(duì)它們進(jìn)行合并或分解。,數(shù)據(jù)模型的優(yōu)化(續(xù)),并不是規(guī)范化程度越高的關(guān)系就越優(yōu)。 當(dāng)一個(gè)應(yīng)用的查詢中經(jīng)常涉及到兩個(gè)或多個(gè)關(guān)系模式的屬性時(shí),系統(tǒng)必須經(jīng)常地進(jìn)行聯(lián)接運(yùn)算,而聯(lián)系運(yùn)算的代價(jià)是相當(dāng)高的,可以說關(guān)系模型低效的主要原因就是做聯(lián)接運(yùn)算引起的,因此在這種情況下,第二范式甚至第一范式也許是最好的。,數(shù)據(jù)模型的優(yōu)化(續(xù)),非BCNF的關(guān)系模式雖然從理論上分析會(huì)存在不同程度的更新異常,但如果在實(shí)際應(yīng)用中對(duì)此關(guān)系模式只是查詢,并不執(zhí)行更新操作,則就不會(huì)產(chǎn)生實(shí)際影響。 對(duì)于一個(gè)具體應(yīng)用來說,到底規(guī)范化進(jìn)行到什么程度,需要權(quán)衡響應(yīng)時(shí)間和潛在問題兩者的利弊才能決定。一般說來,第三范式就足夠了。,數(shù)據(jù)模型的優(yōu)化(續(xù)),例:在關(guān)系模式 學(xué)生成績單(學(xué)號(hào),英語,數(shù)學(xué),語文,平均成績) 中存在下列函數(shù)依賴: 學(xué)號(hào)英語 學(xué)號(hào)數(shù)學(xué) 學(xué)號(hào)語文 學(xué)號(hào)平均成績 (英語, 數(shù)學(xué), 語文)平均成績,數(shù)據(jù)模型的優(yōu)化(續(xù)),顯然有: 學(xué)號(hào)(英語,數(shù)學(xué),語文) 因此該關(guān)系模式中存在傳遞函數(shù)信賴,是2NF關(guān)系。 雖然平均成績可以由其他屬性推算出來,但如果應(yīng)用中需要經(jīng)常查詢學(xué)生的平均成績,為提高效率,我們?nèi)匀豢杀A粼撊哂鄶?shù)據(jù),對(duì)關(guān)系模式不再做進(jìn)一步分解。,數(shù)據(jù)模型的優(yōu)化(續(xù)), 按照需求分析階段得到的各種應(yīng)用對(duì)數(shù)據(jù)處理的要求,對(duì)關(guān)系模式進(jìn)行必要的分解或合并,以提高數(shù)據(jù)操作的效率和存儲(chǔ)空間的利用率 常用分解方法 水平分解 垂直分解,數(shù)據(jù)模型的優(yōu)化(續(xù)),水平分解 什么是水平分解 把(基本)關(guān)系的元組分為若干子集合,定義每個(gè)子集合為一個(gè)子關(guān)系,以提高系統(tǒng)的效率。 水平分解的適用范圍 滿足“80/20原則”的應(yīng)用 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù),數(shù)據(jù)模型的優(yōu)化(續(xù)),滿足“80/20原則”的應(yīng)用 80/20原則:一個(gè)大關(guān)系中,經(jīng)常被使用的數(shù)據(jù)只是關(guān)系的一部分,約20% 把經(jīng)常使用的數(shù)據(jù)分解出來,形成一個(gè)子關(guān)系,可以減少查詢的數(shù)據(jù)量。 并發(fā)事務(wù)經(jīng)常存取不相交的數(shù)據(jù) 如果關(guān)系R上具有n個(gè)事務(wù),而且多數(shù)事務(wù)存取的數(shù)據(jù)不相交,則R可分解為少于或等于n個(gè)子關(guān)系,使每個(gè)事務(wù)存取的數(shù)據(jù)對(duì)應(yīng)一個(gè)關(guān)系。,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解 什么是垂直分解 把關(guān)系模式R的屬性分解為若干子集合,形成若干子關(guān)系模式。 垂直分解的原則 經(jīng)常在一起使用的屬性從R中分解出來形成一個(gè)子關(guān)系模式。,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解的優(yōu)點(diǎn) 可以提高某些事務(wù)的效率 垂直分解的缺點(diǎn) 可能使另一些事務(wù)不得不執(zhí)行連接操作,從而降低了效率。,數(shù)據(jù)模型的優(yōu)化(續(xù)),垂直分解的適用范圍 取決于分解后R上的所有事務(wù)的總效率是否得到了提高。 進(jìn)行垂直分解的方法 簡單情況:直觀分解 復(fù)雜情況:用第五章中的模式分解算法 垂直分解必須不損失關(guān)系模式的語義(保持無損連接性和保持函數(shù)依賴)。,6.4 邏輯結(jié)構(gòu)設(shè)計(jì),6.4.1 E-R圖向數(shù)據(jù)模型的轉(zhuǎn)換 6.4.2 數(shù)據(jù)模型的優(yōu)化 6.4.3 設(shè)計(jì)用戶子模式,6.4.3 設(shè)計(jì)用戶子模式,定義數(shù)據(jù)庫模式主要是從系統(tǒng)的時(shí)間效率、空間效率、易維護(hù)等角度出發(fā)。 定義用戶外模式時(shí)應(yīng)該更注重考慮用戶的習(xí)慣與方便。包括三個(gè)方面:,設(shè)計(jì)用戶子模式(續(xù)),(1) 使用更符合用戶習(xí)慣的別名 合并各分E-R圖曾做了消除命名沖突的工作,以使數(shù)據(jù)庫系統(tǒng)中同一關(guān)系和屬性具有唯一的名字。這在設(shè)計(jì)數(shù)據(jù)庫整體結(jié)構(gòu)時(shí)是非常必要的。
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 高端產(chǎn)業(yè)人才助力瀘州市“專精特新”中小企業(yè)高質(zhì)量發(fā)展的實(shí)踐研究
- 婚姻登記工作規(guī)范
- 25年三月份度事業(yè)單位地理信息數(shù)據(jù)保密協(xié)議
- 幼兒園性教育
- 西湖吟趣圖課件
- 行業(yè)協(xié)會(huì)會(huì)議
- 酒店轉(zhuǎn)讓協(xié)議合同范文
- 軟件項(xiàng)目團(tuán)隊(duì)管理制度
- 長春保潔公司管理制度
- 運(yùn)動(dòng)器械車間管理制度
- 9.2《項(xiàng)脊軒志》課件統(tǒng)編版高二語文選擇性必修下冊(cè)-1
- 2025年第三屆天揚(yáng)杯建筑業(yè)財(cái)稅知識(shí)競賽題庫附答案(101-200題)
- 高速公路段工程施工安全專項(xiàng)風(fēng)險(xiǎn)評(píng)估報(bào)告
- 2025年美麗中國第六屆全國國家版圖知識(shí)競賽測試題庫(中小學(xué)組)
- 2025年早產(chǎn)兒培訓(xùn)試題及答案
- 江西省鷹潭市2023-2024學(xué)年六年級(jí)下學(xué)期數(shù)學(xué)期中試卷(含答案)
- 2024年全國職業(yè)院校技能大賽中職(食品藥品檢驗(yàn)賽項(xiàng))考試題庫(含答案)
- 化糞池清掏協(xié)議書范本
- 2024-2025學(xué)年九年級(jí)化學(xué)人教版教科書解讀
- 奶龍小組匯報(bào)模板
- 水利水電工程質(zhì)量監(jiān)督工作標(biāo)準(zhǔn)
評(píng)論
0/150
提交評(píng)論