一、一對一的關係:
一對一的關係用的較少(一對一關係可以直接建在一張表內)。
1.舉例:
人和身份證:乙個人只能有一張有效身份證,一張有效身份證只能對應乙個人。
2.建表原則:
2.1兩張表,唯一外來鍵對應主表主鍵(用unique約束外來鍵)
2.2兩張表,兩張表的主鍵各自對應
二、一對多的關係:
1.舉例:
部門和員工:乙個部門可以有多個員工,乙個員工只能屬於乙個部門。
2.建表原則:
在多的一方建立乙個字段(定義為該錶的外來鍵),字段作為外來鍵指向一的一方的主鍵。
*把一的一方稱為主表;多的一方稱為從表。
3.建表的語句
alter table 從表 add [constraint] [外來鍵名稱] foreign key(從表外來鍵欄位名) references 主表(主表主鍵);
**[constraint] [外來鍵名稱]用於刪除外來鍵的約束,建議「-fk」格式結尾。(寫語句時可以省略)
刪除外來鍵約束語句:
alter table 從表 drop foreign key 外來鍵名稱;
三、多對多關係:
1.舉例:
學生選課:乙個學生可以選多門課程;乙個課程也可以被多個學生選。
2.建表原則:
建立一張表作為兩張表的中間表,中間表所含的字段分別作為外來鍵指向各自對應表的主鍵。
*把中間表稱為從表;其他多的方向的表稱為主表。
3.建表語句:(兩個表分開建立與中間表的關係)
3.1表一建表語句
alter table 從表(中間表) add foreign key(表一外來鍵) references 主表一(表一主鍵);
3.2表二建表語句
alter table 從表(中間表) add foreign key(表二外鍵) references 主表二(表二主鍵);
MYSQL多表設計之表關係
mysql多表設計之表關係 1.1多表設計之表關係的介紹 1.1.1表與表之間的關係 1.1.1.1一對多的關係 一對多的例子 乙個部門下可以有多個員工,乙個員工只能屬於某乙個部門。1.1.1一對多關係介紹 一對多關係的建表原則 在多的一方建立外來鍵指向一的一方的主鍵 1.1.1.2多對多的關係 多...
Mysql 建表及查詢規範
int 如無特殊需要,存放整型數字使用unsigned int型。整型欄位後的數字代表顯示長度。整型型別如下表 資料型別 最大儲存長度 有符號 最大儲存長度 無符號 tinyint m 1個位元組 範圍 128 127 1個位元組 範圍 0 256 smallint m 2個位元組 範圍 32768...
mysql 多表及其之間的關係
一對多關係 客戶和訂單 分類和商品 部門和員工。一對多建表原則 在多的一方建立乙個字段,字段作為外來鍵指向一方的主鍵。商品表 product 多 pid 分類表 category 一 cid 通過外來鍵約束,如下 alter table product add foreign key pid ref...