首頁 - 網(wǎng)校 - 萬題庫 - 直播 - 雄鷹網(wǎng)校 - 團(tuán)購 - 書城 - ? - 學(xué)習(xí)通 - 導(dǎo)航 -
首頁網(wǎng)校萬題庫直播雄鷹網(wǎng)校團(tuán)購書城模考論壇實(shí)用文檔作文大全寶寶起名
2015中考
法律碩士
2015高考
MBA考試
2015考研
MPA考試
在職研
中科院
考研培訓(xùn)
專升本
自學(xué)考試 成人高考
四 六 級
GRE考試
攻碩英語
零起點(diǎn)日語
職稱英語
口譯筆譯
申碩英語
零起點(diǎn)韓語
商務(wù)英語
日語等級
GMAT考試
公共英語
職稱日語
新概念英語
專四專八
博思考試
零起點(diǎn)英語
托?荚
托業(yè)考試
零起點(diǎn)法語
雅思考試
成人英語三級
零起點(diǎn)德語
等級考試
華為認(rèn)證
水平考試
Java認(rèn)證
職稱計(jì)算機(jī) 微軟認(rèn)證 思科認(rèn)證 Oracle認(rèn)證 Linux認(rèn)證
公 務(wù) 員
導(dǎo)游考試
物 流 師
出版資格
單 證 員
報(bào) 關(guān) 員
外 銷 員
價(jià)格鑒證
網(wǎng)絡(luò)編輯
駕 駛 員
報(bào)檢員
法律顧問
管理咨詢
企業(yè)培訓(xùn)
社會工作者
銀行從業(yè)
教師資格
營養(yǎng)師
保險(xiǎn)從業(yè)
普 通 話
證券從業(yè)
跟 單 員
秘書資格
電子商務(wù)
期貨考試
國際商務(wù)
心理咨詢
營 銷 師
司法考試
國際貨運(yùn)代理人
人力資源管理師
廣告師職業(yè)水平
衛(wèi)生資格 執(zhí)業(yè)醫(yī)師 執(zhí)業(yè)藥師 執(zhí)業(yè)護(hù)士
會計(jì)從業(yè)資格
基金從業(yè)資格
統(tǒng)計(jì)從業(yè)資格
經(jīng)濟(jì)師
精算師
統(tǒng)計(jì)師
會計(jì)職稱
法律顧問
ACCA考試
初級會計(jì)職稱
資產(chǎn)評估師
高級經(jīng)濟(jì)師
注冊會計(jì)師
高級會計(jì)師
美國注冊會計(jì)師
審計(jì)師考試
國際內(nèi)審師
注冊稅務(wù)師
理財(cái)規(guī)劃師
一級建造師
安全工程師
設(shè)備監(jiān)理師
公路監(jiān)理師
公路造價(jià)師
二級建造師
招標(biāo)師考試
物業(yè)管理師
電氣工程師
建筑師考試
造價(jià)工程師
注冊測繪師
質(zhì)量工程師
巖土工程師
注冊給排水
造價(jià)員考試
注冊計(jì)量師
環(huán)保工程師
化工工程師
暖通工程師
咨詢工程師
結(jié)構(gòu)工程師
城市規(guī)劃師
材料員考試
消防工程師
監(jiān)理工程師
房地產(chǎn)估價(jià)
土地估價(jià)師
安全評價(jià)師
房地產(chǎn)經(jīng)紀(jì)人
投資項(xiàng)目管理師
環(huán)境影響評價(jià)師
土地登記代理人
寶寶起名
繽紛校園
實(shí)用文檔
入黨申請
英語學(xué)習(xí)
思想?yún)R報(bào)
作文大全
工作總結(jié)
求職招聘 論文下載 直播課堂

2016年全國計(jì)算機(jī)四級數(shù)據(jù)庫考試重點(diǎn)(4)

計(jì)算機(jī)等級考試時(shí)間將近,考試吧小編整理了《2016年全國計(jì)算機(jī)四級數(shù)據(jù)庫考試重點(diǎn)(4)》供各位考生參考、下載。更多計(jì)算機(jī)等級考試信息,請關(guān)注考試吧計(jì)算機(jī)等級考試網(wǎng)。

  點(diǎn)擊查看2016年全國計(jì)算機(jī)四級數(shù)據(jù)庫考試重點(diǎn)匯總

  七、數(shù)據(jù)庫的安全與保護(hù)

  1.安全性

  數(shù)據(jù)庫的安全性是指保護(hù)數(shù)據(jù)庫以防止不合法的或非正常的使用所造成的數(shù)據(jù)泄露、更改或破壞。安全性問題不是數(shù)據(jù)庫系統(tǒng)所獨(dú)有的,計(jì)算機(jī)系統(tǒng)都有這個(gè)問題。只是在數(shù)據(jù)庫系統(tǒng)中大量數(shù)據(jù)集中存放,而且為許多用戶直接共享,是十分重要的信息資源。從而使安全性問題變得更為突出。系統(tǒng)安全保護(hù)措施是否有效是數(shù)據(jù)庫系統(tǒng)的主要性能指標(biāo)之一。對于數(shù)據(jù)庫的安全保密方式可以有系統(tǒng)處理的和物理的兩個(gè)方面。所謂物理的是指,對于強(qiáng)力逼迫透露口令、在通信線路上竊聽、以至盜竊物理存儲設(shè)備等行為。對此所采取的措施是將數(shù)據(jù)編為密碼,加強(qiáng)警衛(wèi)以識別用戶身份和保護(hù)存儲設(shè)備等措施。在一般計(jì)算機(jī)系統(tǒng)中,安全措施是一級一級層層設(shè)置的。

  (1)用戶標(biāo)識和鑒定首先,系統(tǒng)提供一定的方式讓用戶標(biāo)識自己的名字或身份。系統(tǒng)進(jìn)行核實(shí),通過鑒定后才提供機(jī)器使用權(quán)。常用的方法有:用一個(gè)用戶名或者用戶標(biāo)識號來標(biāo)明用戶身份。系統(tǒng)鑒別此用戶是否是合法用戶。若是,則可以進(jìn)入下一步的核實(shí);若不是,則不能使用計(jì)算機(jī)。用戶名的登錄只由系統(tǒng)管理員進(jìn)行,一般用戶不能實(shí)施用戶名登錄。口令(Password),為了進(jìn)一步核實(shí)用戶,系統(tǒng)常常要求用戶輸入口令。

  (2)存取控制對于獲得上機(jī)權(quán)的用戶還要根據(jù)預(yù)先定義好的用戶權(quán)限進(jìn)行存取控制,保證用戶只能存取他有權(quán)存取的數(shù)據(jù)。所謂用戶權(quán)限是指不同的用戶對于不同的數(shù)據(jù)對象允許執(zhí)行的操作權(quán)限。它由兩部分組成,一是數(shù)據(jù)對象,二是操作類型。數(shù)據(jù)對象有二類。一類是數(shù)據(jù)本身,如關(guān)系數(shù)據(jù)庫中的表、字段,非關(guān)系數(shù)據(jù)庫中的記錄、字段(亦稱為數(shù)據(jù)項(xiàng))。另一類是外模式、模式、內(nèi)模式。在關(guān)系系統(tǒng)中DBA可以把建立、修改基本表的權(quán)力授予用戶,用戶獲得此權(quán)力后可以建立基本表、索引、視圖。這說明關(guān)系系統(tǒng)中存取控制的數(shù)據(jù)對象不僅有數(shù)據(jù)而且有模式、外模式、內(nèi)模式等數(shù)據(jù)字典中的內(nèi)容。對于存取權(quán)限的定義稱為授權(quán)(Authorization)。這些定義經(jīng)過編譯后存儲在數(shù)據(jù)字典中。每當(dāng)用戶發(fā)出存取數(shù)據(jù)庫的操作請求后,DBMS查找數(shù)據(jù)字典,根據(jù)用戶權(quán)限進(jìn)行合法權(quán)限檢查(Authorization Check)。若用戶的操作請求超出了定義的權(quán)限,系統(tǒng)拒絕執(zhí)行此操作。授權(quán)編譯程序和合法權(quán)限檢查機(jī)制一起組成了安全性子系統(tǒng)。衡量授權(quán)子系統(tǒng)精巧程度的另一個(gè)盡度是否提供與數(shù)據(jù)值有關(guān)的授權(quán)。有的系統(tǒng)還允許存取謂詞中引用系統(tǒng)變量,如一天中的時(shí)刻,終端設(shè)備號。這樣用戶只能在某臺終端、某段時(shí)間內(nèi)存取有關(guān)數(shù)據(jù),這就是與時(shí)間和地點(diǎn)有關(guān)的存取權(quán)限。另外,在操作系統(tǒng)中對文件、目標(biāo)等的存取還有一些安全保護(hù)措施。其中加密是一種防止數(shù)據(jù)內(nèi)容被別人引用或了解的切實(shí)可行的辦法。加密有程序加密和硬件加密卡兩種形式。

  2.完整性

  數(shù)據(jù)庫的完整性是指數(shù)據(jù)的正確性和相容性。DBMS必須提供一種功能來保證數(shù)據(jù)庫中數(shù)據(jù)的完整性。這種功能亦稱為完整性檢查,即系統(tǒng)用一定的機(jī)制來檢查數(shù)據(jù)庫中的數(shù)據(jù)是否滿足規(guī)定的條件。這種條件在數(shù)據(jù)庫中稱為完整性約束條件。數(shù)據(jù)的約束條件是語義的體現(xiàn),這些完整性約束條件將作為模式的一部分存放數(shù)據(jù)字典中。數(shù)據(jù)的完整性和安全性是兩個(gè)不同的概念。前者是為了防止數(shù)據(jù)庫中存在不符合語義的數(shù)據(jù),防止錯(cuò)誤信息的輸入和輸出,即所謂垃圾進(jìn)垃圾出(Garbage In Garbage Out)所造成的無效操作和錯(cuò)誤結(jié)果。而后者是保護(hù)數(shù)據(jù)庫防止惡意的破壞和非法的存取。當(dāng)然,完整性和安全性是密切相關(guān)的。特別從系統(tǒng)實(shí)現(xiàn)的方法來看,往往是一種機(jī)制常常既可用于安全性保護(hù)亦可用于完整性保證。完整性約束條件可以分類如下:(1)值的約束和結(jié)構(gòu)的約束前者指對數(shù)據(jù)的值的限制,后者指對數(shù)據(jù)之間聯(lián)系的限制。關(guān)于對數(shù)據(jù)值的約束 這類約束條件是指對數(shù)據(jù)取值類型、范圍、精度等的規(guī)定。關(guān)于數(shù)據(jù)之間聯(lián)系的約束 數(shù)據(jù)庫中同一關(guān)系的不同屬性之間可以有一定的聯(lián)系,從而也應(yīng)滿足一定的約束條件。同時(shí),由于數(shù)據(jù)庫中數(shù)據(jù)是結(jié)構(gòu)化的,不同的關(guān)系之間也可以有聯(lián)系,因而不同關(guān)系的屬性之間也可滿足一定的約束條件。

  (2)靜態(tài)約束和動態(tài)約束所謂靜態(tài)約束是指對數(shù)據(jù)庫每一確定狀態(tài)的數(shù)據(jù)所應(yīng)滿足的約束條件。以上所講的約束都屬靜態(tài)約束。動態(tài)約束是指數(shù)據(jù)庫從一種狀態(tài)轉(zhuǎn)變?yōu)榱硪环N狀態(tài)時(shí)新、舊值之間所應(yīng)滿足的約束條件。

  (3)立即執(zhí)行約束和延遲執(zhí)行約束立即執(zhí)行約束是指在執(zhí)行用戶事務(wù)時(shí),對事務(wù)中某一更新語句執(zhí)行完后馬上對此數(shù)據(jù)所應(yīng)滿足的約束條件進(jìn)行完整性檢查。延遲執(zhí)行是指在整個(gè)事務(wù)執(zhí)行結(jié)束后方對此約束條件進(jìn)行完整性檢查,結(jié)果正確方能提交。完整性的實(shí)現(xiàn)應(yīng)包括兩個(gè)方面,一是系統(tǒng)要提供定義完整性約束條件的功能,二是提供檢查完整性約束條件的方法。對于數(shù)據(jù)值的那類完整性約束條件通常在模式中定義。例如在模式中定義屬性名、類型、長度、碼屬性名并標(biāo)明其值是唯一的、非空的等等。另外的那些約束條件就要用專門的方式加以定義。

  3.并發(fā)控制

  數(shù)據(jù)庫是一個(gè)共享資源,可以由多個(gè)用戶使用。這些用戶程序可以一個(gè)一個(gè)地串行執(zhí)行,也可以并行執(zhí)行。在單CPU計(jì)算機(jī)上,為了充分利用數(shù)據(jù)庫資源,應(yīng)該允許多個(gè)用戶程序并行的存取數(shù)據(jù)。這樣就會產(chǎn)生多個(gè)用戶程度并發(fā)地存取同一數(shù)據(jù)的情況。若對并發(fā)操作不加控制就會存取和存儲不正確的數(shù)據(jù),破壞數(shù)據(jù)庫的完整性(這里也稱為一致性)。在多CPU計(jì)算機(jī)或多計(jì)算機(jī)網(wǎng)絡(luò)環(huán)境下,并發(fā)控制尤為重要。

  (1)事務(wù)的概念 事務(wù)(Transaction)是并發(fā)控制的基本單位。所謂事務(wù)是一個(gè)操作序列。這些操作作為一個(gè)序列形成一個(gè)整體要么都做,要么都不做,是一個(gè)不可分割的工作單位。事務(wù)通常以BEGIN TRANSACTION開始,以COMMIT或ROLLBACK操作結(jié)束。COMMIT即提交,提交事務(wù)中所有的操作,事務(wù)正常結(jié)束。ROLLBACK即撤消已作的所有操作,滾回到事務(wù)開始時(shí)的狀態(tài)。這里的操作指對數(shù)據(jù)庫的更新操作。滾回即相當(dāng)于所有操作均未執(zhí)行。事務(wù)和程序是兩個(gè)概念。一般地講,一個(gè)程序可包括多個(gè)事務(wù),由于事務(wù)是并發(fā)控制的基本單位,所以下面的討論均以事務(wù)為對象。

  (2)數(shù)據(jù)一致性級別的概念。所謂并發(fā)控制就是要用正確的方式調(diào)度并發(fā)操作,避免造成數(shù)據(jù)的不一致性,使一個(gè)用戶事務(wù)的執(zhí)行不受其它事務(wù)的干擾。

  4.封鎖

  封鎖(Locking)就是事務(wù)T可以向系統(tǒng)發(fā)出請求,對某個(gè)數(shù)據(jù)對象(最常用的是記錄)加鎖。于是事務(wù)T對這個(gè)數(shù)據(jù)對象就有一定的控制。例如,其它事務(wù)不能更新此數(shù)據(jù)直到T釋放(unlock)它的鎖為止。確切的控制由封鎖的類型決定;镜姆怄i類型有兩種:排它鎖(Exclu sive locks簡記為X鎖)和共享鎖(Share locks簡記為S鎖)。若事務(wù)T對數(shù)據(jù)R加上X鎖,則只允許T讀取和修改R;其它一切事務(wù)對R的任何(包括封鎖)請求都不成功,直至T釋放R上的X鎖為止。這就保證了其它事務(wù)不能再讀取和修改R,直到T釋放X鎖。若事務(wù)T對數(shù)據(jù)R加上S鎖,則其它事務(wù)對R的X鎖請求不能成功,而對R的共享請求可以得到。這就保證了其它事務(wù)以讀取R但不能修改R,直至T釋放S鎖為止。

  5.可串行性

  定義 當(dāng)且僅當(dāng)某組事務(wù)的一定交叉調(diào)度產(chǎn)生的結(jié)果和這些事務(wù)的某一串行調(diào)度的結(jié)果相同,則這個(gè)交叉調(diào)度是可串行化的?纱行(Serializability)是并行事務(wù)正確性的準(zhǔn)則。這個(gè)準(zhǔn)則規(guī)定,一給定的交叉調(diào)度,當(dāng)且僅當(dāng)它是可串行化的,才認(rèn)為是正確的。

  6.兩段鎖協(xié)議

  兩段鎖協(xié)議規(guī)定所有的事務(wù)應(yīng)遵守下列規(guī)則:

  (1)在對任何數(shù)據(jù)進(jìn)行讀、寫操作之前,事務(wù)首先要獲得對該數(shù)據(jù)的封鎖,而且:

  (2)在釋放一個(gè)封鎖之后,事務(wù)不再獲得任何其它鎖。所謂“兩段”鎖的含義是:事務(wù)分為兩個(gè)階段。第一階段是獲得封鎖,也稱為擴(kuò)展階段。第二階段是釋放封鎖,也稱為收縮階段。定理 若所有事務(wù)均遵守兩段鎖協(xié)議,則這些事務(wù)的所有交叉調(diào)度都是可串行化的(證明略)。為了確保事務(wù)并行執(zhí)行的正確性,許多系統(tǒng)采用兩段鎖協(xié)議。同時(shí)系統(tǒng)設(shè)有死鎖檢測機(jī)制,發(fā)現(xiàn)死鎖后按一定的算法解除死鎖。

  7.恢復(fù)

  盡管系統(tǒng)中采取了各種保護(hù)措施來保證數(shù)據(jù)庫的安全性和完整性不被破壞,保證并行事務(wù)的正確執(zhí)行,但是計(jì)算機(jī)系統(tǒng)中硬件的故障、軟件的錯(cuò)誤、操作員的失誤以及故意的破壞仍是不可避免的。這些故障輕則造成運(yùn)行事務(wù)非正常地中斷,影響數(shù)據(jù)庫中數(shù)據(jù)的正確性,重則破壞數(shù)據(jù)庫,使數(shù)據(jù)庫中全部或部分?jǐn)?shù)據(jù)丟失。因此數(shù)據(jù)庫管理系統(tǒng)必須具有把數(shù)擾庫從錯(cuò)誤狀態(tài)恢復(fù)到某一已知的正確狀態(tài)(亦稱為完整狀態(tài)或一致狀態(tài))的功能,這就是數(shù)據(jù)庫的恢復(fù);謴(fù)子系統(tǒng)是數(shù)據(jù)庫管理系統(tǒng)的一個(gè)重要組成部分,而且還相當(dāng)龐大,常常占整個(gè)系統(tǒng)代碼的10%以上(如IMS,DB2)。故障恢復(fù)是否考慮周到和行之有效,是數(shù)據(jù)庫系統(tǒng)性能的一個(gè)重要指標(biāo)。大型的數(shù)據(jù)庫應(yīng)用對故障恢復(fù)的要求更加強(qiáng)烈。有時(shí)甚至采用雙工制。

  (1)故障的種類數(shù)據(jù)庫系統(tǒng)中可能發(fā)生各種各樣的故障,大致可以分以下幾類:①事務(wù)內(nèi)部的故障;②系統(tǒng)范圍內(nèi)的故障;③介質(zhì)故障;④計(jì)算機(jī)病毒。

  (2)轉(zhuǎn)儲和恢復(fù)轉(zhuǎn)儲是數(shù)據(jù)庫恢復(fù)中經(jīng)常采用的基本技術(shù)。所謂轉(zhuǎn)儲即DBA定期地將整個(gè)數(shù)據(jù)庫復(fù)制到磁帶或另一個(gè)磁盤上保存起來的過程。這些備用的數(shù)據(jù)文本為后備副本或后援副本。當(dāng)數(shù)據(jù)庫遭到破壞后就可以利用后備副本把數(shù)據(jù)庫恢復(fù)。這時(shí),數(shù)據(jù)庫只能恢復(fù)到轉(zhuǎn)儲時(shí)的狀態(tài),從那以后的所有更新事務(wù)必須重新運(yùn)行才能恢復(fù)到現(xiàn)時(shí)的正常狀態(tài)。轉(zhuǎn)儲是十分耗費(fèi)時(shí)間和資源的,不能頻繁進(jìn)行。DBA應(yīng)該根據(jù)數(shù)據(jù)庫使用情況確定一個(gè)適當(dāng)?shù)霓D(zhuǎn)儲周期。轉(zhuǎn)儲可分為靜態(tài)轉(zhuǎn)儲和動態(tài)轉(zhuǎn)儲。靜態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲期間不允許(或不存在)對數(shù)據(jù)庫進(jìn)行任何存取、修改活動。動態(tài)轉(zhuǎn)儲是指轉(zhuǎn)儲期間允許對數(shù)據(jù)庫進(jìn)行存取或修改。即轉(zhuǎn)儲和用戶事務(wù)可以并發(fā)執(zhí)行。靜態(tài)轉(zhuǎn)儲簡單,但轉(zhuǎn)儲必須等待用戶事務(wù)結(jié)束才能進(jìn)行。同樣,新的事務(wù)必須等待轉(zhuǎn)儲結(jié)束才能執(zhí)行。顯然,這會降低數(shù)據(jù)庫的可用性。動態(tài)轉(zhuǎn)儲可克服靜態(tài)轉(zhuǎn)儲的缺點(diǎn)。但是,轉(zhuǎn)儲結(jié)束時(shí)后援副本上的數(shù)據(jù)并不能保證正確有效。例如,在轉(zhuǎn)儲期間的某時(shí)刻t 1 系統(tǒng)把數(shù)據(jù)A=100轉(zhuǎn)儲到了磁帶上,而在時(shí)刻t 2 ,某一事務(wù)對A進(jìn)行了修改使A=200轉(zhuǎn)儲結(jié)束,后援副本上的A已是過時(shí)的數(shù)據(jù)了。為此,必須把轉(zhuǎn)儲期間事務(wù)對數(shù)據(jù)庫的修改活動登記下來,建立日志文件(log file)。這樣,后援副本加上日志文件就能把數(shù)據(jù)庫恢復(fù)到某一時(shí)刻的正確狀態(tài)。轉(zhuǎn)儲還可以分為海量轉(zhuǎn)儲和增量轉(zhuǎn)儲。海量轉(zhuǎn)儲是指每次轉(zhuǎn)儲全部數(shù)據(jù)庫。增量轉(zhuǎn)儲則指每次只轉(zhuǎn)儲上次轉(zhuǎn)儲后更新過的數(shù)據(jù)。如果數(shù)據(jù)庫很大,事務(wù)處理又十分頻繁,則增量轉(zhuǎn)儲方式是很有效的。(3)日志文件日志文件是用來記錄對數(shù)據(jù)庫每一次更新活動的文件。在動態(tài)轉(zhuǎn)儲方式中必須建立日志文件,后援副本和日志文件綜合起來才能有效地恢復(fù)數(shù)據(jù)庫。在靜態(tài)轉(zhuǎn)儲方式中,也可以建立日志文件。當(dāng)數(shù)據(jù)庫毀壞后可重新裝放后援副本把數(shù)據(jù)庫恢復(fù)到轉(zhuǎn)儲結(jié)束時(shí)刻的正確狀態(tài),然后利用日志文件,把已完成的事務(wù)進(jìn)行重做處理,對故障發(fā)生時(shí)尚未完成的事務(wù)進(jìn)行撤消處理。這樣不必重新運(yùn)行那些在轉(zhuǎn)儲前已完成的事務(wù)程序就可把數(shù)據(jù)庫恢復(fù)到故障前某一時(shí)刻的正確狀態(tài)。

  八、數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)

  1.數(shù)據(jù)庫應(yīng)用系統(tǒng)的設(shè)計(jì)步驟

  按規(guī)范設(shè)計(jì)的方法可將數(shù)據(jù)庫設(shè)計(jì)分為以下六個(gè)階段

  (1)需求分析;

  (2)概念結(jié)構(gòu)設(shè)計(jì);

  (3)邏輯結(jié)構(gòu)設(shè)計(jì);

  (4)數(shù)據(jù)庫物理設(shè)計(jì);

  (5)數(shù)據(jù)庫實(shí)施;

  (6)數(shù)據(jù)庫運(yùn)行和維護(hù)。

  2.需求分析

  需求收集和分析是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的第一階段。明確地把它作為數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)的第一步是十分重要的。這一階段收集到的基礎(chǔ)數(shù)據(jù)和一組數(shù)據(jù)流圖(Data Flow Diaˉgram———DFD)是下一步設(shè)計(jì)概念結(jié)構(gòu)的基礎(chǔ)。概念結(jié)構(gòu)對整個(gè)數(shù)據(jù)庫設(shè)計(jì)具有深刻影響。而要設(shè)計(jì)好概念結(jié)構(gòu),就必須在需求分析階段用系統(tǒng)的觀點(diǎn)來考慮問題、收集和分析數(shù)據(jù)及其處理。如何分析和表達(dá)用戶需求呢?在眾多的分析方法中,結(jié)構(gòu)化分析(Structured Analysis,簡稱SA方法)是一個(gè)簡單實(shí)用的方法。SA方法用自頂向下、逐層分解的方式分析系統(tǒng)。用數(shù)據(jù)流圖,數(shù)據(jù)字典描述系統(tǒng)。然后把一個(gè)處理功能的具體內(nèi)容分解為若干子功能,每個(gè)子功能繼續(xù)分解,直到把系統(tǒng)的工作過程表達(dá)清楚為止。在處理功能逐步分解的同時(shí),它們所用的數(shù)據(jù)也逐級分解。形成若干層次的數(shù)據(jù)流圖。數(shù)據(jù)流圖表達(dá)了數(shù)據(jù)和處理過程的關(guān)系。處理過程的處理邏輯常常用判定表或判定樹來描述。數(shù)據(jù)字典(Data Dictionary,簡稱DD)則是對系統(tǒng)中數(shù)據(jù)的詳盡描述,是各類數(shù)據(jù)屬性的清單。對數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)來講,數(shù)據(jù)字典是進(jìn)行詳細(xì)的數(shù)據(jù)收集和數(shù)據(jù)分析所獲得的主要結(jié)果。數(shù)據(jù)字典是各類數(shù)據(jù)描述的集合,它通常包括以下5個(gè)部分:

  (1)數(shù)據(jù)項(xiàng),是數(shù)據(jù)最小單位。

  (2)數(shù)據(jù)結(jié)構(gòu),是若干數(shù)據(jù)項(xiàng)有意義的集合。

  (3)數(shù)據(jù)流,可以是數(shù)據(jù)項(xiàng),也可以是數(shù)據(jù)結(jié)構(gòu)。表示某一處理過程的輸入輸出。

  (4)數(shù)據(jù)存儲,處理過程中存取的數(shù)據(jù)。常常是手工憑證、手工文檔或計(jì)算機(jī)文件。

  (5)處理過程。

  3.概念結(jié)構(gòu)設(shè)計(jì)

  如同軟件工程中重視需求分析與規(guī)范說明的思想一樣,數(shù)據(jù)庫設(shè)計(jì)中同樣十分重視數(shù)據(jù)分析、抽象與概念結(jié)構(gòu)的設(shè)計(jì)。概念結(jié)構(gòu)的設(shè)計(jì),是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵之一。概念結(jié)構(gòu)獨(dú)立于數(shù)據(jù)庫邏輯結(jié)構(gòu),獨(dú)立于支持?jǐn)?shù)據(jù)庫的DBMS,也獨(dú)立于具體計(jì)算機(jī)軟件和硬件系統(tǒng)。歸納總結(jié),其主要特點(diǎn)是:

  (1)能充分地反映現(xiàn)實(shí)世界,包括實(shí)體和實(shí)體之間的聯(lián)系,能滿足用戶對數(shù)據(jù)處理的要求,是現(xiàn)實(shí)世界的一個(gè)真實(shí)的模型,或接近真實(shí)的模型。

  (2)易于理解,從而可以和不熟悉計(jì)算機(jī)的用戶交換意見。用戶的積極參與是數(shù)據(jù)庫應(yīng)用系統(tǒng)設(shè)計(jì)成功與否的關(guān)鍵。

  (3)易于更動。當(dāng)現(xiàn)實(shí)世界改變時(shí)容易修改和擴(kuò)充,特別是軟件、硬件環(huán)境變化時(shí)更應(yīng)如此。

  (4)易于向關(guān)系、網(wǎng)狀或?qū)哟蔚雀鞣N數(shù)據(jù)模型轉(zhuǎn)換。概念結(jié)構(gòu)是各種數(shù)據(jù)模型的共同基礎(chǔ),它比任意一種數(shù)據(jù)模型更獨(dú)立于機(jī)器,更抽象,從而更加穩(wěn)定。描述概念結(jié)構(gòu)的有力工具是E-R模型。P.P.S.Chen把用E-R模型定義的概念結(jié)構(gòu)稱為組織模式。設(shè)計(jì)概念結(jié)構(gòu)的策略有3種:

  (1)自頂向下 首先定義全局概念結(jié)構(gòu)的框架,然后逐步細(xì)化。

  (2)自底向上 首先定義各局部應(yīng)用的概念結(jié)構(gòu),然后將它們集成,得到全局概念結(jié)構(gòu)。

  (3)混合策略 自頂向下和自底向上相結(jié)合的方法。用自頂向下策略設(shè)計(jì)一個(gè)全局概念結(jié)構(gòu)的框架,以它為骨架集成由自底向上策略中設(shè)計(jì)的各局部概念結(jié)構(gòu),F(xiàn)介紹自底向上設(shè)計(jì)概念結(jié)構(gòu)的策略。按照這種策略,概念結(jié)構(gòu)的設(shè)計(jì)可按下面步驟進(jìn)行。

  (1)數(shù)據(jù)抽象與局部視圖設(shè)計(jì)

  E-R模型是對現(xiàn)實(shí)世界的一種抽象。一般地講,所謂抽象是對實(shí)際的人、物、事和概念的人為處理。它抽取人們關(guān)心的共同特性,忽略非本質(zhì)的細(xì)節(jié),并把這些特性用各種抽象的概念精確地加以描述。這些概念組成了現(xiàn)實(shí)世界的一種模型表示。有3種抽象方法形成了抽象機(jī)制,來對數(shù)據(jù)進(jìn)行組織:①分類(Classification) 定義某一概念作為現(xiàn)實(shí)世界中一組對象的類型。這些對象具有某些共同的特性和行為。它抽象了對象值和型之間的“is a member of”的語義。在E-R模型中,實(shí)體型就是這種抽象。②聚集(Aggregation) 定義某一類型的組成成分。它抽象了對象內(nèi)部屬性類型和整體與部分之間“is a part of”的語義。在E-R模型中若干屬性的聚集組成了實(shí)體型,就是這種抽象。③概括(Generalization) 定義類型之間的一種子集聯(lián)系。它抽象了類型之間的“is a subset of”的語義。概括具有一個(gè)很重要的性質(zhì):繼承性。子類繼承超類上定義的所有抽象性質(zhì)。當(dāng)然,子類可以增加自己的某些特殊屬性。概念結(jié)構(gòu)設(shè)計(jì)的第一步就是利用上面介紹的抽象機(jī)制對需求分析階段收集到的數(shù)據(jù)進(jìn)行組織,形成實(shí)體、實(shí)體的屬性,標(biāo)識實(shí)體的碼,確定實(shí)體之間的聯(lián)系類型(1∶1,1∶n,n∶m),設(shè)計(jì)成部分E-R圖。

  (2)視圖的集成視圖集成就是把上一步得到的各個(gè)部分E-R圖綜合成一個(gè)總體的E-R圖。視圖集成可以有兩種方式:①多個(gè)部分E-R圖一次集成。②逐步集成。用累加的方式一次集成兩個(gè)部分E-R圖。無論哪種方式,每次集成可分兩步走。第一步是合并,解決各部分E-R圖之間的沖突問題,生成初步E-R圖。第二步是修改和重構(gòu),消除不必要的冗余,生成基本E-R圖。

  4.邏輯結(jié)構(gòu)設(shè)計(jì)

  邏輯結(jié)構(gòu)設(shè)計(jì)的任務(wù)就是把概念結(jié)構(gòu)轉(zhuǎn)換為選用的DBMS所支持的數(shù)據(jù)模型的過程。設(shè)計(jì)邏輯結(jié)構(gòu)按理應(yīng)選擇對某個(gè)概念結(jié)構(gòu)最好的數(shù)據(jù)模型,然后對支持這種數(shù)據(jù)模型的各種DBMS進(jìn)行比較,選出最合適的DBMS。但實(shí)際情況常常是已給定了某臺機(jī)器,設(shè)計(jì)人員沒有選擇DBMS的余地,F(xiàn)行的DBMS一般只支持關(guān)系、網(wǎng)狀或?qū)哟稳N模型中的某一種,對某一種數(shù)據(jù)模型,各個(gè)機(jī)器系統(tǒng)又有許多不同的限制,提供不同的環(huán)境與工具。因而我們把設(shè)計(jì)過程分三步進(jìn)行。首先把概念結(jié)構(gòu)向一般的關(guān)系模型轉(zhuǎn)換,然后向特定的DBMS支持下的數(shù)據(jù)模型轉(zhuǎn)換,最后進(jìn)行模型的優(yōu)化。

  (1)E-R圖向關(guān)系數(shù)據(jù)模型的轉(zhuǎn)換下面給出把E-R圖轉(zhuǎn)換為關(guān)系模型的轉(zhuǎn)換規(guī)則。

 、僖粋(gè)實(shí)體轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性,實(shí)體的碼就是關(guān)系的碼。

 、谝粋(gè)聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式,與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系的屬性轉(zhuǎn)換為關(guān)系的屬性。該關(guān)系的碼則有三種情況:若聯(lián)系為1∶1,則每個(gè)實(shí)體的碼均是該關(guān)系的候選碼。若聯(lián)系為1∶n,關(guān)系的碼為n端實(shí)體的碼。若聯(lián)系為n∶m,則關(guān)系的碼為諸實(shí)體碼的組合。具有相同碼的關(guān)系模式可合并。形成了一般的數(shù)據(jù)模型后,下一步就向特定的DBMS規(guī)定的模型轉(zhuǎn)換。設(shè)計(jì)人員必須熟知所用DBMS的功能及限制。這一步轉(zhuǎn)換是依賴于機(jī)器的,不能給出一個(gè)普遍的規(guī)則。轉(zhuǎn)化后的模型必須進(jìn)行優(yōu)化。對數(shù)據(jù)模型進(jìn)行優(yōu)化是指調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),以提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能。性能有動態(tài)性能和靜態(tài)性能兩種。靜態(tài)性能分析容易實(shí)現(xiàn)。根據(jù)應(yīng)用要求,選出合適的模型是一項(xiàng)復(fù)雜的工作。

  (2)規(guī)范化理論的應(yīng)用規(guī)范化理論是數(shù)據(jù)庫邏輯設(shè)計(jì)的指南和工具,具體地講可應(yīng)用在下面幾個(gè)具體的方面:

  第一,在數(shù)據(jù)分析階段用數(shù)據(jù)依賴的概念分析和表示各數(shù)據(jù)項(xiàng)之間的關(guān)系。

  第二,在設(shè)計(jì)概念結(jié)構(gòu)階段,用規(guī)范化理論為工具消除初步E-R圖中冗余的聯(lián)系。

  第三,由E-R圖向數(shù)據(jù)模型轉(zhuǎn)換過程中用模式分解的概念和算法指導(dǎo)設(shè)計(jì)。現(xiàn)在,不管選用的DBMS是支持哪種數(shù)據(jù)模型的,均先把概念結(jié)構(gòu)向關(guān)系模型轉(zhuǎn)換。然后,充分運(yùn)用規(guī)范化理論的成果優(yōu)化關(guān)系數(shù)據(jù)庫模式的設(shè)計(jì)。

  5.數(shù)據(jù)庫的物理設(shè)計(jì)

  物理設(shè)計(jì)的內(nèi)容主要包括:

  (1)確定數(shù)據(jù)的存儲結(jié)構(gòu) 從DBMS所提供的存儲結(jié)構(gòu)中選取一種合適的加以實(shí)現(xiàn)。確定存儲結(jié)構(gòu)的主要因素是存取時(shí)間、存儲空間利用率和維護(hù)代價(jià)三個(gè)方面。設(shè)計(jì)者常常要對這些因素進(jìn)行權(quán)衡。一般的DBMS也總是具有一定靈活性供你選擇。例如,若引入某些冗余數(shù)據(jù),則可能減少物理I/O次數(shù)提高檢索效率。相反節(jié)約存儲空間檢索代價(jià)就會增加。當(dāng)然應(yīng)該盡量尋找優(yōu)化方法,使這三方面的性能都較好。折衷有時(shí)是必須的。

  (2)存取路徑的選擇和調(diào)整 數(shù)據(jù)庫必須支持多個(gè)用戶的多種應(yīng)用,因而必須提供對數(shù)據(jù)庫的多個(gè)存取入口,也就是對同一數(shù)據(jù)存儲要提供多條存取路徑。物理設(shè)計(jì)的任務(wù)應(yīng)確定建立哪些存取路徑。設(shè)計(jì)者應(yīng)該進(jìn)行定量的分析,根據(jù)計(jì)算結(jié)果確定存取路徑。

  (3)確定數(shù)據(jù)存放位置 首先按數(shù)據(jù)的應(yīng)用情況劃分為不同的組,然后確定存放位置。一般的應(yīng)把數(shù)據(jù)的易變部分和穩(wěn)定部分分開,把經(jīng)常存取和不常存取的數(shù)據(jù)分開。經(jīng)常存取或存取時(shí)間要求高的記錄應(yīng)存放在高速存儲器上,如硬盤。存取頻率小或存取時(shí)間要求低的放在低速存儲器上,如軟盤磁帶。對于同一數(shù)據(jù)文件也可根據(jù)情況進(jìn)行水平劃分或垂直劃分。

  (4)確定存儲分配 許多DBMS提供了存儲分配的參數(shù)供設(shè)計(jì)者物理優(yōu)化處理用。例如溢出空間的大小和分布參數(shù),塊的長度,塊因子的大小,裝填因子,緩沖區(qū)的大小和個(gè)數(shù)等等,它們都要在物理設(shè)計(jì)中確定。這些參數(shù)的大小影響存取時(shí)間和存儲空間的分配。物理設(shè)計(jì)過程需要對時(shí)間、空間效率、維護(hù)代價(jià)和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案。在實(shí)施數(shù)據(jù)庫前對這些方案進(jìn)行方案進(jìn)行細(xì)致的評價(jià),以選擇一個(gè)較優(yōu)的方案是十分必要的。

  

  6.數(shù)據(jù)庫應(yīng)用系統(tǒng)的實(shí)施和維護(hù)

  對數(shù)據(jù)庫的物理設(shè)計(jì)初步評價(jià)完成后就可建立數(shù)據(jù)庫了。數(shù)據(jù)庫應(yīng)用系統(tǒng)實(shí)施對應(yīng)于軟件工程的編碼、調(diào)試階段。設(shè)計(jì)人員運(yùn)用DBMS提供的數(shù)據(jù)定義語言將邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果嚴(yán)格地描述出來,成為DBMS可接受的源代碼。經(jīng)過調(diào)試產(chǎn)生目標(biāo)模式。然后組織數(shù)據(jù)入庫。組織數(shù)據(jù)入庫是數(shù)據(jù)庫應(yīng)用系統(tǒng)實(shí)施階段最主要的工作。

  (1)數(shù)據(jù)庫數(shù)據(jù)的載入和應(yīng)用程序的開發(fā)由于數(shù)據(jù)庫數(shù)據(jù)量一般都非常大,并且這些數(shù)據(jù)來源于一個(gè)組織的各個(gè)部門,分散在各種數(shù)據(jù)文件或原始憑證中。這些數(shù)據(jù)的結(jié)構(gòu)和格式一般也不符合數(shù)據(jù)庫的要求,還要進(jìn)行轉(zhuǎn)換。因此組織數(shù)據(jù)入庫是一件耗費(fèi)大量人力物力的工作。數(shù)據(jù)的轉(zhuǎn)換和組織對于小系統(tǒng)可以用人工方法完成。但是,人工轉(zhuǎn)換效率低、質(zhì)量差。一般來說,應(yīng)設(shè)計(jì)一個(gè)數(shù)據(jù)輸入子系統(tǒng)讓計(jì)算機(jī)完成這個(gè)工作。輸入子系統(tǒng)的主要功能是:原始數(shù)據(jù)的輸入、抽取、校驗(yàn)、分類、轉(zhuǎn)換和綜合,最終把數(shù)據(jù)組織成符合數(shù)據(jù)庫結(jié)構(gòu)的形式。然后把數(shù)據(jù)存入數(shù)據(jù)庫中。數(shù)據(jù)的轉(zhuǎn)換、分類和綜合常常要經(jīng)過多次才能完成,因而輸入子系統(tǒng)的設(shè)計(jì)和實(shí)施亦是比較復(fù)雜的,要編寫許多應(yīng)用程序。輸入子系統(tǒng)的設(shè)計(jì)不能等物理設(shè)計(jì)完成后才動手,應(yīng)該和數(shù)據(jù)庫設(shè)計(jì)工作并行開展。為了保證數(shù)據(jù)庫數(shù)據(jù)正確無誤,必須高度重視數(shù)據(jù)的檢驗(yàn)工作。在輸入子系統(tǒng)進(jìn)行數(shù)據(jù)轉(zhuǎn)換的過程中應(yīng)該進(jìn)行多次檢驗(yàn),每次檢驗(yàn)的方法亦不要相同。對于重要數(shù)據(jù)的校驗(yàn)更應(yīng)該反復(fù)多次,確認(rèn)正確后方可入庫。數(shù)據(jù)庫應(yīng)用系統(tǒng)中應(yīng)用程序的設(shè)計(jì)應(yīng)該和數(shù)據(jù)庫模式設(shè)計(jì)并行。數(shù)據(jù)庫應(yīng)用系統(tǒng)的實(shí)施階段的另一項(xiàng)工作便這是這些應(yīng)用程序的編碼、調(diào)試工作。有了裝載實(shí)際數(shù)據(jù)的數(shù)據(jù)庫和應(yīng)用程序,就建立了數(shù)據(jù)庫應(yīng)用系統(tǒng),可以試運(yùn)行了。

  (2)數(shù)據(jù)庫應(yīng)用系統(tǒng)的試運(yùn)行在完成上述工作之后,便可進(jìn)入數(shù)據(jù)庫的試運(yùn)行階段,或者稱聯(lián)合調(diào)試階段。這階段的主要工作是:

 、賹(shí)際運(yùn)行應(yīng)用程序,執(zhí)行對數(shù)據(jù)庫的各種操作,測試應(yīng)用程序的功能。

 、跍y量系統(tǒng)的性能指標(biāo),分析是否符合設(shè)計(jì)目標(biāo)。雖然已在物理設(shè)計(jì)過程中進(jìn)行了性能預(yù)測,但是僅僅估價(jià)了時(shí)間和空間指標(biāo),而且在性能估價(jià)的過程中作了許多簡化和假設(shè),忽略了許多次要因素,因而估價(jià)是粗糙的并可能失真。必須在試運(yùn)行階段進(jìn)行實(shí)際測量和評價(jià)。有些參數(shù)的最佳值往往是經(jīng)過運(yùn)行調(diào)試后才找到的。如果實(shí)際結(jié)果不符合設(shè)計(jì)目標(biāo),則需返回物理設(shè)計(jì)階段,調(diào)整物理結(jié)構(gòu),修改參數(shù)。有時(shí),也許還需要返回邏輯設(shè)計(jì)階段,調(diào)整邏輯結(jié)構(gòu)。最后還須指出兩點(diǎn)。

  第一,上面已看到組織數(shù)據(jù)入庫是十分費(fèi)事的,如果運(yùn)行調(diào)試后又要修改數(shù)據(jù)庫設(shè)計(jì)則又要重新組織數(shù)據(jù)入庫。因此應(yīng)分批分期輸入數(shù)據(jù),逐步完成運(yùn)行評價(jià)。

  第二,數(shù)據(jù)庫的實(shí)施和調(diào)試不是一朝一夕能完成的,在此期間軟硬件的錯(cuò)誤隨時(shí)可能發(fā)生。加上數(shù)據(jù)庫剛剛建立,工作人員對系統(tǒng)還不熟悉,對其規(guī)律更缺乏深入了解,容易發(fā)生操作錯(cuò)誤。因此必須做好數(shù)據(jù)庫的轉(zhuǎn)儲和恢復(fù)工作,這就要求設(shè)計(jì)人員了解DBMS的這個(gè)功能,并根據(jù)調(diào)試方式和特點(diǎn)首先實(shí)施,盡量減少對數(shù)據(jù)庫的破壞并簡化故障恢復(fù)。

  (3)數(shù)據(jù)庫應(yīng)用系統(tǒng)的運(yùn)行和維護(hù)數(shù)據(jù)庫應(yīng)用系統(tǒng)投入運(yùn)行標(biāo)志著開發(fā)任務(wù)的基本完成和維護(hù)工作的開始,但并不意味著設(shè)計(jì)過程結(jié)束。任何數(shù)據(jù)庫應(yīng)用系統(tǒng)只要它存在一天,它的設(shè)計(jì)就得不斷地進(jìn)行評價(jià)、調(diào)整、修改,甚至完全改革。因此數(shù)據(jù)庫應(yīng)用系統(tǒng)的維護(hù)不僅是維護(hù)其正;顒佣沂窃O(shè)計(jì)工作的繼續(xù)和提高。維護(hù)階段的主要工作是:

 、贁(shù)據(jù)庫的安全性、完整性控制及系統(tǒng)的轉(zhuǎn)儲和恢復(fù);

 、谛阅艿谋O(jiān)督、分析和改進(jìn);

 、蹟(shù)據(jù)庫的重組織和重構(gòu)造。下面簡單介紹數(shù)據(jù)庫的重組織和重構(gòu)造。數(shù)據(jù)庫運(yùn)行一段時(shí)間后,由于記錄的不斷增、刪、改,會使數(shù)據(jù)庫的物理存儲變壞。例如,邏輯上屬于同一記錄型或同一關(guān)系的數(shù)據(jù)被分散到了不同的文件或文件的多個(gè)碎片上。從而降低了數(shù)據(jù)庫存儲空間的利用率和數(shù)據(jù)的存取效率,數(shù)據(jù)庫的性能下降。這時(shí),DBA就要進(jìn)行數(shù)據(jù)庫的重組織,DBMS一般都提供重組織用的實(shí)用程序。在重組過程中,按原設(shè)計(jì)要求重新安排記錄的存儲位置,調(diào)整數(shù)據(jù)區(qū)和溢出區(qū),回收“垃圾”,減少指針鏈等。數(shù)據(jù)庫的重組織不改變原設(shè)計(jì)的數(shù)據(jù)邏輯結(jié)構(gòu)和物理結(jié)構(gòu)。而數(shù)據(jù)庫的重構(gòu)造則不同。部分修改原數(shù)據(jù)庫的模式或內(nèi)模式稱為數(shù)據(jù)庫的重構(gòu)造。由于數(shù)據(jù)庫應(yīng)用環(huán)境的變化,數(shù)據(jù)庫重構(gòu)的程度是有限的。只能作部分的修改和調(diào)整。若應(yīng)用變化太大,重構(gòu)也無濟(jì)于事了,則表明數(shù)據(jù)庫應(yīng)用系統(tǒng)生命周期的結(jié)束,應(yīng)該重新設(shè)計(jì)數(shù)據(jù)庫應(yīng)用系統(tǒng)。新的數(shù)據(jù)庫應(yīng)用系統(tǒng)新的生命周期開始了。

  相關(guān)推薦:

  2016計(jì)算機(jī)四級數(shù)據(jù)庫復(fù)習(xí)重難點(diǎn)匯總

  各地計(jì)算機(jī)等級考試報(bào)名入口及官方網(wǎng)站匯總

  各地2016年全國計(jì)算機(jī)等級考試報(bào)名時(shí)間匯總

  計(jì)算機(jī)等級考試通關(guān)必看:一至四級備考經(jīng)驗(yàn)分享

文章搜索
版權(quán)聲明:如果計(jì)算機(jī)等級考試網(wǎng)所轉(zhuǎn)載內(nèi)容不慎侵犯了您的權(quán)益,請與我們聯(lián)系800@exam8.com,我們將會及時(shí)處理。如轉(zhuǎn)載本計(jì)算機(jī)等級考試網(wǎng)內(nèi)容,請注明出處。
Copyright © 2004- 考試吧計(jì)算機(jī)等級考試網(wǎng) All Rights Reserved 
中國科學(xué)院研究生院權(quán)威支持(北京)
在線模擬試題
考證通關(guān)殺器
考試最新資訊
學(xué)
一次通關(guān)技巧