【云圖說】第235期 DDS讀寫兩步走 帶您領略只讀節點的風采
1905
2025-03-31
文章目錄
前言
一、oracle 數據庫
二、Microsoft SQL Server 數據庫
三、MySQL 數據庫
總結
前言
oracle 數據庫、Microsoft SQL Server、MySQL 數據庫是我們在項目開發過程中最為常見的三種關系型數據庫。下面我們分別從不同的角度對這三種數據庫做一個深度剖析和區分,便于我們在開發中更為熟練地選擇合適的數據庫工具。
一、ORACLE 數據庫
Oracle 能在所有主流平臺上運行(包括 windows)。
完全支持所有的工業標準。采用完全開放策略。可以使客戶選擇最適合的解決方案。對開發商全力支持 .oracle 并行服務器通過使一組結點共享同一簇中的工作來擴展 windowsNT 的能力,提供高可用性和高伸縮性的簇的解決方案。如果 windowsNT 不能滿足需要,用戶可以把數據庫移到 UNIX 中。Oracle 的并行服務器對各種 UNIX 平臺的集群機制都有著相當高的集成度。oracle 獲得最高認證級別的 ISO 標準認證 .oracle 性能最高,保持開放平臺下的 TPC-D 和 TPC-C 的世界記錄 oracle 多層次網絡計算,支持多種工業標準,可以用 ODBC、JDBC、OCI 等網絡客戶連接。
Oracle 在兼容性、可移植性、可聯結性、高生產率上、開放性也存在優點。
Oracle 產品采用標準 SQL,并經過美國國家標準技術所(NIST)測試。與 IBM SQL/DS,DB2,INGRES,IDMS/R 等兼容。Oracle 的產品可運行于很寬范圍的硬件與操作系統平臺上。可以安裝在 70 種以上不同的大、中、小型機上;可在 VMS、DOS、UNIX、WINDOWS 等多種操作系統下工作。能與多種通訊網絡相連,支持各種協議(TCP/IP、DECnet、LU6.2等)。提供了多種開發工具,能極大的方便用戶進行進一步的開發。Oracle 良好的兼容性、可移植性、可連接性和高生產率使 Oracle RDBMS 具有良好的開放性。
Oracle價格是比較昂貴的。
一套正版的 oracle 軟件早在 2006 年年底的時候在市場上的價格已經達到了 6 位數。所以如果你的項目不是那種超級大的項目,建議放棄 Oracle。
二、Microsoft SQL Server 數據庫
SQL Server 是 Microsoft 推出一套產品,它具有使用方便、可伸縮性好、與相關軟件集成程度高等優點,逐漸成為 Windows 平臺下進行數據庫應用開發較為理想的選擇之一。
SQL Server 是目前流行的數據庫之一,它已廣泛應用于金融,保險,電力,行政管理等與數據庫有關的行業。而且,由于其易操作性及友好的界面,贏得了廣大用戶的青睞,尤其是 SQL Server 與其它數據庫,如 Access,FoxPro,Excel 等有良好的 ODBC 接口,可以把上述數據庫轉成 SQL Server 的數據庫,因此目前越來越多的讀者正在使用SQL Server。
SQL Server 由于是微軟的產品,又有著如此強大的功能,所以他的影響力是幾種數據庫系統中比較大,用戶也是比較多的。
它一般是和同是微軟產品的 .net 平臺一起搭配使用。當然其他的各種開發平臺,都提供了與它相關的數據庫連接方式。因此,開發軟件用 SQL Server 做數據庫是一個正確的選擇。
三、MySQL 數據庫
MySQL不支持事務處理,沒有視圖,沒有存儲過程和觸發器,沒有數據庫端的用戶自定義函數,不能完全使用標準的 SQL 語法。
MySQL 缺乏 transactions,rollbacks 和 subselects 的功能。如果你計劃使用 MySQL 寫一個關于銀行、會計的應用程序,或者計劃維護一些隨時需要線性遞增的不同類的計數器,你將缺乏 transactions 功能。現有的發布版本的 MySQL下,請不要有任何的這些想法。(MySQL 的測試版 3.23.x 系列現在已經支持 transactions了 )
在非常必要的情況下,MySQL 的局限性可以通過一部分開發者的努力得到克服。在 MySQL 中你失去的主要功能是 subselect 語句,而這正是其它的所有數據庫都具有的。換而言之,這個失去的功能是一個痛苦。
MySQL 沒法處理復雜的關聯性數據庫功能。
例如,子查詢(subqueries),雖然大多數的子查詢都可以改寫成 join。另一個 MySQL 沒有提供支持的功能是事務處理(transaction)以及事務的提交(commit)/撤銷(rollback)。一個事務指的是被當作一個單位來共同執行的一群或一套命令。如果一個事務沒法完成,那么整個事務里面沒有一個指令是真正執行下去的。對于必須處理線上訂單的商業網站來說,MySQL 沒有支持這項功能,的確讓人覺得很失望。但是可以用 MaxSQL,一個分開的服務器,它能通過外掛的表格來支持事務功能。
外鍵(foreignkey)以及參考完整性限制(referentialintegrity)可以讓你制定表格中資料間的約束,然后將約束(constraint)加到你所規定的資料里面。這些 MySQL 沒有的功能表示一個有賴復雜的資料關系的應用程序并不適合使用MySQL。當我們說 MySQL不支持外鍵時,我們指的就是數據庫的參考完整性限制-- MySQL 并沒有支持外鍵的規則,當然更沒有支持連鎖刪除(cascadingdelete)的功能。簡短的說,如果你的工作需要使用復雜的資料關聯,那你還是用原來的 Access 吧。
你在 MySQL 中也不會找到存儲進程(storedprocedure)以及觸發器(trigger)。
針對這些功能,在 Access 提供了相對的事件進程(eventprocedure)。
MySQL+php+apache 三者被軟件開發者稱為“php黃金組合”。
總結
本文分別給大家介紹了 Oracle 數據庫、Microsoft SQL Server、MySQL 三種在項目開發過程中最為常見的關系型數據庫。并從不同的角度對這三種數據庫做一個深度剖析和區分,便于我們在開發中更為熟練地選擇合適的數據庫工具。但是隨著技術發展和更新的迅速,不同的數據庫工具在不同的版本更新之后可能還有較大的功能點變動,大家要學會活學活用!
我是白鹿,一個不懈奮斗的程序猿。望本文能對你有所裨益,歡迎大家的一鍵三連!若有其他問題、建議或者補充可以留言在文章下方,感謝大家的支持!
Oracle SQL 數據庫
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。