教育行業(yè)A股IPO第一股(股票代碼 003032)

全國咨詢/投訴熱線:400-618-4000

JAVA培訓(xùn)之?dāng)?shù)據(jù)庫表關(guān)聯(lián)關(guān)系

更新時間:2016年10月19日17時30分 來源:傳智播客JAVA培訓(xùn)學(xué)院 瀏覽次數(shù):

數(shù)據(jù)庫表的關(guān)聯(lián)關(guān)系有如下三種:
  • 一對多
  • 一對一
  • 多對多
一對多的關(guān)系比較常見,我們在之前練習(xí)的都是一對多的關(guān)系操作,因此這里就不再重復(fù)介紹了。

1.一對一關(guān)系

在現(xiàn)實生活中,丈夫與妻子之間的關(guān)系就是一對一的關(guān)系,下面我們將這兩個實體轉(zhuǎn)換成兩個表。表名分別是:husband,wife。
(1)創(chuàng)建husband表,如圖1-1所示:

圖1-1 創(chuàng)建husband表
(2)創(chuàng)建wife表,如圖1-2所示:

圖1-2 創(chuàng)建wife表
圖1-2中,創(chuàng)建wife表時該表的外鍵與主鍵相同,都是wid,并且引用自husband表的主鍵,這樣做就保證了wife表中的記錄與husband表中的記錄是一對一的關(guān)系,wife表的主鍵wid就必須滿足以下三個要求:
  • 非空:wid是主鍵,那么必然是非空的;
  • 唯一:wid是主鍵,那么必然也是唯一的不能重復(fù)的;
  • 引用husband表的主鍵hid
(3)向husband表中插入三條記錄,如圖1-3所示:

圖1-3 插入記錄
(4)向wife表中插入數(shù)據(jù),如圖1-4所示:

圖1-4 向wife表中插入記錄
圖1-4中,向wife表中插入一條記錄,主鍵值為4,wid不僅僅是wife表的主鍵,也是外鍵,它的值是引用husband表的主鍵值,而在husband表中并不存在值為4的主鍵,因此插入失敗。

2.多對多關(guān)系

學(xué)生與老師之間的關(guān)系就是多對多的關(guān)系,下面我們在數(shù)據(jù)庫中創(chuàng)建兩個表,分別是student,teacher。多對多關(guān)系不會體現(xiàn)在這兩個表中,而是將這個關(guān)系保存在第三張表中。
(1)創(chuàng)建student表,然后向student表中插入四條記錄,最后查詢該表,如圖1-5所示:

圖1-5 student表信息
(2)創(chuàng)建teacher表,并向表中插入兩條數(shù)據(jù),最后查詢該表,如圖1-6所示:

圖16 teacher表信息
(3)創(chuàng)建第三張表,名為stu_tea,如圖1-7所示:

圖1-7 創(chuàng)建關(guān)系表
(4)建立學(xué)生表與教師表之間的關(guān)系,如圖1-8所示:

圖1-8 建立表與表之間的關(guān)系
圖1-8中,student表中的所有學(xué)生都是teacher表中主鍵為1的老師的學(xué)生,表明了一個老師有多個學(xué)生,而student表中主鍵為2的學(xué)生還有一個老師,他的主鍵是2,表明了一個學(xué)生可以有多個老師。如此,student表與teacher表建立了多對多的關(guān)聯(lián)關(guān)系。


本文版權(quán)歸傳智播客java學(xué)院所有,歡迎轉(zhuǎn)載,轉(zhuǎn)載請注明作者出處。謝謝!
作者:傳智播客java學(xué)院
0 分享到:
和我們在線交談!