13-2 資料庫邏輯設計 - course_db
我們利用由外往內拆解方法,來分析此系統的邏輯架構,分別說明如下: 13-2-1 第一層分析:系統基本需求 實際狀況:
圖 12-1 系統基本需求 13-2-2 第二層分析:班別與系所組織 實際狀況:
圖 12-2 班別與系所組織 圖 12-2 是學生與班級之間的E-R 圖,每一位學生僅隸屬於某一個班級,但該班級可擁有多位學生,因此他們之間是多對一的關係。兩者之間連結係利用班級代碼,在學生資料中加入一個外來鍵『班級代碼』,連結到班級資料的主鍵『班級代碼』。教師與系所關係也是如此,我們在系所資料加入『系別代碼』當主鍵,也在老師資料內加入外來鍵『系別代碼』,以標示老師是隸屬哪一個系所的。 13-2-3 第三層分析:課程概況 實際狀況:
圖 12-3課程概況 我們增加了『課程』實體來顯示各系所規劃的課程,它與系統之間的關係是多個系所都可以繳交所欲開設的課程,且每一系所可繳交多門課,同一門課也可以由多個系所開設,因此,課程與系所之間是多對多的關係。為了辨識各個課程,我們增加了『課程代碼』做為主鍵,再增加『系別代碼』為外來鍵,以聯繫它是屬於哪系所開設。 13-2-4 第四層分析:學期開課概況 實際狀況:
圖 12-4 開課狀況 開設課程關係到老師、課程與班別,而且之間都是多對多的關係,我們還是另外增加『開課代碼』做為該實體的主鍵,在操作方面會比較容易。 13-2-5 第五層分析:學生選課概況 實際狀況:
圖 12-5 選課狀況 學生可由開課表內選擇課程,每一課程也可讓多位學生選讀,因此它們之間是多對多的關係,我們只要增加『學號』與『開課代碼』等兩個外來鍵,當作複合主鍵,再加入一個『成績』的欄位即可。 13-2-6 第六層分析:加入所需屬性 分析到這裡幾乎完成了,接下來依照系統需求(驗證題目)加入個實體或關係的屬性,結果如下:(請參考附件)
圖 12-6 課務管理系統的 E-R 關係圖 |
翻轉工作室:粘添壽
資料庫系統概論(含邏輯設計)
翻轉電子書系列:
|