資料庫系統概論第 十章 資料庫邏輯設計   上一頁    下一頁

10-3 E-R 圖轉換為資料表

內容:

利用 E-R Mode 圖形描述真實情境之後,接下來必須將 E-R 圖轉換為資料表,其實轉換資料表並沒有一定常規可循,只要能描述每一個實體,並且每一表格都與其它表格建立關係即可。

10-3-1 個體轉換

我們用學生實體來說明如何將實體轉換為資料表,如圖 9-9。將此實體取名為

『學生資料表』= {學號、姓名、班級代碼、性別、地址、電話、電子郵件}

其中有底線者表示『學號』是主鍵

10-3-2 一對一關係轉換

兩個實體之間是一對一的關係,大多兩實體都使用相同屬性為主鍵,譬如學生與監護人之間是一對一的關係,兩者都採用『學號』當主鍵,其關係就不需要另外建立資料表 。對監護人表格而言,學號欄位外來鍵,也是主鍵(備註:隸屬關係不需要另加表格)

9-10 一對一關係轉換

10-3-3 一對多關係轉換

如果關係沒有增加屬性的話,它大多不需另外建立資料表,譬如學生與班級之間的隸屬關係。在學生資料表中,加入外來鍵『班級代碼』參考到班級資料表的『班級代碼』即可。(備註:隸屬關係不需要另加表格)

10-3-4 多對多關係轉換

系統設定每位學生可以選讀多門課,每一門課可讓學生修讀,但同一位學生、同一門課僅能選讀一次,不可點選兩次以上。因此,我們 將『選課』關係轉換為資料表:(備註:選課關係轉換為表格)

『選課總表』= {學號開課代碼、分數}

其中學號與開課代碼為複合主鍵,如圖 9-12

10-3-5 複雜的多對多關係

開課關係是複雜且多對多的關係,表示同一學期教師可以開多門課、每班也可開多門課、每一課程也可以讓不同老師在不同班級開課,如圖 9-13。我們將此『開課』關係定名為 :『開課總表』= {課程代碼、班級代碼、教師代碼}等三個屬性,並組合成主鍵。如果這樣的話,當它當別資料表的『外來鍵』時,該資料表也要建立這三個欄位,就會很浪費空間,我們再增加一個『開課代碼』之欄位,並選定它為主鍵。 因此開課關係轉換為資料表如下:(備註:開課關係轉換為表格)

『開課總表』= {開課代碼、課程代碼、班級代碼、教師代碼}

四個欄位,並以開課代碼』為主建。

翻轉工作室:粘添壽

 

資料庫系統概論(含邏輯設計)

 

 

翻轉電子書系列: