版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、第五章第五章 數(shù)據(jù)庫保護數(shù)據(jù)庫保護 學(xué)習(xí)目的和要求學(xué)習(xí)目的和要求 了解數(shù)據(jù)庫安全性控制的措施了解數(shù)據(jù)庫安全性控制的措施理解完整性約束條件和控制機制理解完整性約束條件和控制機制理解并發(fā)控制的原則和方法理解并發(fā)控制的原則和方法了解恢復(fù)的原理及實現(xiàn)技術(shù)了解恢復(fù)的原理及實現(xiàn)技術(shù) 往年頻繁考點:往年頻繁考點:數(shù)據(jù)庫安全性的概念數(shù)據(jù)庫安全性的概念安全性控制的一般方法:用戶標(biāo)識和鑒定、存取控制、安全性控制的一般方法:用戶標(biāo)識和鑒定、存取控制、定義視圖、審計和密碼存儲。定義視圖、審計和密碼存儲。完整性的概念及其與安全性的區(qū)別完整性的概念及其與安全性的區(qū)別第五章第五章 數(shù)據(jù)庫保護數(shù)據(jù)庫保護完整性約束條件的分類完
2、整性約束條件的分類數(shù)據(jù)庫管理系統(tǒng)完整性控制機制具有的功能:定義功數(shù)據(jù)庫管理系統(tǒng)完整性控制機制具有的功能:定義功能、檢查功能和保證功能能、檢查功能和保證功能實現(xiàn)參照完整性應(yīng)注意的問題實現(xiàn)參照完整性應(yīng)注意的問題 并發(fā)控制的單位并發(fā)控制的單位事務(wù)的概念及特征:原子性、一事務(wù)的概念及特征:原子性、一致性、隔離性和持續(xù)性致性、隔離性和持續(xù)性封鎖的概念及類型封鎖的概念及類型死鎖與活鎖的含義與解決方法死鎖與活鎖的含義與解決方法故障的種類:事務(wù)故障、系統(tǒng)故障、介質(zhì)故障、計算故障的種類:事務(wù)故障、系統(tǒng)故障、介質(zhì)故障、計算機病毒。機病毒。數(shù)據(jù)轉(zhuǎn)儲的方法及分類;數(shù)據(jù)轉(zhuǎn)儲的方法及分類;登記日志文件的登記內(nèi)容和登記的原
3、則。登記日志文件的登記內(nèi)容和登記的原則。第一節(jié)第一節(jié) 安全性安全性 數(shù)據(jù)庫的安全性主要是指保護數(shù)據(jù)庫,防止由于非法使用數(shù)據(jù)庫的安全性主要是指保護數(shù)據(jù)庫,防止由于非法使用數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。數(shù)據(jù)庫造成數(shù)據(jù)泄露、更改或破壞。 安全性控制的一般方法:安全性控制的一般方法:用戶標(biāo)識和鑒別用戶標(biāo)識和鑒別存取控制存取控制定義視圖定義視圖審計審計密碼存儲密碼存儲 好的安全措施:使得那些試圖破壞安全的人所花費的代價好的安全措施:使得那些試圖破壞安全的人所花費的代價遠(yuǎn)遠(yuǎn)超過他們所得到的利益。遠(yuǎn)遠(yuǎn)超過他們所得到的利益。 實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的技術(shù)和方法有多種,最重要的是實現(xiàn)數(shù)據(jù)庫系統(tǒng)安全性的技術(shù)和方法
4、有多種,最重要的是存取控制技術(shù)和審計技術(shù)。存取控制技術(shù)和審計技術(shù)。 第二節(jié)第二節(jié) 完整性完整性 數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性、有效性和相容性。數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性、有效性和相容性。 數(shù)據(jù)庫是否具備完整性關(guān)系到數(shù)據(jù)庫系統(tǒng)能否真實地反映數(shù)據(jù)庫是否具備完整性關(guān)系到數(shù)據(jù)庫系統(tǒng)能否真實地反映現(xiàn)實世界現(xiàn)實世界 數(shù)據(jù)的完整性與安全性是數(shù)據(jù)庫保護的兩個不同的方面。數(shù)據(jù)的完整性與安全性是數(shù)據(jù)庫保護的兩個不同的方面。安全性是防止用戶非法使用數(shù)據(jù)庫。完整性則是防止合法安全性是防止用戶非法使用數(shù)據(jù)庫。完整性則是防止合法用戶使用數(shù)據(jù)庫時向數(shù)據(jù)庫中加入不合語義的數(shù)據(jù)。用戶使用數(shù)據(jù)庫時向數(shù)據(jù)庫中加入不合語義的數(shù)
5、據(jù)。 完整性約束條件的分類:完整性約束條件的分類:靜態(tài)列級約束靜態(tài)列級約束靜態(tài)元組約束靜態(tài)元組約束 靜態(tài)關(guān)系約束靜態(tài)關(guān)系約束 動態(tài)列級約束動態(tài)列級約束 動態(tài)元組約束動態(tài)元組約束 動態(tài)關(guān)系約束動態(tài)關(guān)系約束第二節(jié)第二節(jié) 完整性完整性 數(shù)據(jù)庫管理系統(tǒng)完整性控制機制具有的功能:數(shù)據(jù)庫管理系統(tǒng)完整性控制機制具有的功能:定義功能定義功能: : 提供定義完整性約束條件的機制檢查功能檢查功能: : 檢查操作請求是否違背了完整性約束條件的機制保證功能保證功能: : 一旦發(fā)生違背完整性約束條件的操作, 要采取措施保證數(shù)據(jù)的完整性 實現(xiàn)完整性需要考慮的問題:實現(xiàn)完整性需要考慮的問題:外碼能否接收空值在被參照關(guān)系中刪
6、除元組,包括:級聯(lián)刪除、受限刪除、級聯(lián)刪除、受限刪除、置空值刪除。置空值刪除。修改被參照關(guān)系中主碼,包括:級聯(lián)修改、受限修改、級聯(lián)修改、受限修改、置空值修改。置空值修改。第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制 事務(wù)事務(wù)并發(fā)控制的單位,是用戶定義的一組數(shù)據(jù)庫操作序列。并發(fā)控制的單位,是用戶定義的一組數(shù)據(jù)庫操作序列。事務(wù)的特性事務(wù)的特性(ACID)(ACID)原子性:原子性:事務(wù)是原子的, 要么都做, 要么都不做一致性:一致性:事務(wù)保證了數(shù)據(jù)庫的一致性隔離性:隔離性:事務(wù)相互隔離. 并發(fā)執(zhí)行的事務(wù)之間不能互相干擾持續(xù)性:持續(xù)性:事務(wù)一旦提交, 它對數(shù)據(jù)庫數(shù)據(jù)的改變是永久的第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制 并
7、發(fā)操作帶來的數(shù)據(jù)不一致并發(fā)操作帶來的數(shù)據(jù)不一致丟失修改丟失修改讀讀“臟臟”數(shù)據(jù)數(shù)據(jù)不可重復(fù)讀不可重復(fù)讀 并發(fā)控制的主要技術(shù)是采用封鎖機制。并發(fā)控制的主要技術(shù)是采用封鎖機制。 封鎖就是事務(wù)封鎖就是事務(wù)T T可以向系統(tǒng)發(fā)出請求,對某個數(shù)據(jù)對象可以向系統(tǒng)發(fā)出請求,對某個數(shù)據(jù)對象(最常用的是記錄)加鎖。于是事務(wù)(最常用的是記錄)加鎖。于是事務(wù)T T對這個數(shù)據(jù)對象就對這個數(shù)據(jù)對象就有一定的控制。有一定的控制。 第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制 兩種封鎖類型兩種封鎖類型排它鎖:簡稱排它鎖:簡稱X X鎖鎖, , 又稱寫鎖。若事務(wù)又稱寫鎖。若事務(wù)T T在數(shù)據(jù)對象在數(shù)據(jù)對象A A上上有有X X鎖鎖, , 則其它任
8、何事務(wù)都不能再對則其它任何事務(wù)都不能再對A A加任何類型的鎖,加任何類型的鎖, 直到直到T T釋放釋放A A上的鎖。上的鎖。共享鎖:簡稱共享鎖:簡稱S S鎖鎖, , 又稱讀鎖。若事務(wù)又稱讀鎖。若事務(wù)T T對數(shù)據(jù)對象對數(shù)據(jù)對象A A加加上上S S鎖,則其它事務(wù)只能再對鎖,則其它事務(wù)只能再對A A加加S S鎖,而不能加鎖,而不能加X X鎖,鎖,直到直到T T釋放釋放A A上的上的S S鎖。鎖。第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制 保證數(shù)據(jù)一致性的封鎖協(xié)議保證數(shù)據(jù)一致性的封鎖協(xié)議一級封鎖協(xié)議:事務(wù)一級封鎖協(xié)議:事務(wù)T T在修改數(shù)據(jù)在修改數(shù)據(jù)R R之前必須加之前必須加X X鎖鎖, , 直直到事務(wù)結(jié)束??煞乐?/p>
9、丟失修改。不能保證可重復(fù)讀和到事務(wù)結(jié)束。可防止丟失修改。不能保證可重復(fù)讀和不讀不讀“臟臟”數(shù)據(jù)數(shù)據(jù)二級封鎖協(xié)議:二級封鎖協(xié)議: 1 1級封鎖協(xié)議加上事務(wù)級封鎖協(xié)議加上事務(wù)T T在讀取數(shù)據(jù)在讀取數(shù)據(jù)R R之前必須加之前必須加S S鎖鎖, , 讀完后即可釋放??煞乐箒G失修改和讀完后即可釋放??煞乐箒G失修改和讀讀“臟臟”數(shù)據(jù),不能保證可重復(fù)讀數(shù)據(jù),不能保證可重復(fù)讀三級封鎖協(xié)議:三級封鎖協(xié)議: 1 1級封鎖協(xié)議加上事務(wù)級封鎖協(xié)議加上事務(wù)T T在讀取數(shù)據(jù)在讀取數(shù)據(jù)R R之前必須加之前必須加S S鎖鎖, ,直到事務(wù)結(jié)束才釋放??煞乐箒G失修直到事務(wù)結(jié)束才釋放??煞乐箒G失修改和讀改和讀“臟臟”數(shù)據(jù),而且可以保
10、證可重復(fù)讀數(shù)據(jù),而且可以保證可重復(fù)讀第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制 和操作系統(tǒng)一樣,封鎖的方法可能引起活鎖和死鎖。和操作系統(tǒng)一樣,封鎖的方法可能引起活鎖和死鎖。 活鎖是指當(dāng)若干事務(wù)要對同一數(shù)據(jù)項加鎖時,造成一些事活鎖是指當(dāng)若干事務(wù)要對同一數(shù)據(jù)項加鎖時,造成一些事務(wù)的永遠(yuǎn)等待,得不到控制權(quán)的現(xiàn)象務(wù)的永遠(yuǎn)等待,得不到控制權(quán)的現(xiàn)象 避免活鎖的方法:采取先來先服務(wù)的策略避免活鎖的方法:采取先來先服務(wù)的策略 死鎖是指兩個以上事務(wù)集合中的每個事務(wù)都在等待加鎖當(dāng)死鎖是指兩個以上事務(wù)集合中的每個事務(wù)都在等待加鎖當(dāng)前已被另一事務(wù)加鎖的數(shù)據(jù)項,從而造成相互等待的現(xiàn)象。前已被另一事務(wù)加鎖的數(shù)據(jù)項,從而造成相互等待的
11、現(xiàn)象。 數(shù)據(jù)庫中解決死鎖的常用方法有:數(shù)據(jù)庫中解決死鎖的常用方法有:要求每個事務(wù)一次就將所有要使用的數(shù)據(jù)全部加鎖,要求每個事務(wù)一次就將所有要使用的數(shù)據(jù)全部加鎖,否則就不能執(zhí)行。否則就不能執(zhí)行。采用按序加鎖法。采用按序加鎖法。不采取任何措施來預(yù)防死鎖的發(fā)生,而是周期性的檢不采取任何措施來預(yù)防死鎖的發(fā)生,而是周期性的檢查系統(tǒng)中是否有死鎖。查系統(tǒng)中是否有死鎖。 第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制 可串行化的調(diào)度:如果幾個事務(wù)并行(交錯)執(zhí)行的結(jié)果可串行化的調(diào)度:如果幾個事務(wù)并行(交錯)執(zhí)行的結(jié)果和按次序串行執(zhí)行的結(jié)果相同,則稱該并行執(zhí)行結(jié)果是正和按次序串行執(zhí)行的結(jié)果相同,則稱該并行執(zhí)行結(jié)果是正確的。這樣
12、的調(diào)度稱為可串行化的調(diào)度。確的。這樣的調(diào)度稱為可串行化的調(diào)度。 可串行化是并行事務(wù)正確性的準(zhǔn)則可串行化是并行事務(wù)正確性的準(zhǔn)則 保證并行調(diào)度可串行性的封鎖協(xié)議保證并行調(diào)度可串行性的封鎖協(xié)議兩段鎖協(xié)議:指所有事務(wù)必須分兩個階段對數(shù)據(jù)庫項兩段鎖協(xié)議:指所有事務(wù)必須分兩個階段對數(shù)據(jù)庫項加鎖和解鎖。加鎖和解鎖。所謂所謂“兩段兩段”鎖含義是:事務(wù)分為兩個階段。第一階鎖含義是:事務(wù)分為兩個階段。第一階段是獲得封鎖,也稱為擴展階段。在該階段,事務(wù)可段是獲得封鎖,也稱為擴展階段。在該階段,事務(wù)可以申請獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不能以申請獲得任何數(shù)據(jù)項上的任何類型的鎖,但是不能釋放任何鎖。第二階段是釋放
13、封鎖,也稱為收縮階段。釋放任何鎖。第二階段是釋放封鎖,也稱為收縮階段。在該階段,事務(wù)可以釋放任何數(shù)據(jù)項上的任何類型的在該階段,事務(wù)可以釋放任何數(shù)據(jù)項上的任何類型的鎖,但是不能再申請任何鎖鎖,但是不能再申請任何鎖第三節(jié)第三節(jié) 并發(fā)控制并發(fā)控制兩段鎖協(xié)議規(guī)定所有的事務(wù)應(yīng)遵守下列規(guī)則:兩段鎖協(xié)議規(guī)定所有的事務(wù)應(yīng)遵守下列規(guī)則: 在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,事務(wù)首先要在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,事務(wù)首先要獲得對該數(shù)據(jù)的封鎖。獲得對該數(shù)據(jù)的封鎖。 在釋放一個封鎖之后,事務(wù)不再獲得任何其他封在釋放一個封鎖之后,事務(wù)不再獲得任何其他封鎖。鎖。 第四節(jié)第四節(jié) 恢復(fù)恢復(fù) 數(shù)據(jù)庫系統(tǒng)故障:數(shù)據(jù)庫系統(tǒng)故障:事
14、務(wù)內(nèi)部的故障事務(wù)內(nèi)部的故障系統(tǒng)故障系統(tǒng)故障介質(zhì)故障介質(zhì)故障計算機病毒計算機病毒 恢復(fù)的基本原理恢復(fù)的基本原理: : 制造冗余制造冗余 建立冗余數(shù)據(jù)的常用技術(shù)建立冗余數(shù)據(jù)的常用技術(shù)數(shù)據(jù)轉(zhuǎn)儲數(shù)據(jù)轉(zhuǎn)儲登記日志文件登記日志文件第四節(jié)第四節(jié) 恢復(fù)恢復(fù) 轉(zhuǎn)儲:轉(zhuǎn)儲: DBADBA定期地將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤定期地將整個數(shù)據(jù)庫復(fù)制到磁帶或另一個磁盤上保存起來的過程。上保存起來的過程。靜態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進(jìn)行任何存取、修靜態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間不允許對數(shù)據(jù)庫進(jìn)行任何存取、修改活動)改活動) 動態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間允許對數(shù)據(jù)進(jìn)行存取或修改)動態(tài)轉(zhuǎn)儲(轉(zhuǎn)儲期間允許對數(shù)據(jù)進(jìn)行存取或修改)海量轉(zhuǎn)儲(每次
15、轉(zhuǎn)儲全部數(shù)據(jù)庫)海量轉(zhuǎn)儲(每次轉(zhuǎn)儲全部數(shù)據(jù)庫)增量轉(zhuǎn)儲(每次只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù))增量轉(zhuǎn)儲(每次只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù))第四節(jié)第四節(jié) 恢復(fù)恢復(fù) 日志文件是用來記錄對數(shù)據(jù)庫每一次更新活動的文件。在日志文件是用來記錄對數(shù)據(jù)庫每一次更新活動的文件。在轉(zhuǎn)儲中必須建立日志文件,后援副本和日志文件綜合起來轉(zhuǎn)儲中必須建立日志文件,后援副本和日志文件綜合起來才能有效地恢復(fù)數(shù)據(jù)庫。才能有效地恢復(fù)數(shù)據(jù)庫。 日志文件內(nèi)容日志文件內(nèi)容事務(wù)對數(shù)據(jù)庫的更新操作事務(wù)對數(shù)據(jù)庫的更新操作BEGIN TRANSACTION BEGIN TRANSACTION 標(biāo)記標(biāo)記COMMIT COMMIT 或或 ROLLBAC
16、K ROLLBACK 標(biāo)記標(biāo)記所有更新操作:事務(wù)標(biāo)識所有更新操作:事務(wù)標(biāo)識, , 操作的類型操作的類型, , 操作對象操作對象, , 更新前后數(shù)據(jù)的舊值和新值更新前后數(shù)據(jù)的舊值和新值第四節(jié)第四節(jié) 恢復(fù)恢復(fù) 日志文件作用日志文件作用用于事務(wù)故障和系統(tǒng)故障的恢復(fù)用于事務(wù)故障和系統(tǒng)故障的恢復(fù)數(shù)據(jù)轉(zhuǎn)儲的副本和日志文件結(jié)合起來才能有效地恢復(fù)數(shù)據(jù)轉(zhuǎn)儲的副本和日志文件結(jié)合起來才能有效地恢復(fù)數(shù)據(jù)庫數(shù)據(jù)庫 登記日志的原則:登記日志的原則:登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時間次序登記的次序嚴(yán)格按并發(fā)事務(wù)執(zhí)行的時間次序 先寫日志文件,后寫數(shù)據(jù)庫先寫日志文件,后寫數(shù)據(jù)庫第四節(jié)第四節(jié) 恢復(fù)恢復(fù) 利用日志文件恢復(fù)事務(wù)的過程
17、:利用日志文件恢復(fù)事務(wù)的過程:從頭掃描日志文件,找出哪些事務(wù)在故障發(fā)生時已經(jīng)從頭掃描日志文件,找出哪些事務(wù)在故障發(fā)生時已經(jīng)結(jié)束,哪些事務(wù)尚未結(jié)束;結(jié)束,哪些事務(wù)尚未結(jié)束;對尚未結(jié)束的事務(wù)進(jìn)行撤銷處理對尚未結(jié)束的事務(wù)進(jìn)行撤銷處理對已經(jīng)結(jié)束的事務(wù)進(jìn)行重做處理。對已經(jīng)結(jié)束的事務(wù)進(jìn)行重做處理。 硬件故障、病毒破壞:當(dāng)數(shù)據(jù)庫本身被破壞時,可重裝轉(zhuǎn)硬件故障、病毒破壞:當(dāng)數(shù)據(jù)庫本身被破壞時,可重裝轉(zhuǎn)儲數(shù)據(jù)庫的后備副本,然后運行日志文件,執(zhí)行事務(wù)恢復(fù),儲數(shù)據(jù)庫的后備副本,然后運行日志文件,執(zhí)行事務(wù)恢復(fù),這樣就可以重建數(shù)據(jù)庫。這樣就可以重建數(shù)據(jù)庫。 發(fā)生事務(wù)故障、系統(tǒng)故障:當(dāng)數(shù)據(jù)庫本身沒被破壞,但內(nèi)發(fā)生事務(wù)故障
18、、系統(tǒng)故障:當(dāng)數(shù)據(jù)庫本身沒被破壞,但內(nèi)容已經(jīng)不可靠時,可利用日志文件恢復(fù)事務(wù),從而使數(shù)據(jù)容已經(jīng)不可靠時,可利用日志文件恢復(fù)事務(wù),從而使數(shù)據(jù)庫回到某一正確狀態(tài),這時不必重裝后備副本。庫回到某一正確狀態(tài),這時不必重裝后備副本。 第六章第六章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 學(xué)習(xí)目的和要求學(xué)習(xí)目的和要求 了解數(shù)據(jù)庫設(shè)計的步驟了解數(shù)據(jù)庫設(shè)計的步驟理解并掌握需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、理解并掌握需求分析、概念結(jié)構(gòu)設(shè)計、邏輯結(jié)構(gòu)設(shè)計、數(shù)據(jù)庫物理設(shè)計以及數(shù)據(jù)庫實施的方法數(shù)據(jù)庫物理設(shè)計以及數(shù)據(jù)庫實施的方法了解數(shù)據(jù)庫運行與維護的內(nèi)容了解數(shù)據(jù)庫運行與維護的內(nèi)容第六章第六章 數(shù)據(jù)庫設(shè)計數(shù)據(jù)庫設(shè)計 往年頻繁考點:往年
19、頻繁考點:數(shù)據(jù)庫設(shè)計的步驟數(shù)據(jù)庫設(shè)計的步驟需求分析的方法;數(shù)據(jù)字典的概念和組成需求分析的方法;數(shù)據(jù)字典的概念和組成概念結(jié)構(gòu)設(shè)計的特點、步驟;數(shù)據(jù)抽象;概念結(jié)構(gòu)設(shè)計的特點、步驟;數(shù)據(jù)抽象;E-RE-R圖的設(shè)計圖的設(shè)計步驟;視圖的集成步驟;視圖的集成邏輯結(jié)構(gòu)設(shè)計的任務(wù);邏輯結(jié)構(gòu)設(shè)計的步驟;邏輯結(jié)構(gòu)設(shè)計的任務(wù);邏輯結(jié)構(gòu)設(shè)計的步驟;E-RE-R圖向圖向數(shù)據(jù)模型的轉(zhuǎn)換的方法數(shù)據(jù)模型的轉(zhuǎn)換的方法數(shù)據(jù)庫物理設(shè)計的步驟;數(shù)據(jù)庫物理設(shè)計的內(nèi)容;確數(shù)據(jù)庫物理設(shè)計的步驟;數(shù)據(jù)庫物理設(shè)計的內(nèi)容;確定、評價數(shù)據(jù)庫的物理結(jié)構(gòu)定、評價數(shù)據(jù)庫的物理結(jié)構(gòu)數(shù)據(jù)庫維護的主要內(nèi)容;數(shù)據(jù)庫的重組織和重構(gòu)造數(shù)據(jù)庫維護的主要內(nèi)容;數(shù)據(jù)庫的
20、重組織和重構(gòu)造根據(jù)數(shù)據(jù)庫設(shè)計的基本步驟,能夠設(shè)計一個簡單的數(shù)根據(jù)數(shù)據(jù)庫設(shè)計的基本步驟,能夠設(shè)計一個簡單的數(shù)據(jù)庫應(yīng)用系統(tǒng)據(jù)庫應(yīng)用系統(tǒng)第一節(jié)第一節(jié) 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)數(shù)據(jù)庫設(shè)計是指對于一個給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),使之能夠有效地存儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求儲數(shù)據(jù),滿足各種用戶的應(yīng)用需求 在數(shù)據(jù)庫領(lǐng)域內(nèi),使用數(shù)據(jù)庫的各類系統(tǒng)通常被稱為數(shù)據(jù)在數(shù)據(jù)庫領(lǐng)域內(nèi),使用數(shù)據(jù)庫的各類系統(tǒng)通常被稱為數(shù)據(jù)庫應(yīng)用系統(tǒng)。庫應(yīng)用系統(tǒng)。 信息系統(tǒng)是提供信息、輔助人們對環(huán)境進(jìn)行
21、控制和進(jìn)行決信息系統(tǒng)是提供信息、輔助人們對環(huán)境進(jìn)行控制和進(jìn)行決策的系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。策的系統(tǒng)。數(shù)據(jù)庫是信息系統(tǒng)的核心和基礎(chǔ)。 數(shù)據(jù)庫設(shè)計內(nèi)容:數(shù)據(jù)庫設(shè)計內(nèi)容:結(jié)構(gòu)(數(shù)據(jù))設(shè)計:結(jié)構(gòu)(數(shù)據(jù))設(shè)計:邏輯數(shù)據(jù)庫設(shè)計、物理數(shù)據(jù)庫設(shè)計行為(處理)設(shè)計:行為(處理)設(shè)計:數(shù)據(jù)的裝載、應(yīng)用程序設(shè)計第一節(jié)第一節(jié) 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 新奧爾良(新奧爾良(New OrleansNew Orleans)方法)方法需求分析(分析用戶要求)需求分析(分析用戶要求)概念設(shè)計(信息分析和定義)概念設(shè)計(信息分析和定義)邏輯設(shè)計(設(shè)計實現(xiàn))邏輯設(shè)計(設(shè)計實現(xiàn))物理設(shè)計(物理數(shù)據(jù)庫設(shè)計)物理設(shè)計(物
22、理數(shù)據(jù)庫設(shè)計)第一節(jié)第一節(jié) 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 數(shù)據(jù)庫設(shè)計分為以下六個階段:數(shù)據(jù)庫設(shè)計分為以下六個階段:系統(tǒng)需求分析系統(tǒng)需求分析需求收集和分析,結(jié)果得到數(shù)據(jù)字典描述的數(shù)據(jù)需求和數(shù)據(jù)流圖描述的處理需求概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計通過對用戶需求進(jìn)行綜合、歸納與抽象,形成一個獨立于具體DBMS的概念模型,可以用E-R圖表示邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計將概念結(jié)構(gòu)轉(zhuǎn)換為某個DBMS所支持的數(shù)據(jù)模型(例如關(guān)系模型),并對其進(jìn)行優(yōu)化。第一節(jié)第一節(jié) 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理設(shè)計為邏輯數(shù)據(jù)模型選取一個最適合應(yīng)用環(huán)境的物理結(jié)構(gòu)(包括存儲結(jié)構(gòu)和存取方法)。數(shù)據(jù)庫實施數(shù)據(jù)庫實施運用DBM
23、S提供的數(shù)據(jù)語言(例如SQL)及其宿主語言(例如VB),根據(jù)邏輯設(shè)計和物理設(shè)計的結(jié)果建立數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織數(shù)據(jù)入庫,并進(jìn)行試運行。數(shù)據(jù)庫運行維護數(shù)據(jù)庫運行維護數(shù)據(jù)庫應(yīng)用系統(tǒng)經(jīng)過試運行后即可投入正式運行。在數(shù)據(jù)庫系統(tǒng)運行過程中必須不斷地對其進(jìn)行評價、調(diào)整與修改。第一節(jié)第一節(jié) 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 參加設(shè)計的人員:參加設(shè)計的人員:系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計人員系統(tǒng)分析人員、數(shù)據(jù)庫設(shè)計人員系統(tǒng)分析和數(shù)據(jù)庫設(shè)計人員是數(shù)據(jù)庫設(shè)計的核心人員,他們將自始至終參與數(shù)據(jù)庫設(shè)計,他們的水平?jīng)Q定了數(shù)據(jù)庫系統(tǒng)的質(zhì)量。程序員程序員程序員則在系統(tǒng)實施階段參與進(jìn)來,分別負(fù)責(zé)編制程序和準(zhǔn)備軟硬件環(huán)境。用戶
24、、數(shù)據(jù)庫管理員用戶、數(shù)據(jù)庫管理員用戶和數(shù)據(jù)庫管理員主要參加需求分析和數(shù)據(jù)庫的運行、維護,他們的積極參與不但能加速數(shù)據(jù)庫設(shè)計,而且也是決定數(shù)據(jù)庫設(shè)計的質(zhì)量的重要因素。第一節(jié)第一節(jié) 數(shù)據(jù)庫設(shè)計概述數(shù)據(jù)庫設(shè)計概述 數(shù)據(jù)庫設(shè)計過程中注意的問題:數(shù)據(jù)庫設(shè)計過程中注意的問題:數(shù)據(jù)庫設(shè)計過程中要充分調(diào)動用戶的積極性。數(shù)據(jù)庫設(shè)計過程中要充分調(diào)動用戶的積極性。應(yīng)用環(huán)境的改變、新技術(shù)的出現(xiàn)等都會導(dǎo)致應(yīng)用需求應(yīng)用環(huán)境的改變、新技術(shù)的出現(xiàn)等都會導(dǎo)致應(yīng)用需求的變化,因此在設(shè)計數(shù)據(jù)庫時必須充分考慮到系統(tǒng)的的變化,因此在設(shè)計數(shù)據(jù)庫時必須充分考慮到系統(tǒng)的可擴性。可擴性。 在設(shè)計數(shù)據(jù)庫應(yīng)用的過程中,必須充分考慮到已有應(yīng)在設(shè)計數(shù)
25、據(jù)庫應(yīng)用的過程中,必須充分考慮到已有應(yīng)用,盡量使用戶能夠平穩(wěn)地從舊系統(tǒng)遷移到新系統(tǒng)。用,盡量使用戶能夠平穩(wěn)地從舊系統(tǒng)遷移到新系統(tǒng)。 第二節(jié)第二節(jié) 需求分析需求分析 需求分析的任務(wù)需求分析的任務(wù)詳細(xì)調(diào)查應(yīng)用領(lǐng)域要處理的對象詳細(xì)調(diào)查應(yīng)用領(lǐng)域要處理的對象充分了解原系統(tǒng)的工作概況充分了解原系統(tǒng)的工作概況明確用戶的各種要求明確用戶的各種要求(1) (1) 信息要求:信息要求:指用戶需要從數(shù)據(jù)庫中獲得信息的內(nèi)容與性質(zhì)。由信息要求可以導(dǎo)出數(shù)據(jù)要求,即在數(shù)據(jù)庫中需要存儲哪些數(shù)據(jù)。 (2) (2) 處理要求:處理要求:指用戶要完成什么處理功能,對處理的響應(yīng)時間有什么要求,處理方式是批處理還是聯(lián)機處理。 (3)
26、(3) 安全性和完整性要求安全性和完整性要求確定新系統(tǒng)的功能確定新系統(tǒng)的功能考慮今后的擴充性考慮今后的擴充性第二節(jié)第二節(jié) 需求分析需求分析 調(diào)查用戶需求的方法調(diào)查用戶需求的方法: :跟班作業(yè)跟班作業(yè)開調(diào)查會開調(diào)查會請專人介紹請專人介紹詢問詢問請用戶填寫調(diào)查表請用戶填寫調(diào)查表查閱記錄查閱記錄第二節(jié)第二節(jié) 需求分析需求分析 數(shù)據(jù)字典數(shù)據(jù)字典是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集是系統(tǒng)中各類數(shù)據(jù)描述的集合,是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要成果。和數(shù)據(jù)分析所獲得的主要成果。包括:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過包括:數(shù)據(jù)項、數(shù)據(jù)結(jié)構(gòu)、數(shù)據(jù)流、數(shù)據(jù)存儲、處理過程。程。數(shù)據(jù)項
27、是數(shù)據(jù)的最小組成單位,若干個數(shù)據(jù)項可以組成一個數(shù)據(jù)結(jié)構(gòu),數(shù)據(jù)字典通過對數(shù)據(jù)項和數(shù)據(jù)結(jié)構(gòu)的定義來描述數(shù)據(jù)流、數(shù)據(jù)存儲的邏輯內(nèi)容。 在需求分析階段需要注意的是:在需求分析階段需要注意的是:設(shè)計人員應(yīng)充分考慮到可能的擴充和改變,使設(shè)計易于設(shè)計人員應(yīng)充分考慮到可能的擴充和改變,使設(shè)計易于更改,系統(tǒng)易于擴充,這是第一點。更改,系統(tǒng)易于擴充,這是第一點。必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的特點。必須強調(diào)用戶的參與,這是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計的特點。第三節(jié)第三節(jié) 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 概念結(jié)構(gòu)設(shè)計就是將需求分析得到的用戶需求抽象為信息概念結(jié)構(gòu)設(shè)計就是將需求分析得到的用戶需求抽象為信息結(jié)構(gòu)概念模型的過
28、程。結(jié)構(gòu)概念模型的過程。 概念結(jié)構(gòu)的特點:概念結(jié)構(gòu)的特點:(1 1)能充分地反映現(xiàn)實世界;)能充分地反映現(xiàn)實世界;(2 2)易于理解;)易于理解;(3 3)易于更改;)易于更改;(4 4)易于向關(guān)系、網(wǎng)狀或?qū)哟蔚雀鞣N數(shù)據(jù)模型轉(zhuǎn)換。)易于向關(guān)系、網(wǎng)狀或?qū)哟蔚雀鞣N數(shù)據(jù)模型轉(zhuǎn)換。 概念結(jié)構(gòu)設(shè)計的四種方法概念結(jié)構(gòu)設(shè)計的四種方法自頂向下:先全局,后細(xì)化自頂向下:先全局,后細(xì)化自底向上:先局部,后集成自底向上:先局部,后集成由里向外:先核心,后擴充由里向外:先核心,后擴充混合策略:自頂向下混合策略:自頂向下+ +自底向上自底向上第三節(jié)第三節(jié) 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 數(shù)據(jù)抽象:對實際的人、物、事和概念進(jìn)行
29、人為處理,抽數(shù)據(jù)抽象:對實際的人、物、事和概念進(jìn)行人為處理,抽取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性取所關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種概念精確地加以描述,這些概念組成了某種模型。用各種概念精確地加以描述,這些概念組成了某種模型。分類(分類(ClassificationClassification):定義某一類概念作為一組):定義某一類概念作為一組對象的類型,抽象了對象值和型之間的對象的類型,抽象了對象值和型之間的“is member is member of”of”的語義。的語義。聚集(聚集(AggregationAggregation):定義某一類型的組成成
30、分,抽):定義某一類型的組成成分,抽象了對象內(nèi)部類型和成分之間象了對象內(nèi)部類型和成分之間“is part of”is part of”的語的語義。義。 概括(概括(GeneralizationGeneralization):): 定義類型之間的一種子集定義類型之間的一種子集聯(lián)系。它抽象了類型之間的聯(lián)系。它抽象了類型之間的“is subset of”is subset of”的語的語義。義。第三節(jié)第三節(jié) 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 ( (自底向上)概念結(jié)構(gòu)設(shè)計的步驟自底向上)概念結(jié)構(gòu)設(shè)計的步驟抽象數(shù)據(jù),設(shè)計局部視圖抽象數(shù)據(jù),設(shè)計局部視圖選擇局部應(yīng)用:在多層的數(shù)據(jù)流圖中選擇一個適當(dāng)層次的數(shù)據(jù)流圖,作
31、為設(shè)計分E-R圖的出發(fā)點。 逐一設(shè)計分E-R圖:先從自然劃分出發(fā)定義E-R圖,然后再進(jìn)行必要的調(diào)整。集成局部視圖集成局部視圖 ,得到全局的概念結(jié)構(gòu),得到全局的概念結(jié)構(gòu)合并解決各分圖之間的沖突,生成初步E-R圖修改和重構(gòu)消除不必要的冗余,生成基本E-R圖第三節(jié)第三節(jié) 概念結(jié)構(gòu)設(shè)計概念結(jié)構(gòu)設(shè)計 分分E-RE-R圖調(diào)整原則:圖調(diào)整原則:能作為屬性對待的,盡量作為屬性對待。能作為屬性對待的,盡量作為屬性對待。作為作為“屬性屬性”,不能再具有需要描述的性質(zhì)。,不能再具有需要描述的性質(zhì)?!皩傩詫傩浴辈荒芘c其他實體具有聯(lián)系。即不能與其他實體具有聯(lián)系。即E-RE-R圖中所表示圖中所表示的聯(lián)系是實體之間的聯(lián)系。
32、的聯(lián)系是實體之間的聯(lián)系。 實體或聯(lián)系和其屬性值之間保持實體或聯(lián)系和其屬性值之間保持1 1:1 1或或n:1n:1的關(guān)系的關(guān)系 分分E-RE-R圖合并時的的沖突主要有圖合并時的的沖突主要有屬性沖突屬性沖突命名沖突命名沖突結(jié)構(gòu)沖突結(jié)構(gòu)沖突 概念結(jié)構(gòu)獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),也獨立于支持?jǐn)?shù)據(jù)庫的概念結(jié)構(gòu)獨立于數(shù)據(jù)庫邏輯結(jié)構(gòu),也獨立于支持?jǐn)?shù)據(jù)庫的DBMSDBMS。第四節(jié)第四節(jié) 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計 邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本邏輯結(jié)構(gòu)設(shè)計的任務(wù)是把概念結(jié)構(gòu)設(shè)計階段設(shè)計好的基本E-RE-R圖轉(zhuǎn)換為與選用的圖轉(zhuǎn)換為與選用的DBMSDBMS產(chǎn)品所支持的數(shù)據(jù)結(jié)構(gòu)相符合產(chǎn)品所支持的數(shù)據(jù)結(jié)構(gòu)
33、相符合的邏輯結(jié)構(gòu)。的邏輯結(jié)構(gòu)。 邏輯結(jié)構(gòu)設(shè)計的步驟:邏輯結(jié)構(gòu)設(shè)計的步驟:(1 1)把概念結(jié)構(gòu)向一般的關(guān)系、網(wǎng)狀模型轉(zhuǎn)換;)把概念結(jié)構(gòu)向一般的關(guān)系、網(wǎng)狀模型轉(zhuǎn)換;(2 2)向特定的)向特定的DBMSDBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換;支持下的數(shù)據(jù)模型轉(zhuǎn)換;(3 3)對數(shù)據(jù)模型進(jìn)行優(yōu)化。)對數(shù)據(jù)模型進(jìn)行優(yōu)化。第四節(jié)第四節(jié) 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計 E-RE-R圖向關(guān)系模型的轉(zhuǎn)換:圖向關(guān)系模型的轉(zhuǎn)換:(1 1)一個實體型轉(zhuǎn)換為一個關(guān)系模式;)一個實體型轉(zhuǎn)換為一個關(guān)系模式;(2 2)一個)一個m m:n n聯(lián)系轉(zhuǎn)換為一個關(guān)系模式;聯(lián)系轉(zhuǎn)換為一個關(guān)系模式;(3 3)一個)一個1 1:n n聯(lián)系轉(zhuǎn)換為一個獨立的
34、關(guān)系模式,也可聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式,也可以與以與n n端對應(yīng)的關(guān)系模式合并。端對應(yīng)的關(guān)系模式合并。 ;(4 4)一個)一個1 1:1 1聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式也可與聯(lián)系轉(zhuǎn)換為一個獨立的關(guān)系模式也可與任意一端對應(yīng)的關(guān)系模式合并;任意一端對應(yīng)的關(guān)系模式合并;(5 5)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一)三個或三個以上實體間的一個多元聯(lián)系轉(zhuǎn)換為一個關(guān)系模式;個關(guān)系模式;(6 6)同一實體集的實體間聯(lián)系;)同一實體集的實體間聯(lián)系;(7 7)具有相同碼的關(guān)系模式可合并。)具有相同碼的關(guān)系模式可合并。第四節(jié)第四節(jié) 邏輯結(jié)構(gòu)設(shè)計邏輯結(jié)構(gòu)設(shè)計 數(shù)據(jù)模型的優(yōu)化方法:數(shù)據(jù)模型的優(yōu)化方法:(1
35、 1)確定數(shù)據(jù)依賴;)確定數(shù)據(jù)依賴;(2 2)對數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余聯(lián)系;)對數(shù)據(jù)依賴進(jìn)行極小化處理,消除冗余聯(lián)系;(3 3)按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進(jìn)行分析,)按照數(shù)據(jù)依賴的理論對關(guān)系模式逐一進(jìn)行分析,確定分別屬于第幾范式;確定分別屬于第幾范式;(4 4)分析關(guān)系模式是否適應(yīng)應(yīng)用環(huán)境,確定是否進(jìn)行)分析關(guān)系模式是否適應(yīng)應(yīng)用環(huán)境,確定是否進(jìn)行合并或分解;合并或分解;(5 5)對關(guān)系模式進(jìn)行必要的分解或合并。)對關(guān)系模式進(jìn)行必要的分解或合并。第五節(jié)第五節(jié) 數(shù)據(jù)庫物理設(shè)計數(shù)據(jù)庫物理設(shè)計 數(shù)據(jù)庫物理設(shè)計的步驟:數(shù)據(jù)庫物理設(shè)計的步驟:(1 1)確定數(shù)據(jù)庫的物理結(jié)構(gòu)(確定數(shù)據(jù)的存儲結(jié)構(gòu);)確定數(shù)據(jù)庫的物理結(jié)構(gòu)(確定數(shù)據(jù)的存儲結(jié)構(gòu);存取路徑的選擇和調(diào)整;確定數(shù)據(jù)存放位置;確定存存取路徑的選擇和調(diào)整;確定數(shù)據(jù)存放位置;確定存儲分配);儲分配);(2 2)評價物理結(jié)構(gòu),評價的重點是時間和空間效率。)評價物理結(jié)構(gòu),評價的重點是時間和空間效率。 數(shù)據(jù)庫物理設(shè)計的主要內(nèi)容:數(shù)據(jù)庫物理設(shè)計的主要內(nèi)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 互助服務(wù)領(lǐng)域推廣合作合同
- 全新餐飲場地租賃合同
- 個人購銷合同模板-食品行業(yè)專用
- 產(chǎn)品分銷合同書新協(xié)定
- 個人借款還款合同模板標(biāo)準(zhǔn)范本大全
- 兩人合資合同:正式合同文件
- 臨時勞動合同范本
- 樂隊合作演出合同范本
- 個人分期還款合同法律文件
- 人教版《道德與法治》四年級下冊教材簡要分析課件
- 2023年MRI技術(shù)操作規(guī)范
- 辦公用品、易耗品供貨服務(wù)方案
- 自行聯(lián)系單位實習(xí)申請表
- 醫(yī)療廢物集中處置技術(shù)規(guī)范
- 媒介社會學(xué)備課
- 2023年檢驗檢測機構(gòu)質(zhì)量手冊(依據(jù)2023年版評審準(zhǔn)則編制)
- 三相分離器原理及操作
- 新教科版五年級下冊科學(xué)全冊每節(jié)課后練習(xí)+答案(共28份)
- 葫蘆島尚楚環(huán)??萍加邢薰踞t(yī)療廢物集中處置項目環(huán)評報告
- 全國物業(yè)管理項目經(jīng)理考試試題
評論
0/150
提交評論