MySQL 詳解教程2 - 關係型數據庫

1 定義

關係型數據庫,是一種建立在關係模型(數學模型)上的數據庫。

至於關係模型,則是一種所謂建立在關係上的模型,其包含三個方面,分別爲:

  • 數據結構:數據存儲的形式,二維表(行和列);
  • 操作指令集合:所有的 SQL 語句;
  • 完整性約束:表內數據約束(字段與字段)和表與表之間的約束(外鍵)。

2 設計

  • 數據庫:從需要存儲的數據需求中分析,如果是一類數據(實體),則應該設計成二維表;
  • 二維表:由表頭(字段名,用來規定數據的名稱)和數據(實際存儲的內容)部分組成。

在此處,需要特別注意:如果表中對應的某個字段值爲空,但是系統依然會爲其分配存儲空間,這也就是關係型數據庫比較浪費空間的原因啦!

3 關鍵字說明

  • DB:Database,數據庫;
  • DBMS:Database Management System,數據庫管理系統;
  • DBS:Database System = DBMS + DB,數據庫系統;
  • DBA:Database Administrator,數據庫管理員。
  • 行\記錄:row\record,本質都是指表中的一行(一條記錄),行是從結構角度出發,記錄則是從數據角度出發。
  • 列\字段:column\field,本質都是指表中的一列(一個字段),列是從結構角度出發,字段則是從數據角度出發。

4 SQL語句

SQL:Structured Query Language,結構化查詢語言(數據以查詢爲主,99% 都是在進行查詢操作)。

SQL 主要分爲三種:

  • DDL:Data Definition Language,數據定義語言,用來維護存儲數據的結構(數據庫、表),代表指令爲create、drop和alter等。
  • DML:Data Manipulation Language,數據操作語言,用來對數據進行操作(表中的內容)代表指令爲insert、delete和update等,不過在 DML 內部又單獨進行了一個分類,即 DQL(Data Query Language),數據查詢語言,代表指令爲select.
  • DCL:Data Control Language,數據控制語言,主要是負責(用戶)權限管理,代表指令爲grant和revoke等。

SQL 是關係型數據庫的操作指令,是一種約束,但不強制,類似於 W3C,因此這意味着:不同的數據庫產品(如 Oracle 和 MySQL)內部可能會有一些細微的區別。

5 MySQL 數據庫

MySQL 數據庫是一種C\S結構的軟件,即分爲:客戶端和服務端。

若想訪問服務器,則必須通過客戶端;服務器應該一直運行,客戶端則在需要使用的時候運行。

交互方式

  1. 客戶端連接認證,即連接服務器,認證身份mysql.exe -hPup
  • -h,主機地址,本地爲localhost,遠程爲IP地址
  • -P,端口號,用來找軟件
  • -u,用戶名
  • -p,密碼
  1. 發送 SQL 指令;

  2. 服務器接受 SQL 指令,然後處理 SQL 指令並返回操作結果;

  3. 客戶端接受結果並顯示結果;

  4. 由於服務器併發限制,需要斷開連接(三種指令,分別爲:exit、quit和\q),釋放資源。

服務器對象

由於沒辦法完全瞭解服務器內部的結構,因此只能粗略的分析數據庫服務器的內部結構。

一般來說,將 MySQL 數據庫服務器的內部對象分爲四層,分別爲:數據管理系統(DBMS)–> 數據庫(DB)–> 表(Table)–> 字段(Filed).

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