約束條件foreign key
實際工作中,不能把所有的數(shù)據(jù)都建立在一張表上,所有數(shù)據(jù)都存放于一張表的弊端:
1)浪費內(nèi)存空間
2)擴展修改麻煩
為了解決上述的問題,就需要用多張表來存放數(shù)據(jù)。
表與表的記錄之間存在著三種關(guān)系:一對多、多對多、一對一的關(guān)系。
處理表之間關(guān)系問題就會利用到FOREIGN KEY
實例如下:
1、首先檢錄被關(guān)聯(lián)表
2、建立關(guān)聯(lián)表
先建被關(guān)聯(lián)的表,并且保證被關(guān)聯(lián)的字段唯一,在建關(guān)聯(lián)的表
3、插入數(shù)據(jù)
順序:先往被關(guān)聯(lián)表插入數(shù)據(jù)記錄,在向關(guān)聯(lián)表插入數(shù)據(jù)


假如裁員IT:
刪除表從關(guān)聯(lián)表先刪除,然后刪除被關(guān)聯(lián)。
還有一種方式可以讓關(guān)聯(lián)和被關(guān)聯(lián)表一起修改增減:
在關(guān)聯(lián)表中加入:
此時 delete from dep where id=1;

同時查看 emp,發(fā)現(xiàn)emp成員dep_id=1的也被刪除

同理,修改dep的 id號 :
update dep set id=202 where id=2;

查看emp:

標簽: