實體間的關係:1:1,1:N,M:N
*實體之間的關係*
1)1對1關係:
兩個實體表內,存在相同的主鍵欄位。
1.1)設計:
如果記錄的主鍵值等於另一個關係表內記錄的主鍵值,則兩條 記錄對應,1:1對應。
例子:
#表一:學生資訊表 #表二:學生詳細資訊表
學生主鍵 學號 姓名 * 學生主鍵 生日 住址
*
1 1101 張三 * 1 10.15 北京
2 1102 李四 * 2 12.15 上海
【注意】:
垂直分隔:在優化的角度上來講,如果說一個表內的欄位過多,就應該將其拆分出來,
分為哪些常用和哪些不常用,同時分割成兩個或者多個表,只要每一個表內有相同的主鍵就行。
2)一對多關係:
一個實體對應多個其它實體。
例如:一個班級對應多個學生。
2.1)設計:
在多的那端,增加一個欄位,用於指向該實體所屬的另外的實體的標識。
例子:
#表一:學生主資訊表 #表二:班級表
學生主鍵 學號 姓名 班級號 * 班級主鍵 開班時間 課程
1 1101 張三 8 * 8 2018-08-10 JAVA
3 1102 李四 9 * 9 2018-10-10 LINUX
5 1103 王五 8 *
6 1104 趙四 8 *
3)多對多關係:
3.1)設計:
利用一箇中間關係表來表示實體之間的對應關係。
例子:
#表一:老師資訊表 #表二:班級資訊表
講師主鍵 名字 * 班級主鍵 班級名
1 趙四 * 10 1101
3 張三 * 15 1105
想要表達表一和表二之間的多對多關係(趙四教了1105班;張三教了1101和1105班),需要藉助一箇中間關係表。
#表三:中間關係表
講師主鍵 班級主鍵
1 1105
3 1101
3 1105
【注意】
中間表的每個記錄,表示一個關係。