關係型數據庫:是一種創建在關係模型(數學模型)上的數據庫。數據庫
關係模型:一種所謂創建在關係上的模型。 數據結構
關係模型包含三個方面:1.數據結構:數據存儲的問題,二維表(有行和列) 2.操做指令集合:全部SQL語句 3.完整性約束:表內數據約束(字段與字段之間),表與表之間的約束(外鍵)spa
關係型數據庫:從須要存儲的數據需求中分析,若是是一類數據(實體)應該設計成一張二維表,二維表是由表頭(字段名:用來規定數據的名字)和數據部分組成(實際存儲的數據單元)設計
二維表:行和列數學
表頭 | 字段名1 | 字段名2 |
數據單元 | 數據1 | 數據2 |
以實際案例來進行處理:分析一個教學系統,講師負責教學,教學生,在教室教學生table
關係型數據庫:維護實體內部,實體與實體之間的聯繫數據
實體內部聯繫:每一個學生都有姓名,性別,學號,學科信息關係型數據庫
學生表:tab
姓名 | 性別 | 學號 | 學科 | 年齡 |
陳明 | 男 | 1001 | PHP | 20 |
陳晶晶 | 女 | 1002 | PHP | |
王威 | 1003 | UI |
第二行的全部字段,都是描述陳明這個學生(內部聯繫),第二列只能放性別(內部約束)集合
關係型數據庫的特色之一:若是表中對應的某個字段沒有值(數據),可是系統依然要分配空間,關係型數據庫比較浪費空間
實體與實體之間的聯繫:每一個學生確定屬於某個班級,每一個班級必定有多個學生(一對多)
班級表:
班級名稱 | 教室編號 |
PHP0810 | B205 |
UI0810 | A203 |
解決兩張表的關聯問題方案:在學生表中增長一個班級字段來執行班級(必須可以惟一的找到一個班級信息)
姓名 | 性別 | 學號 | 學科 | 年齡 | 班級名稱 |
陳明 | 男 | 1001 | PHP | 20 | PHP0810 |
陳晶晶 | 女 | 1002 | PHP | PHP0810 | |
王威 | 1003 | UI | UI0810 |
學生實體與班級實體的關聯關係:實體與實體之間的關係