數(shù)據(jù)庫設(shè)計規(guī)范_第1頁
數(shù)據(jù)庫設(shè)計規(guī)范_第2頁
數(shù)據(jù)庫設(shè)計規(guī)范_第3頁
數(shù)據(jù)庫設(shè)計規(guī)范_第4頁
數(shù)據(jù)庫設(shè)計規(guī)范_第5頁
已閱讀5頁,還剩21頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、PAGE 1PAGE 26關(guān)系型數(shù)據(jù)庫設(shè)計規(guī)范目錄TOC o 1-3文檔類別使用對象 PAGEREF _Toc464459133 h 41.概述述 PAGEREF _Toc464459134 h 51.1 簡簡介 PAGEREF _Toc464459135 h 51.2 術(shù)術(shù)語定義義 PAGEREF _Toc464459136 h 51.3 參參考資料料 PAGEREF _Toc464459137 h 51.4 版版本更新新記錄 PAGEREF _Toc464459138 h 52數(shù)據(jù)庫庫設(shè)計的的目標 PAGEREF _Toc464459139 h 63.數(shù)據(jù)據(jù)庫的特特征 PAGEREF _T

2、oc464459140 h 63.1完整整性約束束 PAGEREF _Toc464459141 h 63.1.11nott nuull約約束 PAGEREF _Toc464459142 h 73.1.22缺省值值 PAGEREF _Toc464459143 h 73.1.33uniiquee約束 PAGEREF _Toc464459144 h 73.1.44priimarry kkey約約束 PAGEREF _Toc464459145 h 73.1.55參照完完整性約約束 PAGEREF _Toc464459146 h 83.1.66cheeck約約束 PAGEREF _Toc46445914

3、7 h 83.2存存儲過程程 PAGEREF _Toc464459148 h 83.3觸觸發(fā)器 PAGEREF _Toc464459149 h 93.4事事務(wù)處理理 PAGEREF _Toc464459150 h 93.4.33事務(wù)與與一致性性 PAGEREF _Toc464459151 h 103.4.44事務(wù)和和恢復(fù) PAGEREF _Toc464459152 h 103.5并并發(fā)處理理 PAGEREF _Toc464459153 h 103.5.33死鎖 PAGEREF _Toc464459154 h 113.5.44讀一致致性 PAGEREF _Toc464459155 h 113.6

4、序序號生成成器 PAGEREF _Toc464459156 h 113.7視視圖 PAGEREF _Toc464459157 h 113.7.33安全性性 PAGEREF _Toc464459158 h 123.7.44邏輯數(shù)數(shù)據(jù)獨立立性 PAGEREF _Toc464459159 h 124.調(diào)整整數(shù)據(jù)庫庫設(shè)計以以提高系系統(tǒng)性能能 PAGEREF _Toc464459160 h 134.1建建立有用用的性能能標準 PAGEREF _Toc464459161 h 134.2數(shù)數(shù)據(jù)庫的的規(guī)范化化 PAGEREF _Toc464459162 h 134.3通通過非規(guī)規(guī)范化設(shè)設(shè)計提高高數(shù)據(jù)庫庫的效率

5、率 PAGEREF _Toc464459163 h 134.3.33非規(guī)范范化的原原因 PAGEREF _Toc464459164 h 134.3.44非規(guī)范范化技術(shù)術(shù) PAGEREF _Toc464459165 h 144.3.55進行非非規(guī)范化化處理時時的注意意事項 PAGEREF _Toc464459166 h 144.4表表的大小小 PAGEREF _Toc464459167 h 154.4.33表是否否過小 PAGEREF _Toc464459168 h 154.4.44表是否否過大 PAGEREF _Toc464459169 h 154.4.55如何減減小表的的尺寸 PAGEREF

6、 _Toc464459170 h 154.5記記錄的大大小 PAGEREF _Toc464459171 h 154.5.33列有最最佳的位位置嗎 PAGEREF _Toc464459172 h 154.5.44存在最最佳的記記錄大小小嗎 PAGEREF _Toc464459173 h 154.5.55記錄是是否過小小 PAGEREF _Toc464459174 h 154.5.66記錄是是否過大大 PAGEREF _Toc464459175 h 154.5.77如何減減小記錄錄 PAGEREF _Toc464459176 h 164.5.88總結(jié) PAGEREF _Toc464459177 h

7、 165.其它它 PAGEREF _Toc464459178 h 16文檔類別使使用對象象文檔類別該文檔是通通用軟件件公司的的關(guān)系型型數(shù)據(jù)庫庫的設(shè)計計規(guī)范,是是技術(shù)文文檔。使用對象該文檔使用用人員包包括:開發(fā)本部總總經(jīng)理各產(chǎn)品部、事事業(yè)部的的經(jīng)理、項項目經(jīng)理理、設(shè)計計人員軟件中心負負責人、設(shè)設(shè)計人員員公司總經(jīng)理理概述1.1 簡簡介本文檔總結(jié)結(jié)了公司司進行多多年來的的SYBBASEE數(shù)據(jù)庫庫設(shè)計經(jīng)經(jīng)驗,目目的將公公司進行行數(shù)據(jù)庫庫設(shè)計的的經(jīng)驗積積累下來來,實現(xiàn)現(xiàn)設(shè)計經(jīng)經(jīng)驗的復(fù)復(fù)用,為為項目評評審與項項目質(zhì)量量保證提提供進行行檢查的的依據(jù)。本規(guī)范從數(shù)數(shù)據(jù)庫設(shè)設(shè)計的目目的、數(shù)數(shù)據(jù)庫的的各個特特征、數(shù)

8、數(shù)據(jù)庫的的規(guī)范化化等各個個方面進進行論述述,對進進行SYYBASSE數(shù)據(jù)據(jù)庫的設(shè)設(shè)計提供供了很好好的依據(jù)據(jù)。1.2 術(shù)術(shù)語定義義1.3 參參考資料料Poweerbuuildder開開發(fā)設(shè)計計中的數(shù)數(shù)據(jù)庫設(shè)設(shè)計曉曉通數(shù)據(jù)據(jù)庫研究究與發(fā)展展中心公公司1.4 版版本更新新記錄版本/修訂訂版日期修改記錄備注1.010/100/99初始版本2數(shù)據(jù)庫庫設(shè)計的的目標 好好的數(shù)據(jù)據(jù)庫物理理設(shè)計應(yīng)應(yīng)當充分分考慮應(yīng)應(yīng)用的需需求和開開發(fā)工具具的特征征,應(yīng)當當充分利利用和挖挖掘數(shù)據(jù)據(jù)庫的功功能。一一流的數(shù)數(shù)據(jù)庫設(shè)設(shè)計會給給整個應(yīng)應(yīng)用系統(tǒng)統(tǒng)帶來以以下的好好處:維護容易。當當需求發(fā)發(fā)生變化化時,優(yōu)優(yōu)良的數(shù)數(shù)據(jù)庫設(shè)設(shè)計會使

9、使應(yīng)用系系統(tǒng)容易易地適應(yīng)應(yīng)這種變變化。編程簡單。由由于數(shù)據(jù)據(jù)庫設(shè)計計充分挖挖掘了數(shù)數(shù)據(jù)庫的的功能,所所以應(yīng)用用程序的的復(fù)雜度度可以明明顯降低低。加快開發(fā)速速度。因因為數(shù)據(jù)據(jù)庫設(shè)計計充分地地考慮了了需求和和開發(fā)工工具的特特征,所所以開發(fā)發(fā)人員會會感到左左右逢源源,得心心應(yīng)手,從從而可以以加快開開發(fā)速度度。系統(tǒng)具有良良好的整整體運行行效率。數(shù)據(jù)庫的特特征完整性約束束。完整整性約束束允許在在表上定定義某種種約束條條件,這這些條件件作為表表定義的的一部分分存在,從從而強制制表中的的數(shù)據(jù)滿滿足一定定的規(guī)則則。存儲過程。存存儲過程程是由流流控制語語句(iifelsse)和和SQLL語句書書寫的過過程,這這

10、個過程程經(jīng)過編編譯和優(yōu)優(yōu)化后存存儲在數(shù)數(shù)據(jù)庫服服務(wù)器中中,使用用時只要要調(diào)用即即可。觸發(fā)器。觸觸發(fā)器是是一種特特殊的存存儲過程程,不同同的是這這種過程程不是由由程序調(diào)調(diào)用來執(zhí)執(zhí)行,而而是通過過數(shù)據(jù)庫庫數(shù)據(jù)的的更新自自動地“觸發(fā)”執(zhí)行。事務(wù)處理:事務(wù)是是最小的的邏輯工工作單元元,在這這個單元元中對數(shù)數(shù)據(jù)庫所所有的更更新要么么全成功功要么全全失敗。并發(fā)處理。允允許用戶戶在沒有有沖突的的情況下下更新表表中不同同的行。行行級鎖和和頁級鎖鎖對聯(lián)機機事務(wù)處處理非常常有用。序號生成器器。數(shù)據(jù)據(jù)庫可以以自動生生成連續(xù)續(xù)的序號號供應(yīng)用用程序使使用。遵守工業(yè)標標準的SSQL。視圖。視圖圖是原始始數(shù)據(jù)庫庫表的變變換

11、,可可給應(yīng)用用程序帶帶來安全全性、簡簡單性和和獨立性性。分布處理。數(shù)數(shù)據(jù)可以以分布在在網(wǎng)絡(luò)的的多個點點上,數(shù)數(shù)據(jù)本身身支持分分布查詢詢和分布布修改。數(shù)據(jù)復(fù)制。數(shù)數(shù)據(jù)可以以在網(wǎng)絡(luò)絡(luò)的多個個數(shù)據(jù)庫庫點相互互復(fù)制。3.1完整整性約束束完整性約束束是數(shù)據(jù)據(jù)庫用于于維護數(shù)數(shù)據(jù)庫完完整性的的一種機機制。這這種約束束是表定定義的一一部分,是是內(nèi)部的的。與在在應(yīng)用程程序中維維護數(shù)據(jù)據(jù)庫的完完整性不不同,它它的代價價小而且且性能高高。完整性約束束有以下下兩點作作用:使企業(yè)的規(guī)規(guī)則與數(shù)數(shù)據(jù)庫聯(lián)聯(lián)系起來來。防止操作員員或終端端用戶輸輸入錯誤誤的數(shù)據(jù)據(jù),破壞壞數(shù)據(jù)庫庫的完整整性。完整性約束束有以下下幾種:not nn

12、ulll約束缺省值uniquue約束束primaary keyy約束foreiign keyy約束checkk約束3.1.11nott nuull約約束not nnulll的含義義是列中中不能有有空值。nnot nulll在創(chuàng)創(chuàng)建表時時定義。not nnulll約束限限定了列列中必須須有值,但但不能限限定列中中可以有有什么值值,因此此它常常常與其它它的約束束配合使使用。3.1.22缺省值值缺省值是在在數(shù)據(jù)錄錄入時,若若用戶沒沒有輸入入數(shù)據(jù),數(shù)數(shù)據(jù)庫自自動輸入入的值。下下面是定定義缺省省時應(yīng)注注意的一一些事項項:要確保列寬寬對缺省省值來說說足夠大大。要注意缺省省值與規(guī)規(guī)則間的的沖突,確確保缺省省

13、值為規(guī)規(guī)則所允允許,否否則,缺缺省值會會被規(guī)則則忽略掉掉。uniquue約束束唯一列是這這樣的列列,它的的值不能能在表中中重復(fù)出出現(xiàn)。注注意,唯唯一列與與主鍵不不同,主主鍵可用用來唯一一地標識識表中的的一行(不不能有空空值),而而唯一列列僅僅表表示該列列的值不不能在表表中重復(fù)復(fù)出現(xiàn)(可可以有空空值)。可以在一個個列上定定義唯一一列,也也可以在在表上定定義唯一一列,也也可以在在表上對對多個列列定義唯唯一列。primaary keyy約束每個表中都都應(yīng)有主主鍵,主主鍵唯一一標識表表中的行行。選擇擇主鍵應(yīng)應(yīng)注意以以下幾點點:選擇數(shù)據(jù)是是唯一的的列。選擇數(shù)據(jù)值值不會改改變的列列。主鍵鍵的目的的是唯一一

14、地標識識一行,不不含有用用于其它它目的的的數(shù)據(jù),選選擇一般般不需要要改變主主鍵值的的列。選擇不含有有空值的的列。根根據(jù)定義義,主鍵鍵列不允允許輸入入空值。選擇短的和和數(shù)值型型的列。避免選擇聯(lián)聯(lián)合主鍵鍵。雖然然允許聯(lián)聯(lián)合主鍵鍵,但很很難滿足足以上四四點要求求。參照完整性性約束參照完整性性約束用用來約束束兩個表表間的關(guān)關(guān)系??罩岛屯獠坎挎I對于缺?。o無nott nuull或或cheeck語語句)的的情況,外外部鍵約約束為組組合外部部鍵實施施“無匹配配”規(guī)則。通通過使用用cheeck和和nott nuull也也可使用用全部或或部分規(guī)規(guī)則:在組合外部部鍵中實實施全匹匹配規(guī)則則,要求求鍵的全全部要么么都

15、為空空要么都都不為空空。在一般情況況下,不不能使用用參照完完整性在在組合鍵鍵中實施施部分匹匹配規(guī)則則。部分分匹配規(guī)規(guī)則要求求鍵的非非空部分分出現(xiàn)在在引用表表的主鍵鍵的對應(yīng)應(yīng)部分上上,這種種情況一一般要用用觸發(fā)器器來處理理。父表和子表表的關(guān)系系父表和子表表的關(guān)系系決定于于在子表表的外部部鍵上定定義的其其它類型型的完整整性約束束。在外部鍵上上沒有約約束。在外部鍵上上有非空空約束。在外部鍵上上有unniquue約束束。在外部鍵上上有unniquue和nnot nulll約束束。checkk約束當需要根據(jù)據(jù)邏輯表表達式來來限定列列的值域域時,可可以用cchecck完整整性約束束。chheckk約束的的

16、寫法和和wheere子子句的寫寫法一樣樣,但它它有如下下的限制制:條件必須是是能夠利利用更新新行中的的值來求求值的表表達式。條件中不能能有子查查詢或序序號。條件中不能能含有函函數(shù)。條件中不能能含有偽偽列。存儲過程存儲過程是是由流控控制和SSQL語語句書寫寫的過程程,這個個過程經(jīng)經(jīng)編譯和和優(yōu)化后后存儲在在數(shù)據(jù)庫庫服務(wù)器器中,使使用時只只要調(diào)用用即可。使用存儲過過程有以以下優(yōu)點點:存儲過程的的能力大大大增強強了SQQL語言言的功能能和靈活活性。存存儲過程程可以用用流控制制語句編編寫,有有很強的的靈活性性,可以以完成復(fù)復(fù)雜的判判斷和較較復(fù)雜的的運算??杀WC數(shù)據(jù)據(jù)的安全全性和完完整性。通過存儲過過程可

17、以以使沒有有權(quán)限的的用戶在在控制之之下間接接地寸取取數(shù)據(jù)庫庫,從而而保證數(shù)數(shù)據(jù)的安安全。通過存儲過過程可以以使相關(guān)關(guān)的動作作在一起起發(fā)生,從從而可以以維護數(shù)數(shù)據(jù)庫的的完整性性。在運行存儲儲過程前前,數(shù)據(jù)據(jù)庫已對對其進行行了語法法和句法法分析,并并給出了了優(yōu)化執(zhí)執(zhí)行方案案。這種種已經(jīng)編編譯好的的過程可可極大地地改善SSQL語語句的性性能。由由于執(zhí)行行SQLL語句的的大部分分工作已已經(jīng)完成成,所以以存儲過過程能以以極快的的速度執(zhí)執(zhí)行??梢越档途W(wǎng)網(wǎng)絡(luò)的通通信量。使體現(xiàn)企業(yè)業(yè)規(guī)則的的運算程程序放入入數(shù)據(jù)庫庫服務(wù)器器中,以以便:集中控制。當企業(yè)規(guī)則則發(fā)生變變化時在在服務(wù)器器中改變變存儲過過程即可可,無須

18、須修改任任何應(yīng)用用程序。觸發(fā)器觸發(fā)器是一一種特殊殊的存儲儲過程,它它在插入入、刪除除或修改改特定表表中的數(shù)數(shù)據(jù)時觸觸發(fā)執(zhí)行行,它比比數(shù)據(jù)庫庫本身標標準的功功能有更更精細和和更復(fù)雜雜的數(shù)據(jù)據(jù)控制能能力。數(shù)數(shù)據(jù)庫觸觸發(fā)器有有以下的的作用:安全性??煽梢曰谟跀?shù)據(jù)庫庫的值使使用戶具具有操作作數(shù)據(jù)庫庫的某種種權(quán)利。可以基于時時間限制制用戶的的操作??梢曰跀?shù)數(shù)據(jù)庫中中的數(shù)據(jù)據(jù)限制用用戶的操操作。審計??梢砸愿櫽糜脩魧?shù)數(shù)據(jù)庫的的操作。審計用戶操操作數(shù)據(jù)據(jù)庫的語語句。把用戶對數(shù)數(shù)據(jù)庫的的更新寫寫入審計計表。實現(xiàn)復(fù)雜的的數(shù)據(jù)完完整性規(guī)規(guī)則。實現(xiàn)非標準準的數(shù)據(jù)據(jù)完整性性檢查和和約束。觸觸發(fā)器可可產(chǎn)生比比規(guī)

19、則更更復(fù)雜的的限制。與與規(guī)則不不同,觸觸發(fā)器可可以引用用列或數(shù)數(shù)據(jù)庫對對象。提供可變的的缺省值值。實現(xiàn)復(fù)雜的的非標準準的數(shù)據(jù)據(jù)庫相關(guān)關(guān)完整性性規(guī)則。觸觸發(fā)器可可以對數(shù)數(shù)據(jù)庫中中相關(guān)的的表進行行連環(huán)更更新。在修改或刪刪除時級級聯(lián)修改改或刪除除其它表表中的與與之匹配配的行。在修改或刪刪除時把把其它表表中的與與之匹配配的行設(shè)設(shè)成NUULL值值。在修改或刪刪除時把把其它表表中的與與之匹配配的行級級聯(lián)成缺缺省值。觸發(fā)器能夠夠拒絕或或“回退”那些破破壞相關(guān)關(guān)完整性性的變化化,取消消試圖進進行數(shù)據(jù)據(jù)更新的的事物。當當插入一一個與主主鍵不匹匹配的外外部鍵時時,這種種觸發(fā)器器會起作作用。同步實時地地復(fù)制表表中的

20、數(shù)數(shù)據(jù)。自動計算數(shù)數(shù)據(jù)值,如如果數(shù)據(jù)據(jù)的值達達到了一一定的要要求,則則進行特特定的處處理。事務(wù)處理事務(wù)是這樣樣一種機機制,它它確保多多個SQQL語句句被當作作單個工工作單元元來處理理。事務(wù)務(wù)具有以以下的作作用:一致性:同同時進行行的查詢詢和更新新彼此不不會發(fā)生生沖突,其其他用戶戶不會看看到發(fā)生生了變化化但尚未未提交的的數(shù)據(jù)??苫謴?fù)性:一旦系系統(tǒng)故障障,數(shù)據(jù)據(jù)庫會自自動地完完全恢復(fù)復(fù)未完成成的事務(wù)務(wù)。事務(wù)與一致致性事務(wù)是完整整性的單單位,一一個事務(wù)務(wù)的執(zhí)行行是把數(shù)數(shù)據(jù)庫從從一個一一致的狀狀態(tài)轉(zhuǎn)換換成另一一個一致致的狀態(tài)態(tài)。因此此,如果果事務(wù)孤孤立執(zhí)行行時是正正確的,但但如果多多個事務(wù)務(wù)并發(fā)交交錯

21、地執(zhí)執(zhí)行,就就可能相相互干擾擾,造成成數(shù)據(jù)庫庫狀態(tài)的的不一致致性。在在多用戶戶環(huán)境中中,數(shù)據(jù)據(jù)庫必須須避免同同時進行行的查詢詢和更新新發(fā)生沖沖突。這這一點是是很重要要的,如如果正在在被處理理的數(shù)據(jù)據(jù)能夠在在該處理理正在運運行時被被另一用用戶的修修改所改改變,那那么該處處理的結(jié)結(jié)果會是是不明確確的。不加控制的的并發(fā)存存取會產(chǎn)產(chǎn)生以下下的幾種種錯誤。丟失修改(llostt uppdattes)當多個事務(wù)務(wù)并發(fā)修修改一個個數(shù)據(jù)時時,不加加控制會會得出錯錯誤的結(jié)結(jié)果,一一個修改改會覆蓋蓋掉另一一個修改改。這種種丟失修修改叫“寫寫依賴賴”(WrriteeWriite Deppenddenccy)。讀的不

22、可重重復(fù)性當多個事務(wù)務(wù)按某種種時間順順序存取取若干數(shù)數(shù)據(jù)時,如如果對并并發(fā)存取取不加控控制,也也會產(chǎn)生生錯誤。這這叫做“讀寫依賴賴”(ReeadWriite Deppenddenccy)。臟讀(diirtyy daata),讀讀的不一一致性這種臟讀或或說讀的的不一致致性叫“寫讀依賴賴”(WrriteeReaad DDepeendeencyy)。光標帶來的的當前值值的混亂亂事務(wù)在執(zhí)行行過程中中它在某某個表上上的當前前位置是是由光標標表示的的。光標標指向當當前正處處理的記記錄。當當處理完完該條記記錄后,則則指向下下一條記記錄。在在多個事事務(wù)并發(fā)發(fā)執(zhí)行時時,一個個事務(wù)的的修改可可能產(chǎn)生生副作用用,使

23、與與這些光光標有關(guān)關(guān)的事務(wù)務(wù)出錯。未釋放修改改造成連連鎖退出出一個事務(wù)在在進行修修改操作作的過程程中可能能會發(fā)生生故障,這這時需要要將已做做的修改改回退(RRolllbacck)。如如果在已已進行過過或已發(fā)發(fā)現(xiàn)錯誤誤尚未復(fù)復(fù)原之前前允許其其它事務(wù)務(wù)讀已做做過的修修改(臟臟讀),則則會導(dǎo)致致連鎖退退出。一事務(wù)在對對一表更更新時,另另外的事事務(wù)卻修修改或刪刪除此表表的定義義。事務(wù)和恢復(fù)復(fù) 數(shù)數(shù)據(jù)庫本本身肩負負著管理理事務(wù)的的責任。事事務(wù)是最最小的邏邏輯工作作單元,在在這個工工作單元元中,對對數(shù)據(jù)庫庫的所有有更新工工作,要要么必須須全部成成功,要要么必須須全部失失?。ɑ鼗赝耍V恢灰獞?yīng)用用程序指指定

24、了某某段程序序為一個個事務(wù)并并做了相相應(yīng)的處處理,數(shù)數(shù)據(jù)庫系系統(tǒng)會自自動維護護事務(wù)本本身的特特性。并發(fā)處理數(shù)據(jù)庫的特特點就是是數(shù)據(jù)的的集中管管理和共共享。在在通常情情況下總總是有若若干個事事務(wù)并發(fā)發(fā)地運行行,這些些并行的的事務(wù)可可能并發(fā)發(fā)地存取取相同的的數(shù)據(jù)。因因此,數(shù)數(shù)據(jù)庫管管理系統(tǒng)統(tǒng)的一個個重要任任務(wù)就是是要有一一種機制制去保證證這種并并發(fā)的存存取和修修改不破破壞數(shù)據(jù)據(jù)的完整整性,確確保這些些事務(wù)能能正確地地運行并并取得正正確的結(jié)結(jié)果。事務(wù)并發(fā)執(zhí)執(zhí)行時若若不加控控制的話話將導(dǎo)致致不正確確的結(jié)果果和數(shù)據(jù)據(jù)庫的不不一致狀狀態(tài)。為為保證數(shù)數(shù)據(jù)庫數(shù)數(shù)據(jù)正確確地反映映所有事事務(wù)的更更新以及及在一事事

25、務(wù)修改改數(shù)據(jù)時時其它事事務(wù)不同同時修改改這個數(shù)數(shù)據(jù),數(shù)數(shù)據(jù)庫系系統(tǒng)用鎖鎖來控制制對數(shù)據(jù)據(jù)的并發(fā)發(fā)存取。死鎖當事務(wù)T11想要鎖鎖住的資資源已被被事務(wù)TT2鎖住住,而TT2想要要鎖住的的資源也也被T11鎖住時時,T11要等待待T2釋釋放資源源,T22要等待待T1釋釋放資源源。這樣樣,兩個個事務(wù)互互相等待待造成死死鎖。當數(shù)據(jù)庫檢檢測到死死鎖時,檢檢測到死死鎖的事事務(wù)被告告知出錯錯,回退退當前語語句。通通常被告告知出錯錯的事務(wù)務(wù)應(yīng)顯式式地回退退整個事事務(wù),但但用戶也也可不管管被鎖住住的資源源直接提提交或等等會兒再再重新做做。數(shù)據(jù)庫會自自動檢測測到死鎖鎖并恢復(fù)復(fù)。在應(yīng)應(yīng)用中,為為避免死死鎖,應(yīng)應(yīng)在事務(wù)務(wù)

26、的開始始加盡量量強的鎖鎖。在應(yīng)應(yīng)用系統(tǒng)統(tǒng)中,存存取同一一張表的的各種程程序應(yīng)使使用相同同的次序序,這會會避免死死鎖。讀一致性讀一致性是是數(shù)據(jù)庫庫事務(wù)處處理的重重要特性性,其含含義為:一事務(wù)對數(shù)數(shù)據(jù)庫的的任何更更新都在在本事務(wù)務(wù)內(nèi)見到到,數(shù)據(jù)據(jù)庫的數(shù)數(shù)據(jù)對本本事務(wù)是是一致的的。其它事務(wù)未未提交的的更新,在在本事務(wù)務(wù)內(nèi)見不不到。即即其它事事務(wù)的任任何更新新,只要要還沒提提交,則則對本事事務(wù)而言言,就好好象不存存在一樣樣。序號生成器器在很多應(yīng)用用系統(tǒng)要要用到序序號。由由于序號號是連續(xù)續(xù)生成的的,在大大型系統(tǒng)統(tǒng)中,會會有多個個用戶同同時申請請下一個個序號,序序號生成成便成了了應(yīng)用系系統(tǒng)的瓶瓶頸問題題。

27、為了解決這這個問題題,大型型數(shù)據(jù)庫庫都增加加了序號號對象。通通過序號號對象可可以自動動生成序序號,多多個用戶戶可以并并發(fā)讀取取,無須須互相等等待。視圖視圖是原始始數(shù)據(jù)庫庫數(shù)據(jù)的的一種變變換,是是查看表表中數(shù)據(jù)據(jù)的另外外一種方方式??煽梢詫⒁曇晥D看成成一個移移動的窗窗口,通通過它可可以看到到感興趣趣的數(shù)據(jù)據(jù)。視圖是從一一個或多多個實際際表中獲獲得的,這這些表的的數(shù)據(jù)存存放在數(shù)數(shù)據(jù)庫中中。那些些用于產(chǎn)產(chǎn)生視圖圖的表叫叫做視圖圖的基表表。一個個視圖也也可從另另一視圖圖中產(chǎn)生生。視圖的定義義存在數(shù)數(shù)據(jù)庫中中,與此此定義相相關(guān)的數(shù)數(shù)據(jù)并沒沒有再存存一份于于數(shù)據(jù)庫庫中。通通過視圖圖看到的的數(shù)據(jù)存存放在基基

28、表中。視圖看上去去非常象象數(shù)據(jù)庫庫的物理理表,對對它的操操作同任任何其它它的表一一樣。當當通過視視圖修改改數(shù)據(jù)時時,實際際上是在在改變基基表中的的數(shù)據(jù);相反地地,基表表數(shù)據(jù)的的改變也也會自動動反映在在由基表表產(chǎn)生的的視圖中中。由于于邏輯上上的原因因,有些些視圖可可以修改改對應(yīng)的的基表,有有些則不不能(僅僅僅能查查詢)。視圖有以下下的作用用:簡單性??纯吹降木途褪切枰?。視視圖不僅僅可以簡簡化用戶戶對數(shù)據(jù)據(jù)的理解解,也可可以簡化化他們的的操作。那那些被經(jīng)經(jīng)常使用用的查詢詢可以被被定義為為視圖,從從而使得得用戶不不必為以以后的操操作每次次指定全全部的條條件。安全性。通通過視圖圖用戶只只能查詢詢和

29、修改改他們所所能見到到的數(shù)據(jù)據(jù)。數(shù)據(jù)據(jù)庫中的的其它數(shù)數(shù)據(jù)則既既看不見見也取不不到。數(shù)數(shù)據(jù)庫授授權(quán)命令令可以使使每個用用戶對數(shù)數(shù)據(jù)庫的的檢索限限制到特特定的數(shù)數(shù)據(jù)庫對對象上,但但不能授授權(quán)到數(shù)數(shù)據(jù)庫的的行和特特定的列列上。通通過視圖圖,用戶戶可被限限制在數(shù)數(shù)據(jù)的不不同子集集上:基表的行的的子集上上?;淼牧械牡淖蛹仙稀;淼男泻秃土械淖幼蛹?。多個基表的的連接所所限定的的行上?;淼臄?shù)據(jù)據(jù)的統(tǒng)計計匯總上上。另一行視圖圖的一個個子集上上,或是是一些視視圖和基基表合并并后的子子集上。邏輯數(shù)據(jù)獨獨立性。視視圖可幫幫助用戶戶屏蔽真真實表結(jié)結(jié)構(gòu)變化化帶來的的影響。安全性視圖的安全全性可以以防止未未授權(quán)的

30、的用戶查查看特定定的行或或列。使使用戶只只能看到到表中特特定行的的方法如如下:在表中增加加一個標標志用戶戶的列;建立視圖,使使用戶只只能看到到標有自自己用戶戶名的列列;把視圖授權(quán)權(quán)給其他他用戶。邏輯數(shù)據(jù)獨獨立性視圖可以在在以下幾幾個方面面使程序序與數(shù)據(jù)據(jù)獨立:如果應(yīng)用建建立在數(shù)數(shù)據(jù)庫表表上,當當數(shù)據(jù)庫庫表發(fā)生生變化時時,可以以在表上上建立視視圖,通通過視圖圖屏蔽表表的變化化,從而而應(yīng)用程程序可以以不動。如果應(yīng)用建建立在數(shù)數(shù)據(jù)庫表表上,當當應(yīng)用發(fā)發(fā)生變化化時,可可以在表表上建立立視圖,通通過視圖圖屏蔽應(yīng)應(yīng)用的變變化,從從而使數(shù)數(shù)據(jù)庫表表不動。如果應(yīng)用建建立在視視圖上,當當數(shù)據(jù)庫庫表發(fā)生生變化時時

31、,可以以在表上上修改視視圖,通通過視圖圖屏蔽表表的變化化,從而而應(yīng)用程程序可以以不動。如果應(yīng)用建建立在視視圖上,當當應(yīng)用發(fā)發(fā)生變化化時,可可以在表表上修改改視圖,通通過視圖圖屏蔽應(yīng)應(yīng)用的變變化,從從而使數(shù)數(shù)據(jù)庫表表不動。調(diào)整數(shù)據(jù)庫庫設(shè)計以以提高系系統(tǒng)性能能建立有用的的性能標標準需遵循下列列標準:單條記錄的的更新應(yīng)應(yīng)當在11秒鐘之之內(nèi)。多條記錄的的更新不不超過110秒鐘鐘。對于少于44個表的的、數(shù)據(jù)據(jù)有一定定限度的的查詢,響響應(yīng)時間間應(yīng)在55秒鐘之之內(nèi)。對于其它的的數(shù)據(jù)有有一定限限度的多多表查詢詢應(yīng)在110秒鐘鐘之內(nèi)。整個表的查查詢時間間應(yīng)在330秒鐘鐘之內(nèi)。但是,不要要盲目地地接受性性能標準準

32、,有些些極端可可除外。數(shù)據(jù)庫的規(guī)規(guī)范化從關(guān)系模型型的角度度來看,標標準的表表應(yīng)當滿滿足第三三范式(33NF)。這這樣的表表結(jié)構(gòu)最最容易維維護,而而且最具具有可維維護性。對數(shù)據(jù)庫進進行規(guī)范范化處理理具有以以下的優(yōu)優(yōu)點:因為表的列列數(shù)減少少了,所所以搜索索、排序序、創(chuàng)建建索引的的速度可可以加快快。因為表減小小了,所所以按照照索引查查詢的速速度加快快了??梢愿玫氐厥褂枚味蝸砜刂浦茢?shù)據(jù)的的物理存存儲。每個表可以以只有很很少的索索引,因因此可以以加快更更新速度度??梢詼p少空空值和冗冗余,使使數(shù)據(jù)庫庫更緊湊湊。因為減少了了冗余的的數(shù)據(jù),可可以使觸觸發(fā)器的的執(zhí)行速速度更快快。減少數(shù)據(jù)的的不規(guī)則則性。規(guī)范化

33、使數(shù)數(shù)據(jù)庫的的維護和和修改變變得更容容易。數(shù)據(jù)庫經(jīng)過過規(guī)范化化后,數(shù)數(shù)據(jù)的查查詢雖然然需要更更多的連連接操作作,但對對于具有有索引的的列,連連接的速速度是比比較快的的。然而,全部部采用規(guī)規(guī)范化的的設(shè)計可可能達不不到最佳佳的性能能。因此此,雖然然推薦盡盡量采用用第三范范式的設(shè)設(shè)計,但但是在性性能得不不到滿足足的情況況下,需需要非規(guī)規(guī)范化的的方法提提高性能能。通過非規(guī)范范化設(shè)計計提高數(shù)數(shù)據(jù)庫的的效率非規(guī)范化的的原因在進行數(shù)據(jù)據(jù)庫的設(shè)設(shè)計時,出出于對數(shù)數(shù)據(jù)庫執(zhí)執(zhí)行效率率的考慮慮,可以以采用非非規(guī)范化化的方法法。所謂謂非規(guī)范范化的方方法,就就是在數(shù)數(shù)據(jù)庫的的設(shè)計中中適當?shù)氐亟档蛿?shù)數(shù)據(jù)庫的的范式。在在下列情情況下,通通常要考考慮進行行非規(guī)范范化處理理:大量頻繁的的查詢過過程所涉涉及的表表都需要要進行連連接。主要的應(yīng)用用程序在在執(zhí)行時時要將表表連接起起來進行行查詢。對數(shù)據(jù)庫的的計算需需要臨時時表或進進行復(fù)雜雜的查詢詢。非規(guī)范化技技術(shù)對數(shù)據(jù)庫進進行非規(guī)規(guī)范化的的目的在在于提高高應(yīng)用程程序的效效率,但但非規(guī)范范化處理理畢竟會會增加數(shù)數(shù)據(jù)冗余余,會帶帶來相應(yīng)應(yīng)的數(shù)據(jù)據(jù)完整性性問題。因因此,在在考慮非非規(guī)范化化處理時時,要慎慎重

溫馨提示

  • 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)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論