一對多關係模型


在“課程花名冊”資料庫中,一位教師可以教授零個或多個課程,而一個課程只能由一位教師教授。在“公司”資料庫中,一位經理可以管理零個或多個員工,而一個員工只能由一位經理管理。在“產品銷售”資料庫中,一位客戶可以下多個訂單,而一個訂單隻能由一位特定客戶下。這種關係被稱為一對多關係。

一對多關係不能用單個表來表示。例如,在“課程花名冊”資料庫中,我們可能從一個名為教師的表開始,該表儲存有關教師的資訊(如姓名、辦公室、電話和電子郵件)。為了儲存每位教師教授的課程,我們可以建立class1、class2、class3等列,但會立即遇到要建立多少列的問題。另一方面,如果我們從一個名為課程的表開始,該表儲存有關課程的資訊,我們可以建立額外的列來儲存有關(一位)教師的資訊(如姓名、辦公室、電話和電子郵件)。但是,由於一位教師可以教授許多課程,因此其資料會在課程表中的多行中重複。

為了支援一對多關係,我們需要設計兩個表:例如,一個名為課程的表來儲存有關課程的資訊,其中classID作為主鍵;以及一個名為教師的表來儲存有關教師的資訊,其中teacherID作為主鍵。然後,我們可以透過在課程表(“多”端或子表)中儲存教師表(“一”端或父表)的主鍵(即teacherID)來建立一對多關係,如下所示。

子表課程中的teacherID列稱為外部索引鍵。子表的外部索引鍵是父表的主鍵,用於引用父表。

更新於: 2020年6月19日

4K+ 次瀏覽

開啟你的 職業生涯

完成課程獲得認證

開始學習
廣告

© . All rights reserved.