




已閱讀5頁,還剩9頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)庫建設(shè)規(guī)范目錄1. 前言22. 范圍23. 術(shù)語和定義23.1范式23.2關(guān)聯(lián)33.3關(guān)系模型33.4視圖33.5外鍵33.6約束33.7主鍵34. 命名規(guī)范44.1規(guī)范約定44.2表名44.3視圖44.4存儲(chǔ)過程44.5函數(shù)44.6觸發(fā)器44.7字段54.8索引55. 數(shù)據(jù)庫建設(shè)過程規(guī)范55.1概述55.2需求分析階段65.2.1需求調(diào)查65.2.2內(nèi)容分析65.3概念結(jié)構(gòu)設(shè)計(jì)階段75.2.1定義實(shí)體75.3.3定義關(guān)系75.3.4定義屬性75.3.5定義鍵85.3.6定義索引85.3.7定義其他對(duì)象和規(guī)則95.4邏輯結(jié)構(gòu)設(shè)計(jì)階段95.5數(shù)據(jù)庫物理設(shè)計(jì)階段105.6實(shí)施、運(yùn)行、維護(hù)規(guī)范106. 數(shù)據(jù)庫建設(shè)安全性規(guī)范116.1概述116.2完整性設(shè)計(jì)116.3物理安全136.4訪問控制136.5數(shù)據(jù)備份14 1. 前言數(shù)據(jù)庫技術(shù)是信息資源管理最有效的手段。數(shù)據(jù)庫設(shè)計(jì)是指對(duì)于一個(gè)給定的應(yīng)用環(huán)境,構(gòu)造最優(yōu)的數(shù)據(jù)庫模式,建立數(shù)據(jù)庫及其應(yīng)用系統(tǒng),有效存儲(chǔ)數(shù)據(jù),滿足用戶信息要求和處理要求。本規(guī)范通過數(shù)據(jù)建庫的命名、結(jié)構(gòu)、建庫過程及安全性措施等幾個(gè)技術(shù)方面進(jìn)行約定,目的就是提供一套規(guī)范、合理、科學(xué)的建庫技術(shù)體系,應(yīng)用系統(tǒng)提供建庫技術(shù)參考。2. 范圍本規(guī)范主要從關(guān)系數(shù)據(jù)庫的命名、關(guān)系和結(jié)構(gòu)以及建設(shè)過程等幾個(gè)方面來規(guī)定數(shù)據(jù)庫設(shè)計(jì)應(yīng)遵循的規(guī)范。3. 術(shù)語和定義3.1范式關(guān)系數(shù)據(jù)庫中的關(guān)系是要滿足一定要求的,滿足不同程度要求的為不同范式。滿足最低要求的叫第一范式,簡(jiǎn)稱 1NF。在第一范式中滿足進(jìn)一步要求的為第二范式,其余以此類推。一般而言,數(shù)據(jù)庫的設(shè)計(jì)應(yīng)至少滿足第三范式。3.2關(guān)聯(lián)關(guān)聯(lián)是不同表之間的數(shù)據(jù)彼此聯(lián)系的方法。關(guān)聯(lián)同時(shí)存在于形成不同實(shí)體的數(shù)據(jù)項(xiàng)之間和表實(shí)體本身之間,構(gòu)成了數(shù)據(jù)庫規(guī)范化的基本核心問題。它分為一對(duì)一、一對(duì)多、多對(duì)多三種關(guān)聯(lián)形式。3.3關(guān)系模型關(guān)系模型由關(guān)系數(shù)據(jù)結(jié)構(gòu)、關(guān)系操作集合和關(guān)系完整性約束三部分組成。在關(guān)系模型中,實(shí)體與實(shí)體間的聯(lián)系都是用關(guān)系來表示的。3.4視圖視圖是一個(gè)定制的虛擬表??梢允潜镜氐摹⑦h(yuǎn)程的或帶參數(shù)的;其數(shù)據(jù)可以來源于一個(gè)或多個(gè)表,或者其他視圖;它是可更新的,可以引用遠(yuǎn)程表;它可以更新數(shù)據(jù)源。視圖是基于數(shù)據(jù)庫的,因此,創(chuàng)建視圖的前必須有數(shù)據(jù)庫。3.5外鍵外鍵是一個(gè)關(guān)系中的一組屬性(一個(gè)或多個(gè)列),它同時(shí)也是某種(相同的或其它的)關(guān)系中的主鍵。它是關(guān)系之間的邏輯鏈接。3.6約束數(shù)據(jù)庫管理系統(tǒng)必須提供一種機(jī)制來檢查數(shù)據(jù)庫中的數(shù)據(jù),看其是否滿足語義規(guī)定的條件,這些加在數(shù)據(jù)庫數(shù)據(jù)之上的語義規(guī)范,稱為約束。約束又可以分為完整性約束、唯一性約束等。3.7主鍵每張表都應(yīng)該包含相同的一個(gè)或一組字段,它們都是保存在表中的、每一條記錄的唯一標(biāo)識(shí),通常這些字段(即主鍵)需要在建立數(shù)據(jù)表時(shí)就設(shè)定并標(biāo)記。4. 命名規(guī)范4.1規(guī)范約定命名采用 26個(gè)英文字母(一律大寫)和 09這十個(gè)自然數(shù),加上下劃線“_”組成,共 63個(gè)字符,不能出現(xiàn)其他字符(注釋除外)。數(shù)據(jù)庫對(duì)象包括表、視圖、存儲(chǔ)過程、函數(shù)、觸發(fā)器、字段、數(shù)據(jù)庫文檔。對(duì)象名字由前綴和實(shí)體名稱組成,長(zhǎng)度不超過 30個(gè)字符。前綴描述對(duì)象類型,實(shí)體名稱包括系統(tǒng)標(biāo)識(shí)等信息盡量詳盡描述實(shí)體的內(nèi)容,不以數(shù)字或下劃線開頭,對(duì)象名稱中的標(biāo)識(shí)用下劃線“_”進(jìn)行分隔。其中“”內(nèi)的內(nèi)容表示是可選內(nèi)容。4.2表名T_ _ 如:T_NPCP_ORDER4.3視圖V_ _ _ 如:V_NPCP_ORDER4.4存儲(chǔ)過程P_ _如:P_NPCP_ORDER_ADD4.5函數(shù)F_ _ _如:F_NPCP_ORDER_ADD4.6觸發(fā)器TR_ _ _如:TR_NPCP_ORDER_ADD4.7字段_ _如:ORDER_ID4.8索引IN_ _如:IN_NPCP_ORDER_NAME 5. 數(shù)據(jù)庫建設(shè)過程規(guī)范5.1概述建庫過程建議參考以下的建庫流程如圖 1所示。需求分析階段綜合各科學(xué)數(shù)據(jù)用戶的應(yīng)用需求,形成規(guī)范的需求調(diào)查表、需求規(guī)格書、功能需求表。概念設(shè)計(jì)階段形成獨(dú)立于機(jī)器特點(diǎn)、獨(dú)立于各個(gè)數(shù)據(jù)庫管理系統(tǒng)產(chǎn)品的概念模式,用 E-R圖來描述。邏輯設(shè)計(jì)階段將E-R圖轉(zhuǎn)換成具體的數(shù)據(jù)庫產(chǎn)品支持的數(shù)據(jù)模型如關(guān)系模型,形成數(shù)據(jù)庫邏輯模式。然后根據(jù)用戶處理的要求,安全性的考慮,在基本表的基礎(chǔ)上再建立必要的視圖形成數(shù)據(jù)的外模式。數(shù)據(jù)可以分為兩大類:關(guān)系數(shù)據(jù)和非關(guān)系數(shù)據(jù),在物理設(shè)計(jì)階段根據(jù)數(shù)據(jù)庫管理系統(tǒng)的特點(diǎn)和處理的需要,進(jìn)行物理存儲(chǔ)安排,設(shè)計(jì)索引,形成數(shù)據(jù)庫內(nèi)模式。最后進(jìn)行數(shù)據(jù)(或元數(shù)據(jù))錄入。建庫過程的每一步都是對(duì)其前一步驟的檢驗(yàn),對(duì)于發(fā)現(xiàn)的錯(cuò)誤或偏差需要進(jìn)行及時(shí)的評(píng)估,并進(jìn)行修正完善。對(duì)由于數(shù)據(jù)庫的設(shè)計(jì)而在應(yīng)用當(dāng)中的造成的不良影響及出現(xiàn)數(shù)據(jù)誤差等現(xiàn)象進(jìn)行修繕、更新、完善。圖 1數(shù)據(jù)庫建設(shè)過程5.2需求分析階段需求分析階段可以分為兩個(gè)步驟:需求調(diào)查和內(nèi)容分析。數(shù)據(jù)大概分為兩類數(shù)據(jù):關(guān)系型數(shù)據(jù)和非關(guān)系型數(shù)據(jù)(如文件,文檔)。在需求分析階段可以對(duì)這兩種數(shù)據(jù)進(jìn)行不同的處理和分析。5.2.1需求調(diào)查數(shù)據(jù)信息來源有以下幾種方法,分析系統(tǒng)需求分析報(bào)告書,組織調(diào)查會(huì),咨詢業(yè)務(wù)專家。非關(guān)系型數(shù)據(jù)要分析哪幾類類型,如文件的格式。5.2.2內(nèi)容分析需求收集和分析,結(jié)果得到數(shù)據(jù)字典描述的數(shù)據(jù)需求,數(shù)據(jù)流圖描述的處理需求。數(shù)據(jù)項(xiàng)數(shù)據(jù)項(xiàng)含義數(shù)據(jù)類型長(zhǎng)度取值范圍可選性注釋表1 數(shù)據(jù)字典規(guī)范模式圖2 數(shù)據(jù)流圖的表達(dá)方式5.3概念結(jié)構(gòu)設(shè)計(jì)階段這個(gè)階段的任務(wù)確定建模目標(biāo),開發(fā)建模計(jì)劃,組織建模隊(duì)伍,收集數(shù)據(jù)資源,制定約束和規(guī)范。5.2.1定義實(shí)體找出潛在的實(shí)體,形成初步實(shí)體表,然后再進(jìn)行必要的調(diào)整。滿足下述兩條準(zhǔn)則的事物,一般均可作為屬性對(duì)待。(1)作為“屬性”,不能再具有需要描述的性質(zhì)。 “屬性”必須是不可分的數(shù)據(jù)項(xiàng),不能包含其他屬性。(2)“屬性”不能與其他實(shí)體具有聯(lián)系,即 ER圖中所表示的聯(lián)系是實(shí)體之問的聯(lián)系。5.3.3定義關(guān)系模型中只允許二元聯(lián)系,n元聯(lián)系必須定義為 n個(gè)二元聯(lián)系。根據(jù)實(shí)際的業(yè)務(wù)需求和規(guī)則,使用實(shí)體聯(lián)系矩陣來標(biāo)識(shí)實(shí)體間的二元關(guān)系,然后根據(jù)實(shí)際情況確定出連接關(guān)系的勢(shì)、關(guān)系名和說明,確定關(guān)系類型,是標(biāo)識(shí)關(guān)系、非標(biāo)識(shí)關(guān)系(強(qiáng)制的或可選的)還是非確定關(guān)系、分類關(guān)系。如果子實(shí)體的每個(gè)實(shí)例都需要通過和父實(shí)體的關(guān)系來標(biāo)識(shí),則為標(biāo)識(shí)關(guān)系,否則為非標(biāo)識(shí)關(guān)系。非標(biāo)識(shí)關(guān)系中,如果每個(gè)子實(shí)體的實(shí)例都與而且只與一個(gè)父實(shí)體關(guān)聯(lián),則為強(qiáng)制的,否則為非強(qiáng)制的。如果父實(shí)體與子實(shí)體代表的是同一現(xiàn)實(shí)對(duì)象,那么它們?yōu)榉诸愱P(guān)系。即在這一步工作中確定任意有關(guān)聯(lián)的兩個(gè)實(shí)體之間的關(guān)系類型。5.3.4定義屬性從源數(shù)據(jù)表中抽取說明性的名詞開發(fā)出屬性表,確定屬性的所有者。定義非主鍵屬性,檢查屬性的非空及非多值規(guī)則。此外,還要檢查完全依賴函數(shù)規(guī)則和非傳遞依賴規(guī)則,保證一個(gè)非主鍵屬性必須依賴于主鍵、整個(gè)主鍵、僅僅是主鍵。5.3.5定義鍵通過引入交叉實(shí)體除去上一階段產(chǎn)生的非確定關(guān)系,然后從非交叉實(shí)體和獨(dú)立實(shí)體開始標(biāo)識(shí)侯選鍵屬性,以便唯一識(shí)別每個(gè)實(shí)體的實(shí)例,再從侯選鍵中確定主鍵。為了確定主鍵和關(guān)系的有效性,通過非空規(guī)則和非多值規(guī)則來保證,即一個(gè)實(shí)體實(shí)例的一個(gè)屬性不能是空值,也不能在同一個(gè)時(shí)刻有一個(gè)以上的值。找出誤認(rèn)的確定關(guān)系,將實(shí)體進(jìn)一步分解,最后構(gòu)造出 IDEF1X模型的鍵基視圖,確定關(guān)系中的主鍵和外鍵等。鍵選擇規(guī)范:1)鍵設(shè)計(jì)原則:為關(guān)聯(lián)字段創(chuàng)建外鍵;所有的鍵都必須唯一;避免使用復(fù)合鍵;外鍵總是關(guān)聯(lián)唯一的鍵字段。2)使用系統(tǒng)生成的主鍵,設(shè)計(jì)數(shù)據(jù)庫的時(shí)候采用系統(tǒng)生成的鍵作為主鍵,那么實(shí)際控制了數(shù)據(jù)庫的索引完整性。這樣,數(shù)據(jù)庫和非人工機(jī)制就有效地控制了對(duì)存儲(chǔ)數(shù)據(jù)中每一行的訪問。采用系統(tǒng)生成鍵作為主鍵還有一個(gè)優(yōu)點(diǎn):當(dāng)擁有一致的鍵結(jié)構(gòu)時(shí),找到邏輯缺陷很容易。3)不要采用用戶可編輯的字段作鍵(不讓主鍵具有可更新性)在確定采用什么字段作為表的鍵的時(shí)候,可一定要小心用戶將要編輯的字段。通常的情況下不要選擇用戶可編輯的字段作為鍵。4)可選鍵有時(shí)可做主鍵,把可選鍵進(jìn)一步用做主鍵,可以擁有建立強(qiáng)大索引的能力。5.3.6定義索引索引是從數(shù)據(jù)庫中獲取數(shù)據(jù)的最高效方式之一。95%的數(shù)據(jù)庫性能問題都可以采用索引技術(shù)得到解決。1)如果一個(gè)(或一組)屬性經(jīng)常在查詢條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引(或組合索引);2)如果一個(gè)屬性經(jīng)常作為最大值和最小值等聚集函數(shù)的參數(shù),則考慮在這個(gè)屬性上建立索引;3)如果一個(gè)(或一組)屬性經(jīng)常在連接操作的連接條件中出現(xiàn),則考慮在這個(gè)(或這組)屬性上建立索引;4)邏輯主鍵使用唯一的成組索引,對(duì)系統(tǒng)鍵(作為存儲(chǔ)過程)采用唯一的非成組索引,對(duì)任何外鍵列采用非成組索引??紤]數(shù)據(jù)庫的空間有多大,表如何進(jìn)行訪問,還有這些訪問是否主要用作讀寫。5)大多數(shù)數(shù)據(jù)庫都索引自動(dòng)創(chuàng)建的主鍵字段,但是可別忘了索引外鍵,它們也是經(jīng)常使用的鍵,比如運(yùn)行查詢顯示主表和所有關(guān)聯(lián)表的某條記錄就用得上。6)不要索引 MEMO(備注)字段,不要索引大型字段(有很多字符),這樣作會(huì)讓索引占用太多的存儲(chǔ)空間。7)不要索引常用的小型表。不要為小型數(shù)據(jù)表設(shè)置任何鍵,假如它們經(jīng)常有插入和刪除操作就更別這樣作了。對(duì)這些插入和刪除操作的索引維護(hù)可能比掃描表空間消耗更多的時(shí)間。5.3.7定義其他對(duì)象和規(guī)則定義屬性的數(shù)據(jù)類型、長(zhǎng)度、精度、非空、缺省值、約束規(guī)則等。定義觸發(fā)器、存儲(chǔ)過程、視圖、角色、同義詞、序列等對(duì)象信息。最后形成的概念模型用 E-R圖進(jìn)行表示。5.4邏輯結(jié)構(gòu)設(shè)計(jì)階段將概念結(jié)構(gòu)轉(zhuǎn)換為某個(gè)數(shù)據(jù)庫管理系統(tǒng)所支持的數(shù)據(jù)模型(例如關(guān)系模型),并對(duì)其進(jìn)行優(yōu)化。設(shè)計(jì)邏輯結(jié)構(gòu)應(yīng)該選擇最適于描述與表達(dá)相應(yīng)概念結(jié)構(gòu)的數(shù)據(jù)模型,然后選擇最合適的數(shù)據(jù)庫管理系統(tǒng),形成數(shù)據(jù)庫文檔。將 E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)化為關(guān)系模式。關(guān)系模型的邏輯結(jié)構(gòu)是一組關(guān)系模式的集合。E-R圖則是由實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系三個(gè)要素組成的。所以將 E-R圖轉(zhuǎn)換為關(guān)系模型實(shí)際上就是要將實(shí)體、實(shí)體的屬性和實(shí)體之間的聯(lián)系轉(zhuǎn)換為關(guān)系模式,這種轉(zhuǎn)換要遵循如下規(guī)范原則:1)一個(gè)實(shí)體型轉(zhuǎn)換為一個(gè)關(guān)系模式。實(shí)體的屬性就是關(guān)系的屬性。實(shí)體的標(biāo)識(shí)對(duì)應(yīng)關(guān)系模型的候選碼。2)一個(gè) m:n聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該聯(lián)系相連的各實(shí)體的碼以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系模型的候選碼為各實(shí)體標(biāo)識(shí)的組合。3)一個(gè) 1:n聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與 n端對(duì)應(yīng)的關(guān)系模式合并。如果轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,則與該聯(lián)系相連的各實(shí)體的標(biāo)識(shí) 以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性,而關(guān)系的碼為 n端實(shí)體的碼。4)一個(gè) 1:1聯(lián)系可以轉(zhuǎn)換為一個(gè)獨(dú)立的關(guān)系模式,也可以與任意一端對(duì)應(yīng)的關(guān)系模式合并。5)三個(gè)或三個(gè)以上實(shí)體間的一個(gè)多元聯(lián)系轉(zhuǎn)換為一個(gè)關(guān)系模式。與該多元聯(lián)系相連的各實(shí)體的標(biāo)識(shí)以及聯(lián)系本身的屬性均轉(zhuǎn)換為關(guān)系的屬性。而關(guān)系模型的候選碼為各實(shí)體碼的組合。6)同一實(shí)體集的實(shí)體間的聯(lián)系,即自聯(lián)系,也可按上述 1:1、1:n和 m:n三種情況分別處理。7)具有相同碼的關(guān)系模式可合并。為了進(jìn)一步提高數(shù)據(jù)庫應(yīng)用系統(tǒng)的性能,通常以規(guī)范化理論為指導(dǎo),還應(yīng)該適當(dāng)?shù)匦薷?、調(diào)整數(shù)據(jù)模型的結(jié)構(gòu),這就是數(shù)據(jù)模型的優(yōu)化。確定數(shù)據(jù)依賴。消除冗余的聯(lián)系。確定各關(guān)系模式分別屬于第幾范式。確定是否要對(duì)它們進(jìn)行合并或分解。一般來說將關(guān)系分解為 3NF的標(biāo)準(zhǔn),即:表內(nèi)的每一個(gè)值都只能被表達(dá)一次。表內(nèi)的每一行都應(yīng)該被唯一的標(biāo)識(shí)(有唯一鍵)。表內(nèi)不應(yīng)該存儲(chǔ)依賴于其他鍵的非鍵信息。對(duì)所有的快捷方式、命名規(guī)范、限制和函數(shù)都要編制文檔。采用給表、列、觸發(fā)器等加注釋的數(shù)據(jù)庫工具。對(duì)開發(fā)、支持和跟蹤修改非常有用。對(duì)數(shù)據(jù)庫文檔化,或者在數(shù)據(jù)庫自身的內(nèi)部或者單獨(dú)建立文檔。為加快數(shù)據(jù)庫設(shè)計(jì)速度,目前有很多數(shù)據(jù)庫輔助工具(CASE工具),如Rational公司的 Rational Rose,CA公司Erwin和Bpwin,Sybase公司的owerDesigner以及 Oracle公司的 Oracle Designer等。設(shè)計(jì)人員可根據(jù)需要選用相應(yīng)的數(shù)據(jù)庫設(shè)計(jì)建模工具。5.5數(shù)據(jù)庫物理設(shè)計(jì)階段數(shù)據(jù)庫物理設(shè)計(jì)過程中需要對(duì)時(shí)間效率、空間效率、維護(hù)代價(jià)和各種用戶要求進(jìn)行權(quán)衡,其結(jié)果可以產(chǎn)生多種方案,數(shù)據(jù)庫設(shè)計(jì)人員必須對(duì)這些方案進(jìn)行細(xì)致的評(píng)價(jià),從中選擇一個(gè)較優(yōu)的方案作為數(shù)據(jù)庫的物理結(jié)構(gòu)。評(píng)價(jià)物理數(shù)據(jù)庫的方法完全依賴于所選用的數(shù)據(jù)庫管理系統(tǒng),主要是從定量估算各種方案的存儲(chǔ)空間、存取時(shí)間和維護(hù)代價(jià)入手,對(duì)估算結(jié)果進(jìn)行權(quán)衡、比較,選擇出一個(gè)較優(yōu)的合理的物理結(jié)構(gòu)。如果該結(jié)構(gòu)不符合用戶需求,則需要修改設(shè)計(jì)。規(guī)范規(guī)定,物理設(shè)計(jì)當(dāng)中在遵循數(shù)據(jù)庫設(shè)計(jì)范式的基礎(chǔ)之上,規(guī)定科學(xué)數(shù)據(jù)庫建庫時(shí)除數(shù)據(jù)庫設(shè)計(jì)所遵循的范式外的一些適用規(guī)范:1) 所有數(shù)據(jù)記錄都要有 ID序列字段,ID號(hào)由數(shù)據(jù)庫自動(dòng)生成,以標(biāo)識(shí)記錄。2) 所有記錄都要有“更新時(shí)間”字段,記錄標(biāo)識(shí)數(shù)據(jù)更新情況。3) 對(duì)于主-明細(xì)表結(jié)構(gòu),設(shè)計(jì)對(duì)應(yīng)的視圖將兩表連接用于查詢。4) 可以取消主外鍵關(guān)聯(lián),通過對(duì)應(yīng)的程序來維護(hù)數(shù)據(jù)一致性。5) 類別和狀態(tài)的多選:多選分為必選(1.n)和可選(0.n)。如是必選,在設(shè)計(jì)時(shí)要有說明,在程序?qū)崿F(xiàn)中應(yīng)有控制和檢查。兩個(gè)可選的類別或狀態(tài)表可以合并為一個(gè)表,再與引用此表的主表形成多對(duì)多的關(guān)系。5.6實(shí)施、運(yùn)行、維護(hù)規(guī)范運(yùn)用數(shù)據(jù)庫管理系統(tǒng)提供的數(shù)據(jù)語言(例如 SQL)及其宿主語言(例如JAVA),根據(jù)邏輯設(shè)計(jì)和物理設(shè)計(jì)的結(jié)果建科學(xué)數(shù)據(jù)庫,編制與調(diào)試應(yīng)用程序,組織科學(xué)數(shù)據(jù)入庫,并進(jìn)行試運(yùn)行。規(guī)范規(guī)定:SQL關(guān)鍵詞全部大寫,比如SELECT,UPDATE,FROM,ORDER,BY等。數(shù)據(jù)庫實(shí)施主要包括以下工作:用 DDL定義數(shù)據(jù)庫結(jié)構(gòu)、組織數(shù)據(jù)入庫、編制與調(diào)試應(yīng)用程序、數(shù)據(jù)庫試運(yùn)行。建立或者修訂數(shù)據(jù)庫之后,必須用用戶新輸入的數(shù)據(jù)測(cè)試數(shù)據(jù)字段。所有的sql語句要最進(jìn)性能分析,和壓力測(cè)試。并且需要提交測(cè)試報(bào)告。數(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)整與修改,定期提交運(yùn)行監(jiān)測(cè)報(bào)告。包括:數(shù)據(jù)庫的轉(zhuǎn)儲(chǔ)和恢復(fù)、數(shù)據(jù)庫的安全性、完整性控制、數(shù)據(jù)庫性能的監(jiān)督、分析和改進(jìn)、數(shù)據(jù)庫的重組織和重構(gòu)造。 6. 數(shù)據(jù)庫建設(shè)安全性規(guī)范6.1概述隨著數(shù)據(jù)庫技術(shù)的不斷進(jìn)步,信息安全問題也日益突出,數(shù)據(jù)庫的安全性也更加受到重視。建設(shè)科學(xué)數(shù)據(jù)庫中,很多科學(xué)數(shù)據(jù)都是不可再現(xiàn)的,甚至是長(zhǎng)期積累獲得的成果,失不可得,因此科學(xué)數(shù)據(jù)的安全性顯得尤為重要。安全策略主要是維護(hù)科學(xué)數(shù)據(jù)信息的完整性、保密性和可用性。科學(xué)數(shù)據(jù)庫的安全建設(shè)規(guī)范主要是物理安全、訪問控制、數(shù)據(jù)備份等。同其它數(shù)據(jù)資源相同,科學(xué)數(shù)據(jù)庫數(shù)據(jù)的安全威脅主要來自三個(gè)方面:非人為破壞,比如地震等;人為的非主動(dòng)破壞,比如誤操作;人為主動(dòng)破壞,比如黑客入侵。對(duì)于非人為破壞,主要只能依靠定期備份或者熱備份等,并在相隔物理距離外保護(hù)備份。本規(guī)范主要討論對(duì)于人為破壞的安全性規(guī)范。6.2完整性設(shè)計(jì)1)完整性實(shí)現(xiàn)機(jī)制:實(shí)體完整性:每個(gè)數(shù)據(jù)實(shí)體都要有主鍵,即每條數(shù)據(jù)記錄都要有唯一標(biāo)識(shí)以區(qū)分不同記錄。父表中插入數(shù)據(jù):父表中插入數(shù)據(jù),要看有哪些受限條件,以及注意插入父表數(shù)據(jù)時(shí)還有沒有其他的輔助數(shù)據(jù)輸入。如添加化學(xué)品數(shù)據(jù)基本信息時(shí),要注意其成分信息的添加和關(guān)聯(lián)。父表中更新數(shù)據(jù):同樣需要注意級(jí)聯(lián)更新和受限條件的更新。用戶定義完整性:數(shù)據(jù)字段的可選性(是否非空)以及數(shù)據(jù)檢查等。2)用約束強(qiáng)制數(shù)據(jù)完整性完整性約束條件作用的對(duì)象可以是關(guān)系、元組、列三種。其中列約束主要是列的類型、取值范圍、精度、排序等約束條件。元組的約束是元組中各個(gè)字段間的聯(lián)系的約束。關(guān)系的約束是若干元組間、關(guān)系集合上以及關(guān)系之間的聯(lián)系的約束。完整性約束條件涉及的這三類對(duì)象,其狀態(tài)可以是靜態(tài)的,也可以是動(dòng)態(tài)的。(1)靜態(tài)列級(jí)約束靜態(tài)列級(jí)約束是對(duì)一個(gè)列的取值域的說明,這是最常用也最容易實(shí)現(xiàn)的一類完整性約束,包括以下幾方面:l對(duì)數(shù)據(jù)類型的約束(包括數(shù)據(jù)的類型、長(zhǎng)度、單位、精度等)。l對(duì)數(shù)據(jù)格式的約束。l對(duì)取值范圍或取值集合的約束。l對(duì)空值的約束,空值表示未定義或未知的值,它與零值和空格不同。有的列允許空值,有的則不允許。l其他約束,例如關(guān)于列的排序說明,組合列等。(2)靜態(tài)元組約束一個(gè)元組是由若干個(gè)列值組成的,靜態(tài)元組約束就是規(guī)定元組的各個(gè)列之間的約束關(guān)系。例如訂貨關(guān)系中包含發(fā)貨量、訂貨量等列,規(guī)定發(fā)貨量不得超過訂貨量;又如教師關(guān)系中包含職稱、工資等列,規(guī)定教授的工資不低于 1000元(3)靜態(tài)關(guān)系約束在一個(gè)關(guān)系的各個(gè)元組之間或者若干關(guān)系之間常常存在各種聯(lián)系或約束。常見的靜態(tài)關(guān)系約束有:l實(shí)體完整性約束和參照完整性約束:實(shí)體完整性約束和參照完整性約束是關(guān)系模型的兩個(gè)極其重要的約束,稱為關(guān)系的兩個(gè)不變性。l函數(shù)依賴約束。大部分函數(shù)依賴約束都在關(guān)系模式中定義。l統(tǒng)計(jì)約束。即字段值與關(guān)系中多個(gè)元組的統(tǒng)計(jì)值之間的約束關(guān)系。例如規(guī)定部門經(jīng)理的工資不得高于本部門職工平均工資的 5倍,不得低于本部門職工平均工資的 2倍。這里,本部門職工的平均工資是一個(gè)統(tǒng)計(jì)值。(4)動(dòng)態(tài)列級(jí)約束動(dòng)態(tài)列級(jí)約束是修改列定義或列值時(shí)應(yīng)滿足的約束條件;包括下面兩方面:修改列定義時(shí)的約束,例如,將允許空值的列改為不允許空值時(shí),如果該列目前已存在空值,則拒絕這種修改。修改列值時(shí)的約束,修改列值有時(shí)需要參照其舊值,并且新舊值之間需要滿足某種約束條件。例如,職工工資調(diào)整不得低于其原來工資,學(xué)生年齡只能增長(zhǎng)等。(5)動(dòng)態(tài)元組約束動(dòng)態(tài)元組約束是指修改元組的值時(shí)元組中各個(gè)字段間需要滿足某種約束條件。例如職工工資調(diào)整時(shí)新工資不得低于原工資工齡*1.5等。(6)動(dòng)態(tài)關(guān)系約束動(dòng)態(tài)關(guān)系約束是加在關(guān)系變化前后狀態(tài)上的限制條件,例如事務(wù)一致性、原子性等約束條件。3)強(qiáng)制指示完整性在有害數(shù)據(jù)進(jìn)入數(shù)據(jù)庫之前將其剔除。激活數(shù)據(jù)庫系統(tǒng)的指示完整性特性。這樣可以保持?jǐn)?shù)據(jù)的清潔而能迫使開發(fā)人員投入更多的時(shí)間處理錯(cuò)誤條件。4)使用查找控制數(shù)據(jù)完整性控制數(shù)據(jù)完整性的最佳方式就是限制用戶的選擇。只要有可能都應(yīng)該提供給用戶一個(gè)清晰的價(jià)值列表供其選擇。這樣將減少鍵入代碼的錯(cuò)誤和誤解同時(shí)提供數(shù)據(jù)的一致性。某些公共數(shù)據(jù)特別適合查找:國家代碼、狀態(tài)代碼等。5)采用視圖在數(shù)據(jù)庫和應(yīng)用程序代碼之間提供另一層抽象,可以為應(yīng)用程序建立專門的視圖而不必非要應(yīng)用程序直接訪問數(shù)據(jù)表。這樣做會(huì)在處理數(shù)據(jù)庫變更時(shí)提供了更多的自由。6.3物理安全保證物理安全是安全防范的基本。這主要是指保證數(shù)據(jù)庫服務(wù)器、數(shù)據(jù)庫所在環(huán)境、相關(guān)網(wǎng)絡(luò)的物理安全性。比如:是否能夠保證服務(wù)器所在網(wǎng)絡(luò)的網(wǎng)線、交換機(jī)性能環(huán)境的物理安全;是否只有數(shù)據(jù)庫管理員能夠在物理上接觸數(shù)據(jù)庫服務(wù)器;是否能夠確保避免通過社會(huì)工程學(xué)的手段來欺騙或者誘導(dǎo)從而能獲得物理上的訪問能力等等。6.4訪問控制訪問控制是基本安全性的核心。數(shù)據(jù)庫系統(tǒng)的訪問控制也包括了帳號(hào)管理、密碼策略、權(quán)限控制、用戶認(rèn)證等方面,主要是從與帳號(hào)相關(guān)的方面來維護(hù)數(shù)據(jù)庫的安全性。訪問控制策略主要包括:避免帳號(hào)被人列舉。比如,非管理員獲得所有數(shù)據(jù)庫用戶帳號(hào)列表。最小化權(quán)限原則。數(shù)據(jù)庫管理員僅僅分配帳號(hào)的足夠使用權(quán)限。比如,如果一個(gè)用戶只需要進(jìn)行數(shù)據(jù)庫的查詢工作,那么這個(gè)用戶使用的權(quán)限就只能局限于 SELECT語句,而不能有 DELETE、UPDATE等語句的使用權(quán)限。權(quán)限的擴(kuò)散以及超越應(yīng)用范圍的訪問是訪問控制的一大威脅,很多科
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文明駕考試題及答案
- 物業(yè)人員考試題及答案
- 封窗美化改造方案
- 物理管理面試題及答案
- 模擬盲人考試題及答案
- 高端酒店客房樓頂花園使用權(quán)租賃合同
- 設(shè)計(jì)院新員工入職培訓(xùn)方案
- 教育功能概述
- 脊柱側(cè)彎的護(hù)理病例討論
- 感覺與挫折教育
- GB/T 18033-2007無縫銅水管和銅氣管
- GB/T 17007-1997絕緣柵雙極型晶體管測(cè)試方法
- GB/T 15056-2017鑄造表面粗糙度評(píng)定方法
- GB/T 13912-2020金屬覆蓋層鋼鐵制件熱浸鍍鋅層技術(shù)要求及試驗(yàn)方法
- 化學(xué)水處理安全檢查表
- DB34-T 4102-2022廢舊鋰離子動(dòng)力蓄電池貯存安全技術(shù)條件-高清現(xiàn)行
- 景陵峪構(gòu)造報(bào)告構(gòu)造地質(zhì)學(xué)
- GB∕T 8163-2018 輸送流體用無縫鋼管
- T∕ASC 17-2021 電動(dòng)汽車充換電設(shè)施系統(tǒng)設(shè)計(jì)標(biāo)準(zhǔn)
- 機(jī)動(dòng)車排放檢驗(yàn)檢測(cè)方法內(nèi)部審批程序
- 2MW工商業(yè)分布式光伏電站項(xiàng)目可行性研究報(bào)告
評(píng)論
0/150
提交評(píng)論