mysql 基礎



             RDBMS(Relational Database Management System)關係型數據庫管理系統




數據庫是什麼:

   數據庫(Database)是按照數據結構來組織、存儲和管理數據的倉庫,每個數據庫都有一個或多個不同的API用於創建,訪問,管理,搜索和複製所保存的數據。

   所謂的關係型數據庫,是建立在關係模型基礎上的數據庫,藉助於集合代數等數學概念和方法來處理數據庫中的數據。


RDBMS即關係數據庫管理系統(Relational Database Management System)的特點:

  1. 數據以表格的形式出現

  2. 每行爲各種記錄名稱

  3. 每列爲記錄名稱所對應的數據域

  4. 許多的行和列組成一張表單

  5. 若干的表單組成database



RDBMS 術語

在我們開始學習MySQL 數據庫前,讓我們先了解下RDBMS的一些術語:

  1. 數據庫: 數據庫是一些關聯表的集合。.

  2. 數據表: 表是數據的矩陣。在一個數據庫中的表看起來像一個簡單的電子表格。

  3. 列: 一列(數據元素) 包含了相同的數據, 例如郵政編碼的數據。

  4. 行:一行(=元組,或記錄)是一組相關的數據,例如一條用戶訂閱的數據。

  5. 冗餘:存儲兩倍數據,冗餘降低了性能,但提高了數據的安全性。

  6. 主鍵:主鍵是唯一的。一個數據表中只能包含一個主鍵。你可以使用主鍵來查詢數據。

  7. 外鍵:外鍵用於關聯兩個表。

  8. 複合鍵:複合鍵(組合鍵)將多個列作爲一個索引鍵,一般用於複合索引。

  9. 索引:使用索引可快速訪問數據庫表中的特定信息。索引是對數據庫表中一列或多列的值進行排序的一種結構。類似於書籍的目錄。

  10. 參照完整性: 參照的完整性要求關係中不允許引用不存在的實體。與實體完整性是關係模型必須滿足的完整性約束條件,目的是保證數據的一致性。



MySQL是一個關係型數據庫管理系統,由瑞典MySQL AB公司開發,目前屬於Oracle公司。MySQL是一種關聯數據庫管理系統,關聯數據庫將數據保存在不同的表中,而不是將所有數據放在一個大倉庫內,這樣就增加了速度並提高了靈活性。


系統特性:

1.使用 C和 C++編寫,並使用了多種編譯器進行測試,保證了源代碼的可移植性。

2.支持 AIX、FreeBSD、HP-UX、Linux、Mac OS、NovellNetware、OpenBSD、OS/2 Wrap、Solaris、Windows等多種操作系統。

3.爲多種編程語言提供了 API。這些編程語言包括 C、C++、Python、Java、Perl、PHP、Eiffel、Ruby,.NET和 Tcl 等。

4.支持多線程,充分利用 CPU 資源。

5.優化的 SQL查詢算法,有效地提高查詢速度。

6.既能夠作爲一個單獨的應用程序應用在客戶端服務器網絡環境中,也能夠作爲一個庫而嵌入到其他的軟件中。

7.提供多語言支持,常見的編碼如中文的 GB2312、BIG5,日文的 Shift_JIS等都可以用作數據表名和數據列名。

8.提供 TCP/IP、ODBC 和 JDBC等多種數據庫連接途徑。

9.提供用於管理、檢查、優化數據庫操作的管理工具。

10.支持大型的數據庫。可以處理擁有上千萬條記錄的大型數據庫。

11.支持多種存儲引擎。

12.MySQL 是開源的,所以你不需要支付額外的費用。

13.MySQL 使用標準的 SQL數據語言形式。

14.MySQL 對 PHP 有很好的支持,PHP是目前最流行的 Web 開發語言。

15.MySQL是可以定製的,採用了 GPL協議,你可以修改源碼來開發自己的 MySQL 系統。

16.在線 DDL/更改功能,數據架構支持動態應用程序和開發人員靈活性(5.6[3] 新增)

17.複製全局事務標識,可支持自我修復式集羣(5.6[3] 新增)

18.複製無崩潰從機,可提高可用性(5.6[3] 新增)

19.複製多線程從機,可提高性能(5.6[3] 新增)


存儲引擎:

  1. MyISAM  MySQL 5.0 之前的默認數據庫引擎,最爲常用。擁有較高的插入,查詢速度,但不支持事務

  2. InnoDB  事務型數據庫的首選引擎,支持ACID事務,支持行級鎖定, MySQL 5.5 起成爲默認數據庫引擎

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章