排課系統(tǒng)數據庫設計_第1頁
排課系統(tǒng)數據庫設計_第2頁
排課系統(tǒng)數據庫設計_第3頁
排課系統(tǒng)數據庫設計_第4頁
排課系統(tǒng)數據庫設計_第5頁
已閱讀5頁,還剩8頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、JIANGXIAGRICULTURALUNIVERSITY本科課程實訓題目:關于學生排課系統(tǒng)的數據庫設計學院:軟件學院姓名:肖力謝果學號:2010146620101467專業(yè):軟件工程班級:軟件1001指導教師:黃欣2011年12月引言:由于當下大學學校班級及專業(yè)較多,我們學校的實用的幫助班級排課的一個系統(tǒng)也有迫切需求?;谟肧QLServer設計的數庫的排課系統(tǒng)也有很大的需要,在本實訓作業(yè)中,將會針對該實際情況,對我校江西農業(yè)大學的學生上課排課系統(tǒng)的數據庫進行設計。該設計工作由雙人合作的形式完成,對一個學期以來數據庫系統(tǒng)概論的學習進行鞏固和聯系。該排課系統(tǒng)主要設計流程工作大概分為三個階段:需

2、求分析,概念結構設計,邏輯結構設計,也將設計的物理結構和數據庫實施維護從略講述,著重在需求分析上的收集數據形成實體及其聯系的數據字典完成,在需求分析的基礎上完成數據流圖的基本設計;在概念結構設計上完成數據的抽象形成各子系統(tǒng)的E-R圖,最后在解決沖突的分析下完成基本總實體-聯系(E-R圖);在邏輯結構設計階段中完成數據的抽象及實體的形成,實體的規(guī)范分析及完整性約束,以及設計階段的有關觸發(fā)器的創(chuàng)建分析和實現最后簡要對數據庫設計的步驟的物理設計和實施階段簡要概述。課程設計為實驗周兩天完成,使用流行的SQLServer2005數據庫系統(tǒng)完成基本設計工作,通過數據庫管理系統(tǒng)(DBMS)、T/SQL基本語

3、句實現數據庫表的創(chuàng)建,表的完整性約束,表的視圖及觸發(fā)器的創(chuàng)建,基本工作都按照實訓題要求基本完成。需求分析需求分析是數據庫設計的必要和首要設計階段,將會影響以后數據庫設計的延續(xù)和質量,需求分析方法也很多,最重要是形成有實用價值的實際性的數據字典和數據流圖。在該排課系統(tǒng)的需求分析階段,主要是通過詢問和自己所掌握的關于該系統(tǒng)的數據聯系方式和工作方式,形成了關于該系統(tǒng)的數據字典和數據流圖。1.1需求表述1.1.1基本功能描述排課系統(tǒng)的數據庫設計主要完成工作有:1、數據庫管理員對數據的錄入和相關完整性條件約束的建立,2、數據庫相關的觸發(fā)器與存儲過程對數據庫中數據的聯系的管理;3、執(zhí)行程序能夠高效率地完成

4、數據處理和調用;4、能夠通過DBMS建立一系列視圖來更方便的操作數據庫。1.1.2開發(fā)技術描述開發(fā)工具:MicrosoftSQLServer2005SQLServer2005是microsoft公司推出的數據庫管理系統(tǒng),該版本繼承了SQLServer2000版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行MicrosoftWindows2000電腦到運行MicrosoftWindowsXP的大型多處理器的服務器等多種平臺使用。本實驗中最終將使用MicrosoftSQLServer2005數據庫管理系統(tǒng)將我們設計的數據庫實現。分析形成初

5、步數據字典數據字典(DataDictionary,DD)是數據庫設計需求分析階段后通過科學的處理方法得到的該系統(tǒng)中各類數據描述的集合,也是進行詳細數據收集和數據分析所獲得的主要成果,它在數據庫設計中占有恨重要的地位。數據字典通常包括數據項、數據結構、數據流、數據存儲和處理過程5個部分。其中數據項是數據的最小組成單位,若干個數據項可以組成一個數據結構,以下將把分析收集的數據及其結構列出:1、課程相關數據(表1)字段名稱說明功能數據類型寬度kcdh課程代號表示該課程的一個代號intkcm課程名這個課程的名稱char8kclb課程類別該課程的上課形式(教室類)tinyint注:教室類別中的tinyi

6、nt從14分別代表取值為普通教室、多媒體教室、半多媒體教室、實驗機房,也可以由具體其它教師類別進行擴充。2、班級數據(表2)字段名稱說明功能數據類型寬度bjdh班級代號代表這個班級的號碼(表示院系)int11bjmc班級名稱表示這個班級的名字char8bjrs班級人數該班級包括的人數int113、教師數據(表3)字段名稱說明功能數據類型寬度js_dh教師代號老師的代碼int11jsxm教師姓名教師的名字char10jszc教師職稱反映了這個老師的職稱char10jsxb教師性別表小老師的性別char24、教室數據(表4)字段名稱說明功能數據類型寬度jsdh教室代號表示這個教室位置int11js

7、gm教室規(guī)模表示這個教室可以容納的人戶intjslb教室類表小是否啟int別多媒體設置注:教室類別中的tinyint從14分別代表取值為普通教室、多媒體教室、半多媒體教室、實驗機房,也可以由具體其它教師類別進行擴充。5、班級課程數據(表5)字段名稱說明功能數據類型寬度bjdh班級代號表示這個班級intkcbh課程代號表示該班級的該課程intks_num課時數目表示該班級該課程的課時數目intz_num課時周數表示該班級該課程的上課周數目int6、班級課時數據(表6)字段名稱說明功能數據類型寬度bjdh班級代號班級的代號intkcdh課程代號課程的代號intsjdh時間代號該班級上該課程的時間點

8、intjs_dh教師代號上課老師的代號intjsdh教室代號上該次課的教室int注:星期的屬性值范圍tinyint中從15分別代表值是周一到周五;節(jié)次的屬性值范圍tinyint中從14分別代表值是12節(jié),34節(jié),56節(jié),78節(jié)7、授課數據(表7)字段名稱說明功能數據類型寬度jdh教師代號intkcdh課程代號int注:一個老師可能教授多門課程的情況也存在8、教室使用狀態(tài)數據分析(表8)字段名稱說明功能數據類型寬度jsdh教室的代號intjcdh時間代號哪個時間點教室在用狀態(tài)intsyqk使用情況該教室在時間段內是否被使用char2注:標注教室使用情況,以便于進行排課時不至于沖突。9、學期的時間

9、分配數據(表9)字段名稱說明功能數據類型寬度sjdh時間代號intzc時間周tinyintxq時間星期inyintjc節(jié)次tinyint注:星期的屬性值范圍tinyint中從15分別代表值是周一到周五;節(jié)次的屬性值范圍tinyint中從14分別代表值是12節(jié),34節(jié),56節(jié),78節(jié)。以上各是需求分析后形成的數據的部分數據字典,基本描述了各種數據及其結構,沒有對數據的數據存儲進行較多的描述?;緮祿鲌D通過以上的分析和各類數據的形成,也將在以下畫出該系統(tǒng)的基本簡單數據流圖,數據流圖(DataFlowDiagram,DFD)為概念結構設計和形成初步基本E-R圖做好準備。下圖為得到的基本數據流程圖:

10、時間點班級課程班級人數課程教室教室狀態(tài)數據流出號程rn-課老師號教師授課班級上課時段基本數據流程圖(圖1)注:在該數據流程圖中簡要將系統(tǒng)的數據流向標示,在排課處理中綜合所有的相關數據,最后得到一個班級一門課程在一個時間點的上課地點和任課老師。:、概念結構設計將以上需求分析階段得到的數據字典及數據流程圖整合為對應得到實體聯系圖,為下一步邏輯結構設計中創(chuàng)建關系代數模型和建立相應得表做最后的分析準備。數據各實體及其屬性以下各圖將系統(tǒng)所有實體的屬性集合表示如下:以上將數據各實體分別將圖表列出基本E-R圖的形成實體聯系部分情況:一個班級可以是在一個學期內學習沒M門課程,一門課程也可以同時在我們學校的N個

11、班級內開課;一個老師可以教M門課程的情況,同時一門課程有N個老師在教授課程;一個班級有M個老師授課學習,一個老師也可能在N個班級中講課;一個班上課只能在1個教室,同時一個教室在一時刻只能一個班上課(大課及公選課沒有考慮進去);一個老師上課在1個教室,一個教室只能1個老師在上課;一個時間點有M個班級在上課,一個班級只能只能在1個時間點上課。基本E-R圖:老師系統(tǒng)基本E-R圖在形成E-R圖的過程中,由于將各實體聯系到一塊,可能會產生命名沖突,結構沖突和屬性沖突,在此將不具體介紹相關沖突的解決辦法,只在后面的模型中自行分析并解決。三、邏輯結構設計邏輯結構設計是在概念結構設計好的基礎上把形成的基本系統(tǒng)

12、實體聯系圖轉化為我們現在要使用的DBMS關系模型結構,在此將具體將E-R圖的各實體和屬性聯系轉化為一個個的關系模式,并對各關系模式分析各規(guī)范要求。3.1E-R圖轉化為關系模式生成的關系表:1、課程表(課程號、課程名,課程類別)該表記錄全校所有課程的相關信息,包括該課程的上課類別,也就是上課教室的類別,將課程號作為主碼。該關系中其它兩個非主屬性完全依賴于碼值課程代號,也不存在傳遞依賴,同時滿足于1NF,2NF,3NF三個規(guī)范。2、班級表(班級代號.班級名,班級人數)表記錄學校各班級的的簡單信息,包括班級名稱和班級人數,班級人數同時將會確定該班級上課的教室規(guī)模,班級代號為主碼約束,班級名和班級人數

13、完全依賴于該碼,不存在傳遞依賴,該關系滿足3范式規(guī)范要求。3、教師表(教師代號,教師性別,教師姓名)教師表將學校所有老師的信息記錄,教師代號為為主碼,也滿足三范式的規(guī)范要求。4、教室表(教室代號,教室規(guī)模,教室類別)將記錄全校所有教室信息的表,其中實體完整性為教室代號為主碼,教室規(guī)模為教室容納人數,教室類別取值有int型數據4種,兩個非主屬性完全依賴于碼且不傳遞依賴于主碼。5、時間表(時間代號、星期,節(jié)次,周次)記錄學校一個學期所有上課時間的表,將節(jié)假日和雙休日可以不再表內,包含周次,星期,節(jié)次三個時間屬性,時間代號為主碼約束,三個屬性完全依賴于主碼,也不傳遞依賴于主碼,滿足關系范式要求。6、

14、班級選課表(班級代號,課程代號,課時數,周數)班級選課表將記錄一個班級一門課程的上課信息,包括課時數,和上課總周數,班級代號和課程代號為主碼,同時也是班級表和課程表的外碼,一個班的某門課程的上課課時和周數一定的,兩個屬性完全依賴于主碼,同時這個關系也將是編程實現時進行排課所需要的表,將會生成視圖和編寫觸發(fā)器對應外碼的參照完整性。7、班級派課表(班級代號,時間代號,課程號.教師代號,教室代號)班級派課表中記錄排課后的班級上課表,也是最終得到的班級課表信息,以班級代號和時間代號為主碼約束,其他屬性有該班級在該時刻上課的課程,上課的老師代號,以及上課的教室代號。8、教室狀態(tài)表(教室代號,時間代號,使

15、用狀態(tài))教室狀態(tài)表保存了在排課過程中教室的使用情況,使用狀態(tài)為1和0,分別表示教室在該時刻的使用狀態(tài),為編程實現不會教室在某個時刻不重復排教室。教室代號和時間代號為主碼約束,該關系同樣滿足三范式規(guī)范。9、授課狀態(tài)表(教師代號,課程代號)授課狀態(tài)表將記錄老師的教課信息,一個老師可能上幾門不同的課程,比如java老師可能也上C語言的課程,加入該表將會更準確記錄老師的授課信息,以便排課系統(tǒng)更好的分配。該表為全碼約束,兩個屬性組合為主鍵。3.2部分表、視圖和觸發(fā)器的創(chuàng)建1、表的創(chuàng)建:Createtablesubject/課程表創(chuàng)建(Kcdhintparmarykey,Kcmchar(4)notnull

16、,Kclbchar(4)notnull,Zxsintnotnull,Zhxsintnotnullchilk(zhxsin(0,1,2,3)defult1,)Createtableteacher/教師表的建立(Jsdhintparmarykey,Jszychar(8)notnull,Jsxbchar(2)notnullchilk(jsxbin(男,女'),Jsxmchar(8)notnull)2、班級查詢視圖建立CreateviewclasstimeAsSelectclass.bjxm班級派課表.jsdh,subject.kcm,teacher.jsxm,time.jc,zc,xqFro

17、mclass,time,teacher,班級派課表,subjectWhereclass.bjdh=S級派課表.bjdhandteacher.jsdh初級派課表.sdhandtime.sjdh=班級排派表.sjdhandsubject.kcdh劭級派表.kcdh3、教室課表視圖建立:CreateviewteachertimeAsSelectjsxm,bjxm,kcm班級派課表.bidh,xq,zc,jc,班級派課表.bidhFromclass,room,teacher,time,班級排課表.,subjectWhereclass.bjdh=ffi級派課表.bjdhandteacher.jsdh初級派課表.sdhandtime.sjdh=班級派課表.sjdhandsubject.kcdh劭級排課表.kcdh5、部分觸發(fā)器的建立:Createtriggerinsert_STon班級派課表forinsertAsBegindeclarebanjiintbanji_1intselectbanji=count(*)from班級派課表,insertedwhereinserted.bjdh=ffi級派課表.bjdhandinserted.bjkc劭級派課表.bjkcselectbanji_1=kssfrom班級課表,insertedwhereinserte

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論