關系型數據庫表與表之間的三種關系


一、一對一關系:

定義:有兩個表,在第一個表中的某一行只與第二個表中的一行相關,同時第二個表中的某一行,也只與第一個表中的一行相關,我們稱這兩個表為一對一關系。
例如:
第一張表:

ID

姓名

國籍

貢獻

1001

王大錘

中國

萬萬沒想到

1002

吉澤明步

日本

動作藝術片

1003

刀鋒女王

未知

計划生育

第二張表:

ID

出生日期

逝世日期

1001

1988

NULL

1002

1984

NULL

1003

未知

3XXX

這里的第一張表的每一行只與第二張表的一行相對應。
提示:一對一關系是比較少見的關系類型。但在某些情況下,還是會需要使用這種類型。
情況一:一個表包含了太多的數據列
情況二:將數據分離到不同的表,划分不同的安全級別。
情況三:將常用數據列抽取出來組成一個表
 
二、一對多關系:
定義:有多張表,第一個表中的行可以與第二個表中的一到多個行相關聯,但是第二個表中的一行只能與第一個表中的一行相關聯。
例如:
第一張表:

ID

姓名

國籍

 

1001

王大錘

中國

 

1002

吉澤明步

日本

 

1003

刀鋒女王

未知

 

第二張表:

ID

節目ID

1001

10001

1001

10002

1003

10003

1003

10004

第三張表:

節目ID

節目名稱

10001

萬萬沒想到

10002

報告老板

10003

星際2

10004

英雄聯盟

這里的第一張表的一行可以與第二張表的多行相對應;第二張表的一行與第三張表的一行相對應。
提示:一對多關系是最常見的關系類型。
 
三、多對多關系:
定義:有兩個表,第一個表的一行可以與第二個表中的一到多個行相關聯,同時,第二個表中的一行可以與第一個表中的一到多個行相關聯。
例如:
第一張表:

ID

姓名

國籍

 

1001

王大錘

中國

 

1002

吉澤明步

日本

 

1003

刀鋒女王

未知

 

第二張表:

ID

節目ID

1001

10001

1001

10002

1003

10003

1003

10004

第三張表:

節目ID

節目名稱

10001

萬萬沒想到

10002

報告老板

10003

星際2

10004

英雄聯盟

在第一張與第三張表之間,一個人可以參加多個節目,一個節目也可以有多個人參加。例如王大錘參加了《萬萬沒想到》和《報告老板》。而《萬萬沒想到》中有王大錘和吉澤明步。這種是多對多的關系。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM