關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論_第1頁(yè)
關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論_第2頁(yè)
關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論_第3頁(yè)
關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論_第4頁(yè)
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

關(guān)系數(shù)據(jù)庫(kù)的規(guī)范化理論

1數(shù)據(jù)庫(kù)設(shè)計(jì)的研究網(wǎng)絡(luò)數(shù)據(jù)庫(kù)的標(biāo)準(zhǔn)化理論是數(shù)據(jù)庫(kù)理論的重點(diǎn)和難點(diǎn)。在數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)開發(fā)中數(shù)據(jù)庫(kù)設(shè)計(jì)是數(shù)據(jù)庫(kù)應(yīng)用領(lǐng)域中的主要研究課題是繼需求分析后的一個(gè)非常重要的環(huán)節(jié)。數(shù)據(jù)庫(kù)設(shè)計(jì)是對(duì)數(shù)據(jù)進(jìn)行組織化和結(jié)構(gòu)化的過程核心問題是關(guān)系模型的設(shè)計(jì)。而關(guān)系模式的設(shè)計(jì)是關(guān)系模型設(shè)計(jì)的靈魂,故關(guān)系模式的設(shè)計(jì)是關(guān)系數(shù)據(jù)庫(kù)設(shè)計(jì)的核心。數(shù)據(jù)庫(kù)設(shè)計(jì)的好壞,直接關(guān)系到數(shù)據(jù)庫(kù)應(yīng)用系統(tǒng)的性能、運(yùn)行和維護(hù)。設(shè)計(jì)一個(gè)“好”的關(guān)系模式是數(shù)據(jù)庫(kù)設(shè)計(jì)的關(guān)鍵所在。建立關(guān)系數(shù)據(jù)庫(kù),應(yīng)遵循一定的原則,否則會(huì)出現(xiàn)數(shù)據(jù)冗余、操作異常等各種各樣的麻煩。這是因?yàn)?構(gòu)造一個(gè)數(shù)據(jù)庫(kù)的各個(gè)屬性間是相互關(guān)聯(lián)的,它們間相互依賴,相互制約,構(gòu)成一個(gè)結(jié)構(gòu)嚴(yán)密的整體,在構(gòu)造關(guān)系模式方案時(shí),必須從數(shù)據(jù)的語(yǔ)義內(nèi)在性質(zhì)上了解這些關(guān)聯(lián),必須將互相依賴且關(guān)聯(lián)密切的屬性構(gòu)成單獨(dú)的模式。反之,若將依賴關(guān)系不緊密的屬性湊在一個(gè)模式中,就可能引起數(shù)據(jù)冗余、操作異常現(xiàn)象的出現(xiàn)。因此關(guān)系模式必須滿足一定的規(guī)范化要求,以求數(shù)據(jù)庫(kù)穩(wěn)定而又靈性,使數(shù)據(jù)庫(kù)好用。探討“好”的關(guān)系模式應(yīng)具備的性質(zhì),以及達(dá)到“好”的關(guān)系模式的設(shè)計(jì)算法,是規(guī)范化理論研究的主要內(nèi)容。從1971年起,相繼提出了第一范式、第二范式、第三范式和BCNF范式,后來又有人提出了第四、第五范式。在設(shè)計(jì)數(shù)據(jù)庫(kù)時(shí),若能符合這幾個(gè)范式,就已經(jīng)達(dá)到數(shù)據(jù)庫(kù)設(shè)計(jì)的要求了。2檢索優(yōu)化策略以確保關(guān)系數(shù)據(jù)庫(kù)進(jìn)行檢索2.1盡量選擇操作在優(yōu)化策略中這是最基本、最重要的一條,它通常可使查詢的執(zhí)行代價(jià)降低幾個(gè)數(shù)量級(jí)甚至更多,因?yàn)檫x擇運(yùn)算一般使計(jì)算的中間結(jié)果大大變小。2.2行代價(jià)最對(duì)于關(guān)系的連接運(yùn)算,特別是笛卡爾積,其執(zhí)行代價(jià)最大。在執(zhí)行前應(yīng)當(dāng)對(duì)關(guān)系做適當(dāng)?shù)念A(yù)處理,預(yù)處理的方法主要有三種,即:索引連接法、排序歸并連接法和笛卡爾積轉(zhuǎn)換成連接運(yùn)算法。2.2.1接屬性的建立索引連接法的基本思想:在進(jìn)行兩個(gè)關(guān)系的連接之前,首先按連接屬性建立索引,然后再執(zhí)行連接。這種預(yù)處理的目的是:按索引路徑進(jìn)行連接運(yùn)算,使得對(duì)兩個(gè)關(guān)系均只需掃描一遍,處理時(shí)間只是兩個(gè)關(guān)系大小的線性函數(shù),從而降低連接運(yùn)算的執(zhí)行代價(jià)。2.2.2兩個(gè)關(guān)系的排序、再執(zhí)行連接排序歸并連接法的基本思想:在進(jìn)行兩個(gè)關(guān)系的連接之前,首先按連接屬性分別對(duì)兩個(gè)關(guān)系進(jìn)行排序,然后再執(zhí)行連接。主要目的是:避免對(duì)兩個(gè)關(guān)系的非順序磁盤存取,使得連接運(yùn)算對(duì)兩個(gè)關(guān)系只需掃描一遍。當(dāng)然,執(zhí)行時(shí)間要加上對(duì)兩個(gè)表的排序時(shí)間。即使這樣,使用連接歸并連接法執(zhí)行連接的時(shí)間一般仍大大減少。2.2.3連接運(yùn)算的選擇笛卡爾積轉(zhuǎn)換成連接運(yùn)算法的基本思想:把某些選擇運(yùn)算同在它前面要執(zhí)行的笛卡爾積結(jié)合起來轉(zhuǎn)換成一個(gè)連接運(yùn)算,因?yàn)檫B接運(yùn)算特別是等值連接運(yùn)算要比同樣關(guān)系上的笛卡爾積節(jié)省很多時(shí)間。2.3索引應(yīng)正確使用索引是數(shù)據(jù)庫(kù)中重要的數(shù)據(jù)結(jié)構(gòu),是陜速存取數(shù)據(jù)庫(kù)中數(shù)據(jù)的一種高效方法。在使用索引時(shí),一般考慮如下幾條規(guī)則:2.3.1當(dāng)一方或多組的屬性經(jīng)常連接時(shí)操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引。2.3.2設(shè)置索引權(quán)限即組織車間操作的屬性,并將其設(shè)置為父組或群集2.3.3要在條件公式中使用不同值的列中創(chuàng)建索引,并在不同值較低的列中創(chuàng)建索引2.3.4屬性通常用作集函數(shù)的最大值或更多參數(shù),因此屬性需要構(gòu)造索引2.3.5索引的使用效果及其負(fù)面效應(yīng)因?yàn)楦玛P(guān)系時(shí),必須對(duì)關(guān)系上的索引做相應(yīng)的修改。因此,在使用索引的同時(shí),應(yīng)注意其負(fù)面影響。因?yàn)樗饕慕?、維護(hù)和使用都需要付出代價(jià),應(yīng)合理權(quán)衡。3標(biāo)準(zhǔn)關(guān)系模式分解的規(guī)范化為提高規(guī)范化程度,我們都是通過把低一級(jí)的關(guān)系模式分解為若干個(gè)高一級(jí)的關(guān)系模式來實(shí)現(xiàn)。這樣的分解使各關(guān)系模式達(dá)到某種程度的分離,讓一個(gè)關(guān)系模式描述一類實(shí)體或者實(shí)體問的一種聯(lián)系,即采用所謂“一事一地”的設(shè)計(jì)原則。規(guī)范化過程中將一個(gè)關(guān)系模式分解為若干個(gè)關(guān)系模式,應(yīng)保證分解后產(chǎn)生的模式與原來的模式等價(jià)。關(guān)系模式分解具有無(wú)損連接性和保持函數(shù)依賴是二個(gè)互相獨(dú)立的標(biāo)準(zhǔn)關(guān)系模式分解可能具有無(wú)損連接性,可能是保持函數(shù)依賴性,也可能是既具有無(wú)損連接性又保持函數(shù)依賴性。若要求分解具有無(wú)損連接性,那么模式分解一定可以達(dá)到BCNF:若要求分解保持函數(shù)依賴,那么模式分解可以達(dá)到3NF。但不一定可以達(dá)到BCNF:若要求分解既具有無(wú)損連接性又保持函數(shù)依賴,則模式分解可以達(dá)到3NF,但不一定可以達(dá)到BCNF。4計(jì)算數(shù)據(jù)項(xiàng)的時(shí)效當(dāng)數(shù)據(jù)庫(kù)服務(wù)器的表被更新時(shí),緩存中的數(shù)據(jù)項(xiàng)就會(huì)過期而失效。緩存一致性維護(hù)就是確保緩存數(shù)據(jù)與服務(wù)器的數(shù)據(jù)一致。下面討論幾種具有代表性的一致性維護(hù)策略:4.1sd學(xué)生sds軟件了以服務(wù)器取得新版本數(shù)據(jù)周期性地比較緩存對(duì)象與服務(wù)器中原始對(duì)象的時(shí)戳,在必要的時(shí)候,緩存淘汰過期緩存對(duì)象并從服務(wù)器取得新版本的數(shù)據(jù)。客戶輪詢策略通過放松對(duì)緩存一致性的要求,允許在一段時(shí)間之內(nèi)緩存與服務(wù)器數(shù)據(jù)的不一致,減少了網(wǎng)絡(luò)開銷。4.2生命周期到達(dá)時(shí)就電池事件定期作廢的機(jī)制是指定緩存數(shù)據(jù)的有效時(shí)間間隔,當(dāng)其生命周期到達(dá)時(shí)就作廢,重新向服務(wù)器取最新數(shù)據(jù)。定期作廢策略相當(dāng)于客戶輪詢策略的簡(jiǎn)化,只是減少了客戶向服務(wù)器詢問的環(huán)節(jié),可能會(huì)導(dǎo)致重復(fù)取沒有更新的數(shù)據(jù)。4.3調(diào)值更新服務(wù)器記錄客戶方緩存的數(shù)據(jù),當(dāng)服務(wù)器方的這些數(shù)據(jù)發(fā)生變化時(shí),如果是回調(diào)作廢就通知客戶作廢該緩存項(xiàng),在客戶需要訪問時(shí),再向服務(wù)器方取更新的數(shù)據(jù);如果是回調(diào)傳值則服務(wù)器方直接將更新后的值傳送給客戶方,客戶在收到通知的同時(shí)將緩存項(xiàng)更新為最新值。回調(diào)策略的優(yōu)點(diǎn)是緩存能及時(shí)得到更新;缺點(diǎn)是對(duì)于那些更新頻率高的數(shù)據(jù),每當(dāng)有更新發(fā)生就要建立連接,即使客戶方并沒要用到該數(shù)據(jù),因此會(huì)造成大量的額外開銷。4.4信息更新期將一段時(shí)間之內(nèi)的更新或作廢消息傳遞到客戶方,客戶根據(jù)這些信息更新或者作廢本地緩存數(shù)據(jù)。當(dāng)客戶查詢時(shí),如果緩存命中但已經(jīng)失效,則從服務(wù)器取回最新數(shù)據(jù)。定期傳送比回調(diào)策略更節(jié)省帶寬,因?yàn)槿绻吹街芷趥魉蜁r(shí)刻,即使發(fā)生更新也不會(huì)傳送。5性能優(yōu)化的必要性總之,數(shù)據(jù)庫(kù)性能的優(yōu)化是一個(gè)系統(tǒng)工程,應(yīng)貫穿與系統(tǒng)的整個(gè)生命周期,不能只是等到系統(tǒng)實(shí)現(xiàn)時(shí)再考慮。其中的每一個(gè)步驟,哪怕是很小的一點(diǎn)不經(jīng)意,都可能會(huì)對(duì)系統(tǒng)的性能產(chǎn)生很大的影響。另外,影響關(guān)系數(shù)據(jù)庫(kù)性能的因素是如此的多

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論