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

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

ConfidentialConfidential錯誤!未找到引用源。,2000Page#of21錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日修訂歷史記錄日期版本說明作者2006/12/151.0創(chuàng)建任曉山2006/12/191.1初審任曉山2008/9/181.2增加字段長度規(guī)范要求,以及操作日志的規(guī)范要求Powerdesigner報表生成劉恒輝2009/11/251.3增加字符串字段要求,修改不正確的地方劉恒輝2010/8/27補充之前未定義的內容,整理文檔格式。姚同鋒編制部門:產品研發(fā)部發(fā)放范圍:產品研發(fā)部556777777777888899999999991010101010101011111111111111111112錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日目錄概述數(shù)據(jù)庫設計的基本原則數(shù)據(jù)庫建模數(shù)據(jù)分析數(shù)據(jù)關系分析數(shù)據(jù)量分析擴展性分析數(shù)據(jù)字典(參考)3.5.1數(shù)據(jù)項3.5.2數(shù)據(jù)結構3.5.3數(shù)據(jù)流3.5.4數(shù)據(jù)存儲3.5.5處理過程E-R圖分析描述工具數(shù)據(jù)庫對象設計表的設計原則4.1.1命名規(guī)則4.1.2公用包的命名規(guī)則4.1.3表說明字段設計原則4.2.1命名規(guī)則4.2.2字段說明4.2.3字段的一致性4.2.4建議字段4.2.5日期時間字段4.2.6數(shù)字和文本字段鍵和索引4.3.1命名規(guī)則4.3.2鍵設計原則視圖設計原則(參考)4.4.1命名規(guī)則4.4.2視圖說明物化視圖4.5.1命名規(guī)則4.5.2物化視圖說明觸發(fā)器4.6.1命名規(guī)則4.6.2觸發(fā)器說明臨時表設計原則4.7.1命名規(guī)則4.7.2臨時表說明

錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日4.8有效組織數(shù)據(jù)庫對象124.8.1存儲過程分包存儲124.9包設計原則124.9.1命名規(guī)則124.9.2包說明124.10存儲過程設計原則(參考)124.10.1命名規(guī)則124.11函數(shù)設計原則(參考)134.11.1命名規(guī)則135.數(shù)據(jù)完整性設計(參考)135.1完整性實現(xiàn)機制135.2用約束而非商務規(guī)則強制數(shù)據(jù)完整性135.3強制指示完整性135.4使用查找控制數(shù)據(jù)完整性135.5采用視圖136.數(shù)據(jù)庫安全性設計146.1保證數(shù)據(jù)的完整性146.2保證數(shù)據(jù)可恢復性146.3其他安全原則147.數(shù)據(jù)庫的物理實現(xiàn)157.1數(shù)據(jù)庫的選擇157.1.1數(shù)據(jù)庫和版本的選擇157.1.2其他數(shù)據(jù)庫和版本比較157.1.3數(shù)據(jù)庫版權157.2數(shù)據(jù)庫運行環(huán)境157.2.1數(shù)據(jù)庫硬件配置157.2.2數(shù)據(jù)庫運行操作系統(tǒng)和版本167.2.3數(shù)據(jù)庫運行操作系統(tǒng)的版權167.3數(shù)據(jù)庫應用環(huán)境的物理結構(參考)167.3.1存儲結構設計167.3.2數(shù)據(jù)存放位置167.3.3存取方法設計167.4數(shù)據(jù)庫性能和測試方法(參考)177.4.1數(shù)據(jù)庫性能177.4.2測試方法17&數(shù)據(jù)庫的管理188.1數(shù)據(jù)庫管理員188.2數(shù)據(jù)庫導入、導出188.3數(shù)據(jù)庫備份、恢復188.4數(shù)據(jù)庫記錄清除188.5數(shù)據(jù)庫維護189.數(shù)據(jù)庫的升級199.1數(shù)據(jù)庫升級方式19錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日TOC\o"1-5"\h\z附錄20附錄一數(shù)據(jù)庫設計文檔說明209.2.1命名規(guī)則209.2.2數(shù)據(jù)庫表創(chuàng)建文本209.2.3全部應用SQL語句列表209.2.4數(shù)據(jù)庫設計文檔必須有版本號20附錄二數(shù)據(jù)庫設計說明書評審表20錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫設計標準(產品部)概述本文檔是數(shù)據(jù)庫設計執(zhí)行標準,其所涉及的內容是數(shù)據(jù)庫設計部分,不包括應用程序中數(shù)據(jù)庫訪問實現(xiàn)。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫設計的基本原則數(shù)據(jù)庫設計三個范式規(guī)定;第一范式(1NF):不存在多值字段第二范式(2NF):非主鍵字段依賴于主鍵的整體第三范式(3NF):非主鍵字段只依賴于主鍵錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫建模數(shù)據(jù)分析根據(jù)項目的《需求分析》列出全部數(shù)據(jù),包括:1)輸入數(shù)據(jù):原始數(shù)據(jù)。2)輸出數(shù)據(jù):用戶需要檢索的數(shù)據(jù),包括原始數(shù)據(jù)和派生的數(shù)據(jù)。數(shù)據(jù)關系分析1)數(shù)據(jù)分類:根據(jù)應用將數(shù)據(jù)表分類。2)類關系:表之間的相互關系。3)數(shù)據(jù)關系:表之間字段之間的關系。數(shù)據(jù)量分析1)數(shù)據(jù)量分析:最大可能的記錄數(shù)量。適當考慮記錄信息的備份、過期刪除等。2)數(shù)據(jù)流量分析:結合于用戶需求的單位時間可能進出的數(shù)據(jù)量分析。3)響應速度分析:為滿足用戶需求的響應速度分析。擴展性分析1)在項目《需求分析》的基礎上,充分考慮用戶未來可能的需求,在設計上為這種需求保留余地和可能的更改措施。2)注意考慮的內容是“結構”性的,而不是“內容”性的。數(shù)據(jù)字典(參考)3.5.1數(shù)據(jù)項1)數(shù)據(jù)項名2)數(shù)據(jù)項含義說明3)別名4)數(shù)據(jù)類型5)長度6)取值范圍7)取值含義8)與其他數(shù)據(jù)項的邏輯關系3?5?2數(shù)據(jù)結構1)數(shù)據(jù)結構名2)含義說明3)組成:數(shù)據(jù)項或數(shù)據(jù)結構3?5?3數(shù)據(jù)流1)數(shù)據(jù)流名2)說明3)數(shù)據(jù)流來源4)數(shù)據(jù)流去向5)組成:數(shù)據(jù)結構6)平均流量7)高峰期流量錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日3.5.4數(shù)據(jù)存儲1)數(shù)據(jù)存儲名2)說明3)編號4)流入的數(shù)據(jù)流5)流出的數(shù)據(jù)流6)組成:數(shù)據(jù)結構7)數(shù)據(jù)量8)存取方式3?5?5處理過程1)處理過程名2)說明3)輸入:數(shù)據(jù)流4)輸出:數(shù)據(jù)流5)處理:簡要說明E-R圖1)E-R圖也即實體-關系圖(EntityRelationshipDiagram),提供了表示實體型、屬性和關系的方法,用來描述現(xiàn)實世界的概念模型。2)要遵循E-R的設計規(guī)范,例如:實體(Entity):用矩形表示屬性(Attribute):用橢圓形表示關系(Relationship):用菱形表示,菱形框內寫明關系名,并用無向邊分別與有關實體連接起來,同時在無向邊旁標上聯(lián)系的類型(1:1,1:n或m:n)。分析描述工具1)統(tǒng)一使用PowerDesign。2)使用PowerDesign生成報表工具生成文檔錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫對象設計表的設計原則4.1.1命名規(guī)則1)只允許使用英文字母“A-Z”、數(shù)字“0-9”和符號“_”。2)全部大寫,不允許大小寫混合。3)格式“[應用名][—類型名]_表單詞1[—表單詞2]”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開,如“T_USER_MESSAGE”。5)不允許使用描述不明確的字母或數(shù)字。6)長度限制在20字節(jié)內。7)表示表名稱的單詞限定為2個。4.1.2公用包的命名規(guī)則1)礎公用包相關表,命名以SY_開頭2)業(yè)務公用包相關表,以業(yè)務名—開頭,業(yè)務名原則上不長于4個字符,例:SHOP_(商城,〈=4)4.1.3表說明每個表需要中文說明,該說明最終放到數(shù)據(jù)庫中。1)版本標記增加一個版本表,或在同類表中增加一個版本字段,用于說明當前數(shù)據(jù)庫的版本。2)盡量不要使用數(shù)據(jù)庫特殊功能不要過多的依賴后臺數(shù)據(jù)庫系統(tǒng)軟件的某些特殊功能。字段設計原則4.2.1命名規(guī)則1)只允許使用英文字母“A-Z”、數(shù)字“0-9”和符號“_”。2)格式:單詞1[—單詞2][_單詞3]3)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開,如“USER_TYPE”,不建議使用漢語拼音。4)不允許使用描述不明確的字母或數(shù)字。5)字段名長度限制在20字節(jié)內。6)表示字段名稱的單詞限定為3個。4.2.2字段說明如果數(shù)據(jù)庫允許的話,每個字段需要附加中文名稱或簡短說明,該說明最終放到數(shù)據(jù)庫中。4.2.3字段的一致性相同屬性的字段,要保證在各個表中的一致。1)名稱一致。2)類型一致。3)長度一致。4?2?4建議字段1)主鍵:每個表必須提供主鍵,可以采用UUID(32位字符串)或SEQUENCE來作為主鍵,建議一般項目用UUID,便于維護,“XXX_ID”。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日2)創(chuàng)建時間:添加記錄的當前時間。名稱統(tǒng)一為“CREATE_TIME”?!叭掌跁r間”類型;默認當前時間;3)刪除標記:使用刪除標志,而不是直接刪除記錄。名稱統(tǒng)一為“DELETE_SIGN”。布爾型;默認為“false”;如果是oracle數(shù)據(jù)庫則使用NUMBER(1)來存儲0/1。4)最后變更時間,具體看實際應用決定是否添加。如需考慮操作日志相關信息,必須新增操作日志表。5)說明:一般的表中應該包含上述字段,對臨時或小型反復操作的表除外。記錄的刪除,通過統(tǒng)一機制完成,比如“清除”等功能實現(xiàn)。4.2.5日期時間字段盡量使用“DATETIME”類型,在特殊情況下可以使用純日期類型的字段,某些統(tǒng)計表中可以使用其他類型表示時間的字段。4.2.6數(shù)字和文本字段1)數(shù)字和文本字段要充分考慮長度。在設計文檔中必須明確的說明用戶需求可能的最大允許范圍。2)數(shù)值型:除標志位字段(1位的數(shù)據(jù)),其他數(shù)值型字段設計為10位(為了擴展方便)。3)字符串:字符串默認設置長度為128位的VARCHAR2(保證字段足夠長),標識性、標志性和類型的字段根據(jù)實際情況確定長度,必須使用CHAR(X)或NUMBERo鍵和索引4.3.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)主鍵“PK_表名—主鍵名”;外鍵“FK_表名—外鍵名”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。6)名稱長度限制在30字節(jié)內。4.3.2鍵設計原則1)為關聯(lián)字段創(chuàng)建外鍵。2)所有的鍵都必須唯一。3)避免使用復合鍵。4)外鍵總是關聯(lián)唯一的鍵字段。5)使用系統(tǒng)生成的主鍵:盡量采用系統(tǒng)生成的鍵作為主鍵。6)不要用用戶的鍵:用戶輸入或可編輯的數(shù)據(jù)字段不要用于鍵,保障鍵值的正確性。7)索引外鍵:表之間的關系通過外鍵相連接,這些字段應該增加索引。8)不要索引注釋字段:不要索引memo/note字段,不要索引大型字段(有很多字符)。9)不要索引常用的小型表:不要為小型數(shù)據(jù)表設置任何鍵,假如它們經常有插入和刪除操作就更別這樣作了。10)建立索引主要是出于增強數(shù)據(jù)訪問性能的考慮。索引的種類很多,需要根據(jù)實際情況來建立適合的索引。對于可選擇范圍較小的字段,如地市等字段可以使用位圖索引;對于聚簇表,可以使用聚簇索引;對于復雜條件的情況,可以考慮使用函數(shù)索引等。視圖設計原則(參考)4.4.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日2)不允許使用小寫字母。3)格式“V_表1—表2??_表n”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。4.4.2視圖說明視圖的創(chuàng)建主要是為了簡化查詢,視圖自己并不存儲數(shù)據(jù),而是在每次使用時查詢數(shù)據(jù),所以在效率上并不是很好。對于非常大的基表,如果僅僅是為了方便查詢,不建議使用視圖,但是可以考慮使用物化視圖。物化視圖4.5.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)格式“MV_表1—表2…—表n”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。4?5?2物化視圖說明1)物化視圖適用于大表用于查詢的時候,可以根據(jù)查詢條件把大表查分成多個物化視圖,以簡化查詢。2)物化視圖有全量和增量刷新機制,可以根據(jù)應用系統(tǒng)的需要進行定制。觸發(fā)器4.6.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)格式“TRI_表—操作”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。4?6?2觸發(fā)器說明1)觸發(fā)器是一種特殊的存儲過程,通過數(shù)據(jù)表的DML操作而觸發(fā)執(zhí)行,其作用為確保數(shù)據(jù)的完整性和一致性不被破壞而創(chuàng)建,實現(xiàn)數(shù)據(jù)的完整性約束。2)觸發(fā)器的before或after事務屬性的選擇時候,對表操作的事務屬性必須與應用程序保持一致,以避免死鎖發(fā)生,在大型導入表中,盡量避免使用觸發(fā)器。臨時表設計原則4.7.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)格式“TMP_表1—表2..._表n”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日4?7?2臨時表說明1)對于復雜處理的中間結果可以用臨時表來存儲,盡量減少使用游標。2)臨時表分類3)Oncommitdeleterows:事務級臨時表4)Oncommitpreserverows:會話級臨時表5)區(qū)別:事務臨時表,在提交事務后,表中的數(shù)據(jù)就消失了,但是會話臨時表不會!~會話臨時表,提交事務后,依舊能查詢,但是關閉數(shù)據(jù)后,重新連接時,表中的數(shù)據(jù)才會消失有效組織數(shù)據(jù)庫對象4.8.1存儲過程分包存儲1)對不同模塊或相似功能劃分的集合使用包來分類保存。每個模塊的存儲過程和函數(shù)放在同一個包內。如果有全局公用的函數(shù),則創(chuàng)建單獨的公用函數(shù)包,大家可以資源共享,避免重復開發(fā)。2)腳本統(tǒng)一保存所有人員創(chuàng)建數(shù)據(jù)庫對象的腳本都集中到相關負責人處,并在VSS或CVS上按內容分開存放:1).創(chuàng)建數(shù)據(jù)類型腳本2).創(chuàng)建業(yè)務表腳本3).創(chuàng)建臨時表腳本4).創(chuàng)建視圖腳本5).創(chuàng)建主外鍵腳本6).創(chuàng)建索引腳本7).創(chuàng)建觸發(fā)器腳本8).創(chuàng)建存儲過程腳本9).初始化數(shù)據(jù)腳本10).創(chuàng)建作業(yè)腳本包設計原則4.9.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)格式“PKG—模塊名(或功能類名)”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。6)名稱長度限制在30字節(jié)內。4?9?2包說明把同一個業(yè)務模塊,或者相同功能的存儲過程和函數(shù),統(tǒng)一整理放入包內。包內必須有完整的說明。存儲過程設計原則(參考)4.10.1命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)格式“P—動作—表名”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日6)名稱長度限制在30字節(jié)內。7)過程內需要有異常處理。函數(shù)設計原則(參考)命名規(guī)則1)只允許使用英文字母“A_Z”、數(shù)字“0-9”和符號“_”。2)不允許使用小寫字母。3)格式“F_動作—表名”。4)盡量使用英文單詞或英文縮略語,各英文單詞或縮略語中間使用符號“_”分割開。5)不允許使用描述不明確的字母或數(shù)字。6)名稱長度限制在30字節(jié)內。數(shù)據(jù)完整性設計(參考)完整性實現(xiàn)機制1)實體完整性:主鍵2)參照完整性:父表中刪除數(shù)據(jù):級聯(lián)刪除;受限刪除;置空值;父表中插入數(shù)據(jù):受限插入;遞歸插入;父表中更新數(shù)據(jù):級聯(lián)更新;受限更新;置空值;DBMS對參照完整性可以有兩種方法實現(xiàn):外鍵實現(xiàn)機制(約束規(guī)則)和觸發(fā)器實現(xiàn)機制3)用戶定義完整性:NOTNULL;CHECK;觸發(fā)器;用約束而非商務規(guī)則強制數(shù)據(jù)完整性采用數(shù)據(jù)庫系統(tǒng)實現(xiàn)數(shù)據(jù)的完整性。這不但包括通過標準化實現(xiàn)的完整性而且還包括數(shù)據(jù)的功能性。在寫數(shù)據(jù)的時候還可以增加觸發(fā)器來保證數(shù)據(jù)的正確性。不要依賴于商務層保證數(shù)據(jù)完整性;它不能保證表之間(外鍵)的完整性所以不能強加于其他完整性規(guī)則之上。強制指示完整性在有害數(shù)據(jù)進入數(shù)據(jù)庫之前將其剔除。激活數(shù)據(jù)庫系統(tǒng)的指示完整性特性。這樣可以保持數(shù)據(jù)的清潔而能迫使開發(fā)人員投入更多的時間處理錯誤條件。使用査找控制數(shù)據(jù)完整性控制數(shù)據(jù)完整性的最佳方式就是限制用戶的選擇。只要有可能都應該提供給用戶一個清晰的價值列表供其選擇。這樣將減少鍵入代碼的錯誤和誤解同時提供數(shù)據(jù)的一致性。某些公共數(shù)據(jù)特別適合查找:國家代碼、狀態(tài)代碼等。采用視圖為了在數(shù)據(jù)庫和應用程序代碼之間提供另一層抽象,可以為應用程序建立專門的視圖而不必非要應用程序直接訪問數(shù)據(jù)表。這樣做還等于在處理數(shù)據(jù)庫變更時給你提供了更多的自由。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫安全性設計保證數(shù)據(jù)的完整性保證數(shù)據(jù)可恢復性1)數(shù)據(jù)庫應該有定期的備份(物理的、邏輯的)。2)生產庫一定要開啟歸檔。3)對于生產庫,應該開啟閃回來避免用戶誤操作導致的數(shù)據(jù)丟失。a)包括閃回數(shù)據(jù)庫、閃回表、閃回數(shù)據(jù)。其他安全原則1)采用數(shù)據(jù)加密2)數(shù)據(jù)訪問權限采用最小授權的原則對數(shù)據(jù)庫用戶應該有針對性的細粒度授權。具體到方案、表等。3)取消操作系統(tǒng)認證4)為SYSMAN/DBSNMP修改密碼5)設置密碼過期,并設置密碼復雜度校驗6)鎖定不常用的默認用戶7)為監(jiān)聽設置密碼8)采用角色授權9)啟用審計(一般情況不建議使用)錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫的物理實現(xiàn)數(shù)據(jù)庫的選擇7.1.1數(shù)據(jù)庫和版本的選擇到底要選擇什么樣的數(shù)據(jù)庫,需要依據(jù)現(xiàn)實的條件和環(huán)境。主要應該考慮以下的因素:1)你要實現(xiàn)的目標(業(yè)務/功能要求,性能/可靠性/可擴展性/可用性要求);2)當前數(shù)據(jù)庫存儲了多少數(shù)據(jù),或者要構建的系統(tǒng)大概要多大的數(shù)據(jù)量,并需要考慮可擴展性;3)應用程序要選擇的操作系統(tǒng)和語言平臺;考慮客戶既有的數(shù)據(jù)庫系統(tǒng)。4)預算有多少;5)是否有專業(yè)人員(DBA)對數(shù)據(jù)庫進行日常維護。6)如果選定了數(shù)據(jù)庫,對于具體版本,應該選擇較新但是已經相對穩(wěn)定的版本。7?1?2其他數(shù)據(jù)庫和版本比較針對oracle來講,到底是選擇單實例,RAC,還是HACMP需要根據(jù)客戶的具體需求來進行確定。1)一般要求的數(shù)據(jù)庫,可以使用單實例;2)對于7*24的系統(tǒng),而且不允許宕機(例如銀行系統(tǒng))則優(yōu)先選擇RAC。3)對于某些7*24的系統(tǒng),可以允許有幾分鐘的實例中斷,則可以選擇HACMP4)更高要求的系統(tǒng)則需要選擇MAA7.1.3數(shù)據(jù)庫版權1)不管是oracle,SQLSERVER,還是DB2,對于商業(yè)用途都都要維護自己的版權,都是需要花錢購買的,而且價格不菲。但是他們的功能和性能,都是經過考驗的,售后的服務支持也做得很好。對于大系統(tǒng)的適用性也非常好。2)現(xiàn)在還有一些小型的數(shù)據(jù)庫是免費的,但是一般對于較大的系統(tǒng)不適用。3)MySQL采用雙重授權(DualLicensed),他們是GPL和MySQLAB制定的商業(yè)許可協(xié)議。如果你在一個遵循GPL的自由(開源)項目中使用MySQL,那么你可以遵循GPL協(xié)議使用MySQL。否貝I」,你需要購買MySQLAB制定的那個商業(yè)許可協(xié)議。這里最重要的一點就是要想免費使用MySQL,你所開發(fā)的軟件必須是遵循GPL的自由(開源)軟件,雖然被批準的自由(開源)許可協(xié)議有很多個。數(shù)據(jù)庫運行環(huán)境7.2.1數(shù)據(jù)庫硬件配置數(shù)據(jù)庫安裝多需要的硬件配置需要根據(jù)選定的具體數(shù)據(jù)庫的具體版本來決定。具體的要求需要查看相關文檔。例如在oracle10.2forLinuxx86的安裝硬件要求如下:1)內存:至少1024MB物理內存2)內存和交換區(qū)的配置要求RAMSwapSpaceBetween1024MBand2048MB1.5timesthesizeofRAMBetween2049MBand8192MBEqualtothesizeofRAMMorethan8192MB0.75timesthesizeofRAM錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日3)/tmp目錄至少400MB4)Oracle軟件根據(jù)安裝類型的不同設置在1.5GB到3.5GB之間5)如果選擇文件系統(tǒng)安裝,需要1.2GB的空間存放數(shù)據(jù)庫預配置信息。7?2?2數(shù)據(jù)庫運行操作系統(tǒng)和版本數(shù)據(jù)庫所選擇的操作系統(tǒng),很大程度上取決于用戶的現(xiàn)有硬件環(huán)境。如果新搭的環(huán)境,還要看用戶的預算。1)新環(huán)境,且用戶期望較高,預算充足,建議選擇IBM小機,并安裝AIX操作系統(tǒng)。不論從對數(shù)據(jù)庫的支持,OS的性能,還是易操作性,安全性方面都是首選。2)如果預算較窘迫,可以選擇性能良好的PC,選擇Linux操作系統(tǒng)。現(xiàn)在Linux系統(tǒng)已經越來越流行,而且對服務器配置要求不高;又可以配置RAC,也方便之后的升級。3)不太建議使用windows系統(tǒng)。但是Oracle對windows的支持還是比較好的,且在windows上的操作也很簡單。如果有的用戶對系統(tǒng)要求不高,那么可以選擇windows系統(tǒng)。7?2?3數(shù)據(jù)庫運行操作系統(tǒng)的版權1)對于IBM,HP,SUN等的服務器的版權問題在購買時廠家都會很詳細的說明。2)如果選擇Linux系統(tǒng),則需要按規(guī)定購買。3)Windows也需要買正版。4)對于響應的oracle軟件,需要根據(jù)自己選定的服務器和操作系統(tǒng)選擇特定的版本,oracle公司會提供后期的幫助。數(shù)據(jù)庫應用環(huán)境的物理結構(參考)7.3.1存儲結構設計1)1)存儲的設計也需要和具體的環(huán)境相結合。到底是選擇直連存儲還是網(wǎng)絡存儲,都和用戶的實際需求密切相關。2)底層存儲設備是否采用RAID,采用那種RAID方式也和用戶對系統(tǒng)的要求,以及預算密切相關。a)對于安全優(yōu)先的用戶可以采用RAID5,RAID1;b)性能優(yōu)先的用戶可以采用RAIDO,RAID1O;3)如果是AIX,HP操作系統(tǒng)建議條件運行的情況下選擇裸設備,以提高性能。4)Linux及Windows操作系統(tǒng)無所謂裸設備。5)數(shù)據(jù)文件和備份文件分開存放。7.3.2數(shù)據(jù)存放位置1)不同的應用建議放在不同的表空間存儲。2)有專門的索引表空間。3)有專門的臨時表空間。4)數(shù)據(jù)文件進行分布在不同的磁盤存放,均衡磁盤I/O。5)對于某些大表建議單獨創(chuàng)建表空間存放,并建立分區(qū)表。6)對于經常進行查詢的大表,建議建立物化視圖,提高查詢性能。7.3.3存取方法設計1)盡量避免全表掃描。2)查詢盡量使用索引。3)能在數(shù)據(jù)庫端完成的操作在數(shù)據(jù)庫端完成,減少交互。4)JAVA應用程序與oracle的接口使用JDBC?NET應用程序與oracle的接口使用ODBC錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫性能和測試方法(參考)7.4.1數(shù)據(jù)庫性能數(shù)據(jù)的性能主要體現(xiàn)在處理能力和I/O兩個方面。1)服務器的CPU,I/O性能都是數(shù)據(jù)庫性能的影響因素。2)大多數(shù)數(shù)據(jù)庫性能瓶頸都是應用的不合理設計引起的。3)如果有大數(shù)據(jù)量的查詢進行采用報表的方式,在系統(tǒng)空閑時間產出。4)導入、導出等操作盡量放在業(yè)務不繁忙的時間段來完成。5)數(shù)據(jù)處理盡量放在數(shù)據(jù)庫端使用存儲過程來完成。6)數(shù)據(jù)庫的性能問題很多是處在SQL的編寫上,所以SQL編寫要嚴格遵循規(guī)范。7)性能調優(yōu)是一個循序漸進的過程。7.4.2測試方法1)數(shù)據(jù)庫的性能測試可以采用常規(guī)的性能測試工具如LOADRUNNER等來完成。2)上面的測試結果可以與ADDM診斷工具相結合參照完成。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫的管理數(shù)據(jù)庫管理員系統(tǒng)數(shù)據(jù)庫必須考慮數(shù)據(jù)庫的管理問題。對于SQLSERVER數(shù)據(jù)庫對DBA的要求比較低,但是對于0RACLE,DB2等數(shù)據(jù)庫,對DBA的要求都非常高。要做好日常備份,監(jiān)測,升級等工作;還需要進行應急恢復等緊急事務處理。DBA的主要工作職責包括:a)數(shù)據(jù)庫安裝b)數(shù)據(jù)庫配置和管理c)權限設置和安全管理d)監(jiān)控和性能調節(jié)e)備份和恢復f)解決一般的問題數(shù)據(jù)庫導入、導出如果數(shù)據(jù)庫選用oraclelOg,則盡量使用expdp/impdp進行導入導出??梢詫С稣麄€數(shù)據(jù)庫,也可以分模式或具體到表進行導出。較低的版本使用exp/imp進行導入/導出。但是exp/imp的方式對大的系統(tǒng),性能較差。數(shù)據(jù)庫備份、恢復1)每個系統(tǒng)為了保護自己的數(shù)據(jù),及保證數(shù)據(jù)庫正常運行,都需要制定適合自己的備份策略。并可以寫腳本在業(yè)務量較少的時間進行自動備份。對于備份應該有定期或不定期的測試。2)如果客戶方有自己正在使用的數(shù)據(jù)庫/系統(tǒng)備份工具,則使用工具。3)在沒有第三方工具的情況下,使用RMAN進行備份和恢復。對于具體的系統(tǒng)應該制定響應的備份策略。一般來講,應該是全備和增量備份相結合的方式。4)拷貝數(shù)據(jù)文件。數(shù)據(jù)庫記錄清除數(shù)據(jù)庫維護1)定期檢查系統(tǒng)性能。2)定期檢查數(shù)據(jù)文件的使用情況,如果空間不夠,需要增加存儲設備。3)定期對經常進行刪除和更新操作的表進行索引的重建。4)定期或不定期的進行表統(tǒng)計信息的收集,以提高效率。5)定期對歸檔進行整理或清除,以釋放空間。6)對數(shù)據(jù)性能進行實時監(jiān)測,發(fā)現(xiàn)問題及早解決。錯誤!未指定書簽。版本:1.1數(shù)據(jù)庫設計標準(產品部)日期:2006年12月19日數(shù)據(jù)庫的升級數(shù)據(jù)庫升級方式數(shù)據(jù)庫的升級參照oracle文檔進行。主要分為四種方式:a)導入導出。b

溫馨提示

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

評論

0/150

提交評論