表關係:表與表之間(實體)有什麼樣的關係,每種關係應該如何設計表結構
一對一
一對一:一張表中的一條記錄與另外一張表中最多有一條明確的關係,通常,此設計方案保證兩張表中使用同樣的主鍵即可
學生表
學生id(pri)
姓名年齡
性別籍貫
婚否住址
學生表表的使用過程中:常用的資訊會經常去查詢,而不常用的資訊會偶爾才會用到。
解決方案:將兩張表拆分,常見的放一張表,不常見的放一張表
學生表1
學生id (pri)
姓名年齡
性別學生表2
學生id (pri)
籍貫婚否
住址一對多(多對一)
一對多,通常也叫作多對一的關係,通常一對多的關係設計的方案,在多關係的表中去維護乙個字段,這個欄位是"一"關係的主鍵。
母親表
母親id
姓名年齡
身高m1
m2孩子表
孩子id
姓名年齡
身高母親id
k1m1
k2m1
多對多
多對多:一張表中的一條記錄在另外一張表中可以匹配到多條記錄,反過來也一樣。多對多的關係如果按照多對一的關係維護,就會出現乙個欄位中有多個其他表的主鍵,在訪問的時候就會帶來不便。既然通過兩張表自己增加字段 解決不了問題,那麼就通過第三張表來解決。
師生關係:
1、乙個老師教過多個班級的學生;
2、乙個學生聽過多個老師講的課;
教師表
tidname
agegender
t1張興20男
t2李梅30女
學生表
sidname
agegender
s1王平16男
s2張萍18女
s3李自成17男
s4鄧輝16男
多對多解決方案:增加乙個中間表,讓中間表與對應的其他表形成兩個多對一的關係:多對一的解決方案是在"多"表中增加"一"表對應的主鍵字段。
中間表
idtid
sid1
t1s12t1
s33t1s44t2
s25t2s4
mysql 表參照關係 MYSQL表關係
表關係 一 外來鍵 foreign key 作用 約束當前表的某列值必須取自於另一張表的主鍵列值 外來鍵所在的列稱之為 外來鍵列 外來鍵所在的表稱之為 外來鍵表 或 子表 被外來鍵列所引用的表稱之為 主表 或 主鍵表 語法 1.建立表的同時指定外來鍵 create table 字段 型別,const...
基礎 表關係
使用背景 有時可能會要求檢索一些在被連線的表中沒有匹配行的資料。右外連線 右表為主,右表全部顯示 select from emp e,dept d where e.deptno d.deptno select from emp e right outer join dept d on e.deptn...
mysql 關係表 MySQL表關係的理解
關係型資料庫表之間存在各種各樣的聯絡,及一對多,多對一,多對多。這裡主要講下一對多,為什麼要建立表之間的關聯。一對多的定義 一對多關係 一對多關係是關聯式資料庫中兩個表之間的一種關係,該關係中第乙個表中的單個行可以與第二個表中的乙個或多個行相關,但第二個表中的乙個行只可以與第乙個表中的乙個行相關。一...