關鍵字:oracle 數據庫 建模 設計
要開發一個基于數據庫的應用系統,其中最關鍵的一步就是整個系統所依據的數據庫的建模設計,從邏輯的到物理的,一個環節疏于設計,整個的應用系統便似建立在危房之上,隨著開發過程的不斷深入,它要隨時面臨著各種難以預料的風險,開發者要為修改或重新設計沒有設計好的數據庫系統而付出難以預料的代價。所以,一個良好的數據庫設計是高效率的系統所必須的。 一、邏輯建模
數據庫設計的方法因具體數據庫而異,但是建模階段的相同的,所以可以用一些通用的工具來進行,如Rational rose,PowerDesigner等,這一階段主要是依據系統的需求,獲取與分析要實現的應用系統信息,進行數據內部以及外在關系的分析,從而有效地建立整個系統的數據結構(在關系數據庫中通常稱為表結構),在此基礎上對數據庫的數據量、數據流量、及響應速度的估算分析,這樣數據模型就產生了。具體的操作準則是數據庫的幾個范式、用戶的具體需求和分析者的經驗,從數據庫的性能、安全、方便管理、易于開發等方面出發,具體方法因分析員的喜好和習慣而異,可以不用工具,最好使用工具,能讓分析過程簡便,最主要是能生成一些圖,如E-R圖,讓分析過程一目了然。
二、物理設計
此步設計和系統將具體使用的數據庫有關,也和數據庫所運行的硬、軟件平臺有關,目的是盡量合理地給數據庫分配物理空間,這一步在數據庫設計中很重要,關系到數據庫數據的安全和數據庫的性能,具體的來說,這一步包括相應表空間的數據文件在磁盤上的分配,還要根據數據量的大小確定redolog文件、rollback段的大小,然后進行分配,這些文件的分配要遵循一些原則,本著利于備份,利于性能優化的原則,原則如下(以ORACLE數據庫為例):
1、為表和索引建立不同的表空間,禁止在系統表空間中放入非核心oracle系統成分的對象,確保數據表空間和索引表空間位于不同的磁盤磁盤驅動器上。
2、了解終端用戶怎樣訪問數據,如果可能,將經常同時查詢和頻繁查詢的對象放在不同的物理磁盤上。
3、當數據庫包含允許用戶并行訪問不同數據元素的大對象時,將對象分割存放在多個磁盤上是有好處的?梢圆捎梅謪^。在某個操作系統平臺上定義擁有數百萬行的表時,則更需小心,因為數據庫文件的大小受到限止,這種限制是由操作系統而不是由oracle引起的。
4、在獨立的各盤上至少創建兩個用戶定義的rollback表空間,以存放用戶自己的rollback段。在初始化文件中安排rollback段的次序,使它們在多個磁盤之間進行切換。
5、將redo log文件放在一個讀寫較少的盤上。對于每個oracle 實例要建立兩個以上的redo log 組,同組的兩個成員放在不同的設備上。
6、確立表和索引的大小,這決定了保存它們所需的表空間的尺寸,也決定了哪些表空間物理地裝在哪些盤上和哪些表空間可以結合在一起。具體的估算方法可以按照oracle 一些公式,這里還要按照各個表的具體特性,用途,定義它的存貯參數如(pctfree,pctused)。
延伸閱讀
文章來源于領測軟件測試網 http://www.kjueaiud.com/