一對多關係模型
在“課程花名冊”資料庫中,一位教師可以教授零個或多個課程,而一個課程只能由一位教師教授。在“公司”資料庫中,一位經理可以管理零個或多個員工,而一個員工只能由一位經理管理。在“產品銷售”資料庫中,一位客戶可以下多個訂單,而一個訂單隻能由一位特定客戶下。這種關係被稱為一對多關係。
一對多關係不能用單個表來表示。例如,在“課程花名冊”資料庫中,我們可能從一個名為教師的表開始,該表儲存有關教師的資訊(如姓名、辦公室、電話和電子郵件)。為了儲存每位教師教授的課程,我們可以建立class1、class2、class3等列,但會立即遇到要建立多少列的問題。另一方面,如果我們從一個名為課程的表開始,該表儲存有關課程的資訊,我們可以建立額外的列來儲存有關(一位)教師的資訊(如姓名、辦公室、電話和電子郵件)。但是,由於一位教師可以教授許多課程,因此其資料會在課程表中的多行中重複。
為了支援一對多關係,我們需要設計兩個表:例如,一個名為課程的表來儲存有關課程的資訊,其中classID作為主鍵;以及一個名為教師的表來儲存有關教師的資訊,其中teacherID作為主鍵。然後,我們可以透過在課程表(“多”端或子表)中儲存教師表(“一”端或父表)的主鍵(即teacherID)來建立一對多關係,如下所示。

子表課程中的teacherID列稱為外部索引鍵。子表的外部索引鍵是父表的主鍵,用於引用父表。
廣告
資料結構
網路
關係型資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C 語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP