各种主流数据库的比较
隨著計算機技術不斷發展,各種數據庫編程工具也隨著發展,使當今的大多數程序開發人員可以擺脫枯燥無味的用計算機指令或匯編語言開發軟件,而是利用一系列高效的、具有良好可視化的編程工具去開發各種數據庫軟件,從而達到事半功倍的效果,但是現在市面上的數據庫編程工具門類眾多,優良不齊,比如VB,VC,DEPHI,PB等。
現在的數據庫以關系數據庫為主流,但為了趕時髦,各大數據庫也在開發面向對象的關系型數據庫,把高級程序設計語言和數據庫實現無縫連接,以發揮各自的優缺點。高級程序設計語言善于描述復雜的過程,而,數據庫有著強大的管理功能和可操作性,我們現在的數據庫是以表為基本的存儲單元(描述一個對象),但現在的發展越來越快,對數據的復雜性也越來越大。所以我們的二維數據庫要轉向三維數據庫發展,下面介紹下各種數據庫的特點,以便我們可以選擇設和自己的數據庫。
一、各種主流數據庫介紹
Access是一種桌面數據庫,只適合數據量少的應用,在處理少量數據和單機訪問的數據庫時是很好的,效率也很高。但是它的同時訪問客戶端不能多于4個。MicrosoftAccess數據庫有一定的極限,如果數據達到100M左右,很容易造成服務器iis假死,或者消耗掉服務器的內存導致服務器崩潰,表現為英文“ServiceUnavailable”。
MS SQL Server是基于服務器端的中型的數據庫,可以適合大容量數據的應用,在功能上管理上也要比MicrosoftAccess要強得多。在處理海量數據的效率,后臺開發的靈活性,可擴展性等方面強大。因為現在數據庫都使用標準的SQL語言對數據庫進行管理,所以如果是標準SQL語言,兩者基本上都可以通用的。MicrosoftSQL Server還有更多的擴展,可以用存儲過程,數據庫大小無極限限制。
MySql短小精悍,像access一樣的文件型數據庫,但比access強百倍,是真正多用戶多任務的數據庫系統,從Linux上移植過來的,安全性非常好,不過大部分操作是在dos下進行,雖然也有第三方開發的圖形界面但并不好用。MySQL是跨多平臺的數據庫管理軟件,可運行于LINUX、NT、UNIX等系統,可支持命令和圖形化管理,對于一般的數據庫足以應付了,占用系統資源較少,速度較快,而且是開源的。
Oracle各方面都比較成熟,但對硬件要求高,用于數據完整性、安全性要求較高的場合,能在所有主流平臺上運行,完全支持所有的工業標準,采用完全開放策略。可以使客戶選擇最適合的解決方案,對開發商全力支持。平行服務器通過使一組結點共享同一簇中的工作來擴展服務器的能力,提供高可用性和高伸縮性的簇的解決方案,獲得最高認證級別的iso標準認證,多層次網絡計算,支持多種工業標準,可以用odbc,jdbc,oci等網絡客戶連接,較復雜,同時提供gui和命令行,在windows和unix下操作相同,如果windows不能滿足需要,用戶可以把數據庫移到unix中。其操作和設置比較復雜,適用于有一定操作經驗的用戶。
| SQLServer數據庫的特征及其與Access數據庫的區別 | ||
| 內 容 | Access特征 | MSSQL特征 |
| 版本 | 桌面版 | 網絡版,可支持跨界的集團公司異地使用數據庫的要求 |
| 節點 | 一人工作,要鎖定,其他人無法使用 | 節點多,支持多重路由器 |
| 管理權限 | 否 | 管理權限劃分細致,對內安全性高 |
| 防黑客能力 | 否 | 數據庫劃分細致,對外防黑客能力高 |
| 并發處理能力 | 100人或稍多 | 同時支持萬人在線提交,在其它硬件例如網速等條件匹配的情況下可完全實現 |
| 導出XML格式 | 可以,需要單作程序 | 可導出成為XML格式,與Oracle數據庫和DB2數據庫通用,減少開發成本 |
| 數據處理能力 | 一般 | 快 |
| 是否被優化過 | 否 | 是 |
二、幾種支持數據庫的語言介紹
VB(VisualBasic)是以Basic語言作為其基本語言的一種可視化編程工具。在中國乃至全世界都能看到它的身影,它曾是在中國最為流行的編程工具,到現在還占據著非常重要的地位,對于它的好壞大家都有一定的了解,VB作為一種較早出現的開發程序以其容易學習,開發效率較高,具有完善的幫助系統等優點曾影響了好幾代編程人員,但是由于VB不具備跨平臺這個特性,從而也決定了VB在未來的軟件開發中將會逐漸地退出其歷史舞臺;它對組件技術的支持是基于COM和ActiveX,對于組件技術不斷完善發展的今天,它也顯出了它的落后性;同時VB在進行系統底層開發的時候也是相對復雜的,調用API函數需聲明,調用不方便,不能進行DDK編程,不可能深入Ring0編程,不能嵌套匯編;而且面向對象的特性差;網絡功能和數據庫功能也沒有非常突出的表現,綜上所述,VB作為一種可視化的開發工具由于其本身的局限性,導致了它在未來軟件開發中逐步被其他工具所代替。
PB全稱PowerBuilder,是開發MIS系統和各類數據庫跨平臺的首選,使用簡單,容易學習,容易掌握,在代碼執行效率上也有相當出色的表現。PB是一種真正的4GL語言(第四代語言),可隨意直接嵌套SQL語句返回值被賦值到語句的變量中,支持語句級游標,存儲過程和數據庫函數,是一種類似SQLJ的規范,數據訪問中具有無可比擬的靈活性。但是它在系統底層開發中犯了跟VB一樣的錯誤,調用API函數需聲明,調用不方便,不能進行DDK編程,不可能深入Ring0編程,不能嵌套匯編;在網絡開發中提供了較多動態生成Web頁面的用戶對象和服務以及系統對象,非常適合編寫服務端動態Web應用,有利于商業邏輯的封裝;但是用于網絡通訊的支持不足;靜態頁面定制支持有限,使得PB在網絡方面的應用也不能非常廣泛。面向對象特向也不是太好。
C++Builder/Delphi它們都是基于VCL庫的可視化開發工具,它們在組件技術的支持、數據庫支持、系統底層開發支持、網絡開發支持、面向對象特性等各方面都有相當不錯的表現,并且學習使用較為容易,充分提現了所見即所得的可視化開發方法,開發效率高。由于兩者都是Borland公司的產品,自然繼承了該公司一貫以來的優良傳統:代碼執行效率高。但是,它們并不是毫無缺點,它們所作的最大不足之處就是他們的幫助系統在眾多的編程工具中是屬于比較差的。C++Builder的VCL庫是基于Objectpascal(面向對象pascal),使得C++Builder在程序的調試執行上都面向落后于其他編程工具。而Delphi則是它的語言不夠廣泛,開發系統軟件功能不足兩個比較大的缺點。
VisualC++是基于MFC庫的可視化的開發工具,從總體上說它是一個功能強大但是不便使用的一種工具。它在網絡開發和多媒體開發都具有不俗的表現,幫助系統也做得非常不錯(Microsoft在細節方面的處理往往都讓人覺得親切),但是雖然是使用C++作為基本語言,但是它在面向對象特性上卻不夠好,主要是為了兼容C的程序,結果顧此失彼;在組件支持上也不太好,雖然說除了支持COM,ActiveX外還支持CORBA,但是沒有任何IDE支持,是所有C編譯器的功能,需要CORBA中間件支持;最大的問題是開發效率也不高。
Java目前比較出名的是Borland出的JBuilder和IBM出的Visual Age forJava,兩種工具都有一定數量的是用人群。JBuilder繼承了C++Builder/Delphi的特點,在可視化上做得非常不錯,使用簡便。由于Java本身語言的特點使得他們在網絡開發中具有高人一等的表現,而且面向對象特性高,支持的組件技術也非常多,跨平臺的特性也使得它在現在和未來的開發中占據越來越重要的地位。但是在系統底層開發和多媒體開發中卻表現得并不讓人那么滿意,這個可能跟設計Java的意圖有關吧。
三、編程語言的數據庫性能綜合評價
VB:是新人開發與系統無關的綜合應用程序的首選;容易使用和廠商財力很強是其僅有的兩點優勢。VB開發效率高,代碼執行效率一般,但是入門和學習速度快,有較好的學習氛圍和幫助書籍和幫助文檔。但是隨著微軟的.net技術的推廣,VB將會逐漸推出歷史舞臺。
PB:是開發大型MIS及各類數據庫跨平臺應用的首選;從數據庫前端工具來講甚至遠遠超過了Oracle的Develop系列等專門的工具;從通用語言角度來講功能也與VB等不相上下;多媒體和網絡功能與其他工具相比較弱。PB最大的優勢就是Datawindow技術的成熟和方便,他成為PB與其他數據庫開發工具抗衡的資本。同時PB在對Java和WEB,以及面向對象方面的發展也可以預見PB將成繼續成為數據庫系統(特別是MIS系統)開發工具的首選。同時PB的強大幫助文檔也為初學者提供了入門基礎,PB連接數據庫的自由和方面也為PB的提供了方便,同時PB對API的調用以及對報表的處理強大。但是PB的高級編程書籍的缺乏和基礎語言PowerScript的普及程度對PB的明天有一定的限制。
C++Builder/Dephi:是唯一一套能夠同時適用于開發數據庫應用、網絡及Web應用、分布式應用、可重用組件、系統軟件、驅動程序、多媒體及游戲等所有軟件的高效率開發環境;VCL源碼基于ObjectPascal是C++ Builder 唯一的缺憾,基礎語言不夠通用和開發系統軟件功能不足是Dephi僅有的兩點不足。
VC:從功能上講除了跨平臺應用外什么都可開發;從開發效率角度講只局限于開發windows系統應用、可重用組件及驅動程序。又因為有微軟的支持,其自身的基礎語言的普及程度高,以及其代碼的執行效率高等特性、VC自帶強大幫助文檔和大量優質教材,VC在數據庫開發工具中始終可以穩住陣角。
Java:適用于開發除了系統軟件、驅動程序、高性能實時系統、大規模圖像處理以外所有的應用。在一般的管理信息系統中和一般的數據庫開發中,很少有人會選擇Java,一是由于其開發環境的配置較難,已經和數據庫連接時較為負責,對開發人員的開發經驗和學習時間都要很高要求,所以對于經驗不是很豐富的開發人員一般是不選擇Java,但是Java的強大網絡功能和真正的面向對象特性決定了Java的未來,Java將在一個較為長期的時段里可以與微軟家族抗衡。
總結
以上是生活随笔為你收集整理的各种主流数据库的比较的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JAVA: List用法
- 下一篇: sql like语句中的通配符:百分号、