資料庫系統概論第 十三章 專題研討 - 課務管理系統   上一頁    下一頁

13-2 資料庫邏輯設計 - course_db

內容:

  • 13-2-1 第一層分析:系統基本需求

  • 13-2-2 第二層分析:班別與系所組織

  • 13-2-3 第三層分析:課程概況

  • 12-2-4 第四層分析:學期開課概況

  • 12-2-5 第五層分析:學生選課概況

  • 12-2-6 第六層分析:加入所需屬性

我們利用由外往內拆解方法,來分析此系統的邏輯架構,分別說明如下:

13-2-1 第一層分析:系統基本需求

實際狀況:

  • (a) 學生可透過該系統選課。

  • (b)老師也可透過該系統開課。

12-1 系統基本需求

13-2-2 第二層分析:班別與系所組織

實際狀況:

  • (a) 每一位學生都被歸屬於某一班級。

  • (b) 每一位老師也被歸屬於某一系所。

12-2 班別與系所組織

12-2 是學生與班級之間的E-R 圖,每一位學生僅隸屬於某一個班級,但該班級可擁有多位學生,因此他們之間是多對一的關係。兩者之間連結係利用班級代碼,在學生資料中加入一個外來鍵『班級代碼』,連結到班級資料的主鍵『班級代碼』。教師與系所關係也是如此,我們在系所資料加入『系別代碼』當主鍵,也在老師資料內加入外來鍵『系別代碼』,以標示老師是隸屬哪一個系所的。

13-2-3 第三層分析:課程概況

實際狀況:

  • (a) 各系將所規劃課程繳交給教務處(課程名稱、必選修、學分數)

  • (b) 教務處將各系所繳交課程歸納成一個課程總表(加入系別代碼、課程代碼)

12-3課程概況

我們增加了『課程』實體來顯示各系所規劃的課程,它與系統之間的關係是多個系所都可以繳交所欲開設的課程,且每一系所可繳交多門課,同一門課也可以由多個系所開設,因此,課程與系所之間是多對多的關係。為了辨識各個課程,我們增加了『課程代碼』做為主鍵,再增加『系別代碼』為外來鍵,以聯繫它是屬於哪系所開設。

13-2-4 第四層分析:學期開課概況

實際狀況:

  • (a) 每一學期開始,老師由課程總表內選擇開設課程(或被指定開設)

  • (b) 老師可以跨系開課,表示所開課程不一定是他所屬系所規劃的。

  • (c) 教務處將所有老師開設的課程彙整成一總表。

12-4 開課狀況

開設課程關係到老師、課程與班別,而且之間都是多對多的關係,我們還是另外增加『開課代碼』做為該實體的主鍵,在操作方面會比較容易。

13-2-5 第五層分析:學生選課概況

實際狀況:

  • (a) 學生每一學期可選讀若干門課。

  • (b) 學生可以跨系選課。

  • (c) 同一門課可讓多位學生修讀。

  • (d) 學生同一學期、同一門課只能選讀一次。

  • (e) 教務處將所有學生所選讀課程彙整,並允許老師輸入學生成績。

12-5 選課狀況

學生可由開課表內選擇課程,每一課程也可讓多位學生選讀,因此它們之間是多對多的關係,我們只要增加『學號』與『開課代碼』等兩個外來鍵,當作複合主鍵,再加入一個『成績』的欄位即可。

13-2-6 第六層分析:加入所需屬性

分析到這裡幾乎完成了,接下來依照系統需求(驗證題目)加入個實體或關係的屬性,結果如下:(請參考附件)

12-6 課務管理系統的 E-R 關係圖

翻轉工作室:粘添壽

 

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

 

 

翻轉電子書系列: