一、多表關係 1.一對一(例如:人和身份證) 實現:可以在任意一方添加唯一外鍵指向另一方的主鍵;或者這節加個欄位,整合成一張表 如:在人信息表中添加身份證id欄位這一外鍵,指向身份證信息表的主鍵id;或者在人信息表中添加身份證id欄位 2.一對多、多對一(例如:員工和部門) 實現:在多的一方建立外鍵 ...
一、多表關係
1.一對一(例如:人和身份證)
實現:可以在任意一方添加唯一外鍵指向另一方的主鍵;或者這節加個欄位,整合成一張表
如:在人信息表中添加身份證id欄位這一外鍵,指向身份證信息表的主鍵id;或者在人信息表中添加身份證id欄位
2.一對多、多對一(例如:員工和部門)
實現:在多的一方建立外鍵,指向一的一方的主鍵
如:在員工表添加部門id欄位這一外鍵,引用部門表的主鍵欄位
3.多對多(例如:學生和課程)
實現:添加中間表,中間表至少引用倆表的主鍵作為聯合主鍵
如:在中間表添加學生id和課程id,作為聯合主鍵,分別引用學生和課程的主鍵
二、資料庫設計的範式
1.1NF第一範式每一列不可再拆分,稱為原子性。
2.2NF第二範式就是在第一範式的基礎上所有列完全依賴於主鍵列
特點:一張表只描述一件事情,表的每一列都完全依賴於主鍵
3.3NF在滿足 2NF 的基礎上,任何非主列不得傳遞依賴於主鍵
我的理解是先確定一些需要的欄位,再看看怎麼分表吧,滿足前面三大範式就差不多滿足設計要求了。