現在已經存在了很多優秀的商業數據庫,如甲骨文(Oracle)公司的 Oracle 數據庫、IBM 公司的 DB2 數據庫、微軟公司的 SQL Server 數據庫和 Access 數據庫。同時,還有很多優秀的開源數據庫,如 MySQL 數據庫,PostgreSQL 數據庫等。下面介紹這些常見的數據庫。
## 1)Oracle
Oracle是甲骨文公司的一款關系型數據庫管理系統,在數據庫領域一直處于領先地位的產品,是目前世界上流行的關系型數據庫之一,是一種高效率、可靠性好、適應高吞吐量的數據庫方案。

Oracle圖標
#### 優點:
1. Oracle 可移植性好,能在所有主流平臺上運行(包括 Windows),完全支持所有工業標準。采用完全開放策略,使客戶可以選擇最適合解決方案。以及對開發商的全力支持。
2. 獲得最高認證級別的 ISO 標準認證,安全性高。
3. 與其它數據庫相比,Oracle 性能最高。保持著開放平臺下 TPC-D 和 TPC-C 世界記錄。
4. 多層次網絡計算,支持多種工業標準,可以用 ODBC、JDBC、OCI 等網絡客戶連接 。
5. 完全向下兼容,因此被廣泛應用,且風險低 。
> 向下兼容指的是高版本支持低版本的或者說后期開發的版本支持和兼容早期開發的版本。
#### 缺點:
1. 對硬件的要求高
2. 價格比較昂貴
3. 管理維護麻煩
4. 操作比較復雜
## 2)SQL Server
SQL Server是 Microsoft(微軟)公司推出的關系型數據庫管理系統,主要應用于大型的管理系統中。

SQL Server圖標
#### 優點:
1. 與微軟的 Windows 系列操作系統的兼容性很好。
2. 高性能設計,可充分利用 WindowsNT 的優勢。
3. 系統管理先進,支持 Windows 圖形化管理工具,支持本地和遠程的系統管理和配置。
4. 強壯的事務處理功能,采用各種方法保證數據的完整性。
5. 支持對稱多處理器結構、存儲過程、ODBC,并具有自主的 SQL 語言。
#### 缺點:
1. SQL Server 只能在?Windows 系統上運行,沒有絲毫開放性。
2. 沒有獲得任何安全證書。
3. 多用戶時性能不佳 。
4. 只支持 C/S 模式,SQL Server C/S 結構只支持 Windows 客戶用 ADO、DAO、OLEDB、ODBC 連接。
## 3)MySQL
MySQL是一種開放源代碼的關系型數據庫管理系統,由瑞典 MySQL AB 公司開發,屬于 Oracle 旗下產品。因為其速度、可靠性和適應性而備受關注。MySQL 是流行的關系型數據庫管理系統之一,在 WEB 應用方面,MySQL 是最好的應用軟件之一。

MySQL圖標
#### 優點:
1. 性能卓越服務穩定,很少出現異常宕機
2. 開放源代碼且無版權制約,自主性強、使用成本低。
3. 歷史悠久、社區及用戶非常活躍,遇到問題,可以很快獲取到幫助。
4. 軟件體積小,安裝使用簡單,并且易于維護,安裝及維護成本低。
5. 支持多種操作系統,提供多種 API 接口,支持多種開發語言。
#### 缺點:
1. MySQL 最大的缺點是其安全系統,主要是復雜而非標準,只有調用 mysqladmin 來重讀用戶權限才會發生改變。
2. MySQL 不允許調試存儲過程,開發和維護存儲過程很難。
3. MySQL 不支持熱備份。
4. MySQL 的價格隨平臺和安裝方式變化。
## 4)Access
Access是由 Microsoft(微軟)發布的小型關系數據庫管理系統,是微軟把數據庫引擎的圖形用戶界面和軟件開發工具結合在一起的一個數據庫管理系統。

Access圖標
#### 優點:
1. 存儲方式簡單,易于維護管理。Access 的對象有表、查詢、窗體、報表、頁、宏和模塊,以上對象都存放在后綴為(.mdb 或 .accdb)的數據庫文件中,便于用戶的操作和管理。
2. Access 是一個面向對象的開發工具,這種基于面向對象的開發方式,使得開發應用程序更為簡便。
3. 界面友好、易操作。Access 是一個可視化工具,風格與 Windows 完全一樣,用戶想要生成對象應用,只要使用鼠標進行拖放即可,非常直觀方便。系統還提供了表生成器、查詢生成器、報表設計器以及數據庫向導、表向導、查詢向導、窗體向導、報表向導等工具,使得操作簡便,容易使用和掌握。
4. 集成環境,可以處理多種數據信息。Access 基于 Windows 操作系統下的集成開發環境,該環境集成了各種向導和生成器工具,極大地提高了開發人員的工作效率,使得建立數據庫、創建表、設計用戶界面、設計數據查詢、報表打印等可以方便有序地進行。
5. 支持廣泛,易于擴展,彈性大。Access 是一個既可以只用來存放數據的數據庫,也可以作為一個客戶端開發工具來進行數據庫應用系統開發。即可以開發方便易用的小型軟件,也可以用來開發大型的應用系統。
#### 缺點:
1. 不支持并發處理。
2. 數據庫存儲量小安全性不夠高。
3. Access 是小型數據庫,當數據量過大時,一般百M以上(純數據,不包括窗體、報表等客戶端對象)性能會變差。
4. 雖然理論上支持 255 個并發用戶,但實際上根本支持不了那么多,如果以只讀方式訪問大概在 100 個用戶左右,而如果是并發編輯,則大概在10-20個用戶。
5. 單表記錄數過百萬時,性能就會變得較差,如果加上設計不良,這個限度還要降低。
6. 不能編譯成可執行文件(.exe),必須要安裝 Access 運行環境才能使用。
## 5)DB2
DB2是美國 IBM 公司開發的一款支持多媒體、Web 的關系型數據庫管理系統。主要應用于大型應用系統,具有較好的可伸縮性,可支持從大型機到單用戶環境。

DB2圖標
#### 優點:
1. 相比較 MySQL 和 Oracle 兩種數據庫來說,DB2 提供了高層次的數據利用性、完整性、安全性、可恢復性,以及小規模到大規模地應用程序執行能力,具有與平臺無關的基本功能和 SQL 命令。
2. DB2 采用了數據分級技術,能夠使大型數據很方便的下載到數據庫服務器,使數據庫本地化和遠程連接透明化。
3. 擁有非常完備的查詢優化器,改善了查詢性能,并支持多任務并行查詢。
4. 具有很好的網絡支持能力,每個子系統可以連接十幾萬個分布式用戶,可同時激活上千個活動線程,對大型分布式應用系統更加使用。
5. DB2 可跨平臺使用。
#### 缺點:
1. 配置文件和參數多,且命名不規范。
2. 一些 DB2 產品開發不方便。
3. 和 Oracle 相比,命令多,且沒 Oracle 統一規范的好。
4. 由于其設計框架的問題,如果用戶對數據庫的本身優化和應用程序優化做的不足,那么 DB2 容易出現鎖等待現象。
## 6)PostgreSQL
PostgreSQL是一款富有特色的自由數據庫管理系統,甚至可以說是最強大的自由軟件數據庫管理系統。該數據庫管理系統支持了目前世界上最豐富的數據類型。是自由軟件數據庫管理系統中唯一支持事務、子查詢、多版本并行控制系統、數據完整性檢查等特性的自由軟件。

PostgreSQL圖標
#### 優點:
1. PostgreSQL 遵循的是 BSD 協議,是一個完全開源、免費、同時非常強大的關系型數據庫。
2. 與 PostgreSQL 配合的有很多分布式集群軟件,如 pgpool、pgcluster、slony、plploxy 等等,很容易做讀寫分離、負載均衡、數據水平拆分等方案,而這些 MySQL 則比較難實現。
3. PostgreSQL 源代碼寫的很清晰,易讀性比 MySQL 強,所以很多公司基本都是以 PostgreSQL 做二次開發的。
4. PostgreSQL 是多進程的,而 MySQL 是多線程的。并發不高時,MySQL處理速度快,但當并發高的時候,對于現在多核的單臺機器上,MySQL 的總體處理性能不如 PostgreSQL,原因是 MySQL 的線程無法充分利用 CPU 的能力。
5. PostgreSQL 有很強大的查詢優化器,支持很復雜的查詢處理。
> BSD 開源協議是一個給于使用者很大自由的協議。可以自由的使用,修改源代碼,也可以將修改后的代碼作為開源或者專有軟件再發布。
#### 缺點:
1. 對于簡單而繁重的讀取操作,相比較其它數據庫來說,PostgreSQL 性能較低。
2. PostgreSQL 數據庫擴容花費時間很長。
- 數據庫入門
- 1.常用的數據庫
- 2.數據管理技術的3個發展階段
- 3.數據庫是什么?關系型數據庫和非關系型數據庫又是什么?
- 4.為什么要使用數據庫?
- 5.數據庫系統是什么?它由哪幾部分組成?
- 6.常用數據庫訪問接口簡介
- 7.數據庫的種類有哪些?
- 8.幾種常用的數據庫
- 9.MySQL是什么
- 10.MySQL適用于哪些場景?
- 11.學MySQL前,需要了解這些數據庫專業術語
- 12.MySQL客戶端和服務器架構(C/S架構)
- 13.明白了MySQL內部結構才能成為高手!
- 14.如何學習數據庫(新手必看)?
- 15.小白學習MySQL需要多長時間,能從事哪方面的工作?
- 16.當前市場對數據庫程序員的需求如何?待遇如何?
- 17.DBA到底要做什么,成為一名DBA需要具備什么能力?
- 一、數據庫的概念和常用工具
- 二、MySQL規范、配置及登錄退出操作
- 三、MySQL中的數據類型
- 四、數據庫增查改刪等操作
- 五、數據表增查改刪操作
- 六、MySQL數據增查改刪操作
- 七、MySQL存儲引擎
- 八、MySQL常用函數
- MySQL的安裝和配置
- 1.MySQL 5.7的新特性(新功能)
- 2.MySQL下載步驟詳解
- 3.MySQL安裝配置教程(Windows系統)
- 4.MySQL免安裝版配置教程
- 5.MySQL配置環境變量
- 6.安裝MySQL后,如何判斷是否已安裝成功
- 7.啟動MySQL服務的兩種方式(圖解)
- 8.登錄MySQL數據庫
- 9.對Linux MySQL軟件包的一些說明
- 10.Linux CentOS卸載MySQL(Linux安裝MySQL前的準備)
- 11.Linux安裝配置MySQL詳細步驟
- 12.MySQL my.cnf配置文件詳解
- 13.MySQL常用圖形化管理工具
- 14.MySQL安裝后的目錄結構介紹
- 15.MySQL數據庫文件存放目錄結構詳解
- 16.MySQL配置文件(my.ini)詳解
- 17.與其它數據庫不同,MySQL可以在不同的SQL模式下運行
- 18.MySql Command Line Client閃退原因及解決方案
- MySQL數據庫的基本操作
- 1.SQL是什么?它能做什么?
- 2.SQL的基本書寫規則
- 3.MySQL查看或顯示數據庫(SHOW DATABASES語句)
- 4.MySQL創建數據庫(CREATE DATABASE語句)
- 5.MySQL修改數據庫:ALTER DATABASE用法簡介
- 6.MySQL刪除數據庫(DROP DATABASE語句)
- 7.MySQL選擇數據庫(MySQL USE語句)
- 8.MySQL注釋:單行注釋和多行注釋
- 9.MySQL中SQL語句的大小寫規則
- 10.如何查看MySQL系統幫助?
- 11.看懂SQL錯誤代碼,提高學習效率!
- 數據庫高級
- 一、視圖的操作
- 二、觸發器的操作
- 三、事務的操作
- 四、索引的操作
- 五、存儲過程的操作
- 六、數據庫的優化方案
- 1.分庫、分表和索引
- 2.讀寫分離和查詢優化
- 3.join代替子查詢
- 4.盡量使用短小的事務
- 5.常用小技巧
- MySQL使用注意事項
- 1.字符亂碼及連接驅動