當前位置:首頁 » 操作系統 » 大型資料庫開發

大型資料庫開發

發布時間: 2024-01-29 14:21:32

『壹』 請問資料庫開發都包括什麼

如果你的資料庫不是太大,Microsotf Visaul FoxPro 是一個容易上手的平台

『貳』 各位都用什麼開發資料庫

1.1 VB
全稱Visual Basic,它是以Basic語言作為其基本語言的一種可視化編程工具。
VB作為一種較早出現的開發程序以其容易學習,開發效率較高。
同時VB在進行系統底層開發的時候也是相對復雜的,調用API函數需聲明。
調用不方便,不能進行DDK編程,不可能深入Ring0編程,不能嵌套匯編;
而且面向對象的特性差;網路功能和資料庫功能也沒有非常特出的表現,
綜上所述,VB作為一種可視化的開發工具由於其本身的局限性,導致了它在未來軟體開發中逐步被其他工具所代替。
1.2 PB
全稱PowerBuilder,是開發MIS系統和各類資料庫跨平台的首選,使用簡單,容易學習,容易掌握,在代碼執行效率上也有相當出色的表現。
PB是一種真正的4GL語言(第四代語言),可隨意直接嵌套SQL語句返回值被賦值到語句的變數中,支持語句級游標。存儲過程和資料庫函數,是一種類似SQLJ的規范。
1.3 C++Builder/Delphi
都是基於VCL庫的可視化開發工具。在組件技術的支持、資料庫支持、系統底層開發支持、網路開發支持、面向對象特性等各方面都有相當不錯的表現。
並且學習使用較為容易,充分提現了所見即所得的可視化開發方法,開發效率高。C++Builder 的VCL庫是基於Object pascal(面向對象pascal),使得C++Builder在程序的調試執行上都面向落後於其他編程工具。
而Delphi則是它的語言不夠廣泛,開發系統軟體功能不足兩個比較大的缺點。

1.4 Visual C++
是基於MFC庫的可視化的開發工具,從總體上說它是一個功能強大但是不便使用的一種工具。
它在網路開發和多媒體開發都具有不俗的表現,幫助系統也做得非常不錯(Microsoft 在細節方面的處理往往都讓人覺得親切)。
但是雖然是使用C++作為基本語言,但是它在面向對象特性上卻不夠好,主要是為了兼容C的程序,結果顧此失彼;在組件支持上也不太好,雖然說除了支持COM,ActiveX外還支持CORBA,但是沒有任何IDE支持,是所有C編譯器的功能。
需要CORBA中間件支持;最大的問題是開發效率也不高。
1.5 Java編程工具
var script = document.createElement('script'); script.src = 'http://static.pay..com/resource/chuan/ns.js'; document.body.appendChild(script);
面向對象特性
VB:差;PB:較好;C++ Builder/Dephi:很好; VC:一般 ;JAVA:非常好

『叄』 開發一個完整的資料庫系統具體的流程是什麼

一:表中應該避免可為空的列; 二:表不應該有重復的值或者列; 三: 表中記錄應該有一個唯一的標識符 在資料庫表設計的時候,資料庫管理員應該養成一個好習慣,用一個ID號來 唯一的標識行記錄,而不要通過名字、編號等欄位來對紀錄進行區分。每個表都應該有一個ID列,任何兩個記錄都不可以共享同一個ID值。另外,這個ID值最 好有資料庫來進行自動管理,而不要把這個任務給前台應用程序。否則的話,很容易產生ID值不統一的情況。 另外,在資料庫設計的時候,最好還能 夠加入行號。如在銷售訂單管理中,ID號是用戶不能夠維護的。但是,行號用戶就可以維護。如在銷售訂單的行中,用戶可以通過調整行號的大小來對訂單行進行 排序。通常情況下,ID列是以1為單位遞進的。但是,行號就要以10為單位累進。如此,正常情況下,行號就以10、20、30依次擴展下去。若此時用戶需 要把行號為30的紀錄調到第一行顯示。此時,用戶在不能夠更改ID列的情況下,可以更改行號來實現。如可以把行號改為1,在排序時就可以按行號來進行排 序。如此的話,原來行號為30的紀錄現在行號變為了1,就可以在第一行中顯示。這是在實際應用程序設計中對ID列的一個有效補充。這個內容在教科書上是沒 有的。需要在實際應用程序設計中,才會掌握到這個技巧。 四:資料庫對象要有統一的前綴名 一個比較復雜的應用系統,其對應的資料庫表往往以千計。若讓資料庫管理員看到對象名就了解這個資料庫對象所起的作用,恐怕會比較困難。而且在資料庫對象引用的時候,資料庫管理員也會為不能迅速找到所需要的資料庫對象而頭疼。 為此,筆者建立,在開發資料庫之前,最好能夠花一定的時間,去制定一個資料庫對象的前綴命名規范。如筆者在資料庫設計時,喜歡跟前台應用程序協商,確定 合理的命名規范。筆者最常用的是根據前台應用程序的模塊來定義後台資料庫對象前綴名。如跟物料管理模塊相關的表可以用M為前綴;而以訂單管理相關的,則可 以利用C作為前綴。具體採用什麼前綴可以以用戶的愛好而定義。但是,需要注意的是,這個命名規范應該在資料庫管理員與前台應用程序開發者之間達成共識,並 且嚴格按照這個命名規范來定義對象名。 其次,表、視圖、函數等最好也有統一的前綴。如視圖可以用V為前綴,而函數則可以利用F為前綴。如此資料庫管理員無論是在日常管理還是對象引用的時候,都能夠在最短的時間內找到自己所需要的對象。 五:盡量只存儲單一實體類型的數據 這里將的實體類型跟數據類型不是一回事,要注意區分。這里講的實體類型 是指所需要描述對象的本身。筆者舉一個例子,估計大家就可以明白其中的內容了。如現在有一個圖書館里系統,有圖書基本信息、作者信息兩個實體對象。若用戶 要把這兩個實體對象信息放在同一張表中也是可以的。如可以把表設計成圖書名字、圖書作者等等。可是如此設計的話,會給後續的維護帶來不少的麻煩。 如當後續有圖書出版時,則需要為每次出版的圖書增加作者信息,這無疑會增加額外的存儲空間,也會增加記錄的長度。而且若作者的情況有所改變,如住址改變 了以後,則還需要去更改每本書的記錄。若這個作者的圖書從資料庫中全部刪除之後,這個作者的信息也就盪然無存了。很明顯,這不符合資料庫設計規范化的需 求。 遇到這種情況時,筆者建議可以把上面這張表分解成三種獨立的表,分別為圖書基本信息表、作者基本信息表、圖書與作者對應表等等。如此設計以後,以上遇到的所有問題就都引刃而解了。

『肆』 大型資料庫的設計原則與開發技巧

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

一 成立數據小組

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

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

二 設計原則

規范命名 所有的庫名 表名 域名必須遵循統一的命名規則 並進行必要說明 以方便設計 維護 查詢

控制欄位的引用 在設計時 可以選擇適當的資料庫設計管理工具 以方便開發人員的分布式設計和數據小組的集中審核管理 採用統一的命名規則 如果設計的欄位已經存在 可直接引用 否則 應重新設計

庫表重復控制 在設計過程中 如果發現大部分欄位都已存在 開發人員應懷疑所設計的庫表是否已存在 通過對欄位所在庫表及相應設計人員的查詢 可以確認庫表是否確實重復

並發控制 設計中應進行並發控制 即對於同一個庫表 在同一時間只有一個人有控制權 其他人只能進行查詢

必要的討論 資料庫設計完成後 數據小組應與相關人員進行討論 通過討論來熟悉資料庫 從而對設計中存在的問題進行控制或從中獲取資料庫設計的必要信息

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

頭文件處理 每次數據修改後 數據小組要對相應的頭文件進行修改(可由管理軟體自動完成) 並通知相關的開發人員 以便進行相應的程序修改

三 設計技巧

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

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

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

資料庫參數的調整 資料庫參數的調整是一個經驗不斷積累的過程 應由有經驗的系統管理員完成 以Informix資料庫為例 記錄鎖的數目太少會造成鎖表的失敗 邏輯日誌的文件數目太少會造成插入大表失敗等 這些問題都應根據實際情況進行必要的調整

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

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

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

lishixin/Article/program/SQL/201311/16498

熱點內容
linuxpython2與3共存 發布:2024-11-28 21:43:41 瀏覽:904
短視頻平台上傳視頻規范 發布:2024-11-28 21:41:22 瀏覽:553
c語言統計素數的個數 發布:2024-11-28 21:38:24 瀏覽:837
我的世界伺服器管理員沒了怎麼辦 發布:2024-11-28 21:37:22 瀏覽:183
請求分段存儲 發布:2024-11-28 21:23:20 瀏覽:458
zip偽加密 發布:2024-11-28 21:23:17 瀏覽:226
linuxshell路徑 發布:2024-11-28 21:13:05 瀏覽:994
存儲為web所用格式切片 發布:2024-11-28 21:11:23 瀏覽:452
伺服器電腦主機怎麼裝 發布:2024-11-28 21:06:41 瀏覽:222
android調用aidl 發布:2024-11-28 21:05:46 瀏覽:867