一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

大型數據庫的設計原則與開發技巧

  隨著計算機技術越來越廣泛地應用于國民經濟的各個領域,在計算機硬件不斷微型化的同時,應用系統向著復雜化、大型化的方向發展。數據庫是整個系統的核心,它的設計直接關系系統執行的效率和系統的穩定性。因此在軟件系統開發中,數據庫設計應遵循必要的數據庫范式理論,以減少冗余、保證數據的完整性與正確性。只有在合適的數據庫產品上設計出合理的數據庫模型,才能降低整個系統的編程和維護難度,提高系統的實際運行效率。雖然對于小項目或中等規模的項目開發人員可以很容易地利用范式理論設計出一套符合要求的數據庫,但對于一個包含大型數據庫的軟件項目,就必須有一套完整的設計原則與技巧。

  一、成立數據小組
   大型數據庫數據元素多,在設計上有必要成立專門的數據小組。由于數據庫設計者不一定是使用者,對系統設計中的數據元素不可能考慮周全,數據庫設計出來后,往往難以找到所需的庫表,因此數據小組最好由熟悉業務的項目骨干組成。

  數據小組的職能并非是設計數據庫,而是通過需求分析,在參考其他相似系統的基礎上,提取系統的基本數據元素,擔負對數據庫的審核。審核內容包括審核新的數據庫元素是否完全、能否實現全部業務需求;對舊數據庫(如果存在舊系統)的分析及數據轉換;數據庫設計的審核、控制及必要調整。

  二、設計原則

 ?。保幏睹?。所有的庫名、表名、域名必須遵循統一的命名規則,并進行必要說明,以方便設計、維護、查詢。

 ?。玻刂谱侄蔚囊?。在設計時,可以選擇適當的數據庫設計管理工具,以方便開發人員的分布式設計和數據小組的集中審核管理。采用統一的命名規則,如果設計的字段已經存在,可直接引用;否則,應重新設計。

 ?。常畮毂碇貜涂刂?。在設計過程中,如果發現大部分字段都已存在,開發人員應懷疑所設計的庫表是否已存在。通過對字段所在庫表及相應設計人員的查詢,可以確認庫表是否確實重復。

 ?。矗l控制。設計中應進行并發控制,即對于同一個庫表,在同一時間只有一個人有控制權,其他人只能進行查詢。

 ?。担匾挠懻摗祿煸O計完成后,數據小組應與相關人員進行討論,通過討論來熟悉數據庫,從而對設計中存在的問題進行控制或從中獲取數據庫設計的必要信息。

  6.數據小組的審核。庫表的定版、修改最終都要通過數據小組的審核,以保證符合必要的要求。

 ?。罚^文件處理。每次數據修改后,數據小組要對相應的頭文件進行修改(可由管理軟件自動完成),并通知相關的開發人員,以便進行相應的程序修改。

  三、設計技巧

 ?。保诸惒鸱謹祿看蟮谋?。對于經常使用的表(如某些參數表或代碼對照表),由于其使用頻率很高,要盡量減少表中的記錄數量。例如,銀行的戶主賬表原來設計成一張表,雖然可以方便程序的設計與維護,但經過分析發現,由于數據量太大,會影響數據的迅速定位。如果將戶主賬表分別設計為活期戶主賬、定期戶主賬及對公戶主賬等,則可以大大提高查詢效率。

   2.索引設計。對于大的數據庫表,合理的索引能夠提高整個數據庫的操作效率。在索引設計中,索引字段應挑選重復值較少的字段;在對建有復合索引的字段進行檢索時,應注意按照復合索引字段建立的順序進行。例如,如果對一個5萬多條記錄的流水表以日期和流水號為序建立復合索引,由于在該表中日期的重復值接近整個表的記錄數,用流水號進行查詢所用的時間接近3秒;而如果以流水號為索引字段建立索引進行相同的查詢,所用時間不到1秒。因此在大型數據庫設計中,只有進行合理的索引字段選擇,才能有效提高整個數據庫的操作效率。

   3.數據操作的優化。在大型數據庫中,如何提高數據操作效率值得關注。例如,每在數據庫流水表中增加一筆業務,就必須從流水控制表中取出流水號,并將其流水號的數值加一。正常情況下,單筆操作的反應速度尚屬正常,但當用它進行批量業務處理時,速度會明顯減慢。經過分析發現,每次對流水控制表中的流水號數值加一時都要鎖定該表,而該表卻是整個系統操作的核心,有可能在操作時被其他進程鎖定,因而使整個事務操作速度變慢。對這一問題的解決的辦法是,根據批量業務的總筆數批量申請流水號,并對流水控制表進行一次更新,即可提高批量業務處理的速度。另一個例子是對插表的優化。對于大批量的業務處理,如果在插入數據庫表時用普通的Insert語句,速度會很慢。其原因在于,每次插表都要進行一次I/O操作,花費較長的時間。改進后,可以用Put語句等緩沖區形式等滿頁后再進行I/O操作,從而提高效率。對大的數據庫表進行刪除時,一般會直接用Delete語句,這個語句雖然可以進行小表操作,但對大表卻會因帶來大事務而導致刪除速度很慢甚至失敗。解決的方法是去掉事務,但更有效的辦法是先進行Drop操作再進行重建。

  ?。矗當祿靺档恼{整。數據庫參數的調整是一個經驗不斷積累的過程,應由有經驗的系統管理員完成。以Informix數據庫為例,記錄鎖的數目太少會造成鎖表的失??;邏輯日志的文件數目太少會造成插入大表失敗等,這些問題都應根據實際情況進行必要的調整。

  5.必要的工具。在整個數據庫的開發與設計過程中,可以先開發一些小的應用工具,如自動生成庫表的頭文件、插入數據的初始化、數據插入的函數封裝、錯誤跟蹤或自動顯示等,以此提高數據庫的設計與開發效率。

 ?。叮苊忾L事務。對單個大表的刪除或插入操作會帶來大事務,解決的辦法是對參數進行調整,也可以在插入時對文件進行分割。對于一個由一系列小事務順序操作共同構成的長事務(如銀行交易系統的日終交易),可以由一系列操作完成整個事務,但其缺點是有可能因整個事務太大而使不能完成,或者,由于偶然的意外而使事務重做所需的時間太長。較好的解決方法是,把整個事務分解成幾個較小的事務,再由應用程序控制整個系統的流程。這樣,如果其中某個事務不成功,則只需重做該事務,因而既可節約時間,又可避免長事務。

 ?。罚m當超前。計算機技術發展日新月異,數據庫的設計必須具有一定前瞻性,不但要滿足當前的應用要求,還要考慮未來的業務發展,同時必須有利于擴展或增加應用系統的處理功能。

  相對于中小型數據庫,大型數據庫的設計與開發要復雜得多,因此在設計、開發過程中,除了要遵循數據庫范式理論、增加系統的一致性和完整性外,還要在總體上根據具體情況進行分布式設計,緊緊把握集中控制、統一審核的基本原則,保證數據庫設計結構緊湊、分布平衡、定位迅速。在數據庫操作上,要采用一定的技巧提高整個應用系統的執行效率,并注意適當超前,以適應不斷變化的應用及系統發展的要求。

it知識庫大型數據庫的設計原則與開發技巧,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 四虎国产精品永久地址99新强 | 涩涩综合 | 色婷婷免费视频 | 成年人激情网站 | 欧美女人性视频 | 大杳焦伊人久久综合热 | 国产91成人精品亚洲精品 | 国产精品麻豆一区二区三区v视界 | 久久精品国产99久久无毒不卡 | 国内精品视频成人一区二区 | 亚洲一区视频在线播放 | 亚洲精品乱码国产精品乱码 | 成年人三级网站 | 免费视频黄 | 欧美91在线| 国产大臿蕉香蕉大视频女 | 日日好吊妞 | 婷婷综合视频 | 国产精品视频全国免费观看 | 成人婷婷 | 亚洲国产一区二区三区亚瑟 | 国产综合第一页 | 黄址在线观看 | 91在线国产观看 | 欧美成人激情 | 综合网视频 | 美女毛片在线 | 男人女人黄 色一视频一级 男人女人无遮掩免费视频 男人女人做刺激视频免费 男人让女人爽的免费视频 男人日女人的免费视频 | yiren综合| 中文字幕在线一区二区三区 | 激情中文字幕 | 国产三级麻豆 | 97午夜视频 | 中文字幕99在线精品视频免费看 | 怡红院成人影院 | 激情欧美一区二区三区中文字幕 | 中文字幕在线精品 | 国产综合亚洲欧美日韩一区二区 | 欧美人成在线视频 | 色在线看| 狠狠综合网 |