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)。
關于數據庫參數的設計
每個數據庫在建立時,都有缺省的參數設置,但是對于具體的應用要求參數設置可能不同,缺省的參數設置往往需要根據應用系統的特點而需要改動,如每個數據庫的操作系統平臺、instance 數目、各種內存大小的設置、采取的線程方式、備份方式等不同,具體的參數就一定要進行最為恰當的修改,這個步驟對數據庫性能很重要,也是保證應用系統所要求的數據庫功能得以實現重要一步。
與開發軟件的接口問題
數據庫設計最后要考慮的是與要選擇的開發軟件之間的接口問題,要準備好接口程序,有些是第三方軟件已經備好的,有些是數據庫本身要具備的,如jdbc,bde,ado,等與數據庫的接口,主要是考慮接口的可用性、效率問題。這一步主要從經驗出發,因為這種產品不斷出臺,而且都是經過各商家的吹捧,要在實踐中決定哪個是最適合。
以上是數據庫建模設計的幾個重要步驟的大致分析,整個設計過程是不斷地改進的,是數據庫管理員、設計人員、開發人員共同完成的,只是各有側重點不同,數據庫管理員側重于是2、3步的設計,設計人員側重于1步的設計,而開發人員側重于4步的設計,由于有些應用系統的編程環境和實際應用環境不同,所以要做兩套設計,并注意兩套設計的兼容性可移植性。