為一個大學資料庫應用程式(DBMS)繪製ER圖?
問題
考慮以下約束條件,繪製大學資料庫應用程式的ER模型圖:
一所大學有多個系。
每個繫有多名教師(一人為系主任)。這裡的系主任指的是系主任。
一名教師只屬於一個系。
每個系開設多門課程,每門課程由一名教師教授。
一名學生可以選修不同系開設的多門課程。
解決方案
按照以下步驟為大學資料庫應用程式繪製實體關係(ER)圖:
步驟 1 - 識別實體集。
實體集在給定的業務場景中有多個例項。
根據給定的約束條件,實體集如下:
系
課程
學生
教師
系主任不是實體集。它是教師和系實體之間的關係。
步驟 2 - 識別給定實體的屬性
系 - 相關屬性為系名稱和位置。
課程 - 相關屬性為課程編號、課程名稱、持續時間和先修課程。
教師 - 相關屬性為教師姓名、房間號和電話號碼。
學生 - 相關屬性為學號、學生姓名和出生日期。
步驟 3 - 識別主鍵屬性
系名稱是系的主鍵屬性。
課程編號是課程實體的主鍵屬性。
教師姓名是教師實體的主鍵屬性。
學號是學生實體的主鍵屬性。
步驟 4 - 識別實體集之間的關係
系開設多門課程,每門課程只屬於一個系,因此係與課程之間的基數是一對多。
多名學生選修一門課程,一名學生選修多門課程。因此,關係是多對多。
一個繫有多名教師,一名教師只屬於一個系,因此關係是一對多。
每個繫有一位“系主任”,一位教師只能在一個系擔任“系主任”,因此關係是一對一。這裡,系主任指的是系主任。
一門課程只由一位教師教授,但一位教師可以教授多門課程,因此課程與教師之間的關係是多對一。
教師與學生之間的關係沒有定義,原因如下:
關係沒有意義。
我們總是可以透過課程和教師,以及課程和學生間接推匯出這種關係。
步驟 5 - 完整的 ER 模型
完整的 ER 模型如下:
廣告