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

下載本文檔

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

文檔簡介

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

2、.2 開發(fā)技術描述開發(fā)工具:Microsoft SQL Server 2005 SQL Server 2005 是microsoft 公司推出的數(shù)據庫管理系統(tǒng),該版本繼承了SQL Server 2000 版本的優(yōu)點,同時又比它增加了許多更先進的功能。具有使用方便可伸縮性好與相關軟件集成程度高等優(yōu)點,可跨越從運行Microsoft Windows 2000 電腦到運行Microsoft Windows XP 的大型多處理器的服務器等多種平臺使用。本實驗中最終將使用Microsoft SQL Server 2005數(shù)據庫管理系統(tǒng)將我們設計的數(shù)據庫實現(xiàn)。 1.2 分析形成初步數(shù)據字典數(shù)據字典(Dat

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

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

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

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

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

8、的基本數(shù)據流程圖:班級課程排課處理班 級教 室分析教室課 程 教室狀態(tài)教師授課班級上課時段數(shù)據流出課程號班級號人數(shù)人數(shù)教室類別可用教室課程號老師號時間點基本數(shù)據流程圖(圖1)注:在該數(shù)據流程圖中簡要將系統(tǒng)的數(shù)據流向標示,在排課處理中綜合所有的相關數(shù)據,最后得到一個班級一門課程在一個時間點的上課地點和任課老師。二、 概念結構設計將以上需求分析階段得到的數(shù)據字典及數(shù)據流程圖整合為對應得到實體聯(lián)系圖,為下一步邏輯結構設計中創(chuàng)建關系代數(shù)模型和建立相應得表做最后的分析準備。2.1 數(shù)據各實體及其屬性以下各圖將系統(tǒng)所有實體的屬性集合表示如下:教 室教室號教室類別教室規(guī)模代號姓名專業(yè)性別班 級班級名班級人數(shù)

9、代號教 師課 程課程號課程名上課類別班級課課程號班級號課時數(shù)周數(shù)授課教師號課程號學期時間代號周次星期節(jié)次班級課表時間號班級號課程號教室號教師號教室狀態(tài)教室號時間號是否空以上將數(shù)據各實體分別將圖表列出。2.2 基本E-R圖的形成實體聯(lián)系部分情況:1、 一個班級可以是在一個學期內學習沒M門課程,一門課程也可以同時在我們學校的N個班級內開課;2、 一個老師可以教M門課程的情況,同時一門課程有N個老師在教授課程;3、 一個班級有M個老師授課學習,一個老師也可能在N個班級中講課;4、 一個班上課只能在1個教室,同時一個教室在一時刻只能一個班上課(大課及公選課沒有考慮進去);5、 一個老師上課在1個教室,

10、一個教室只能1個老師在上課;6、 一個時間點有M個班級在上課,一個班級只能只能在1個時間點上課?;綞-R圖:老師班級課 程學習講課教學教 室占 用占用講 課MNMNMN111111系統(tǒng)基本E-R圖在形成E-R圖的過程中,由于將各實體聯(lián)系到一塊,可能會產生命名沖突,結構沖突和屬性沖突,在此將不具體介紹相關沖突的解決辦法,只在后面的模型中自行分析并解決。三、 邏輯結構設計邏輯結構設計是在概念結構設計好的基礎上把形成的基本系統(tǒng)實體聯(lián)系圖轉化為我們現(xiàn)在要使用的DBMS關系模型結構,在此將具體將E-R圖的各實體和屬性聯(lián)系轉化為一個個的關系模式,并對各關系模式分析各規(guī)范要求。3.1 E-R圖轉化為關系模

11、式生成的關系表:1、課程表(課程號,課程名,課程類別)該表記錄全校所有課程的相關信息,包括該課程的上課類別,也就是上課教室的類別,將課程號作為主碼。該關系中其它兩個非主屬性完全依賴于碼值課程代號,也不存在傳遞依賴,同時滿足于1NF,2NF,3NF三個規(guī)范。2、班級表(班級代號,班級名,班級人數(shù))表記錄學校各班級的的簡單信息,包括班級名稱和班級人數(shù),班級人數(shù)同時將會確定該班級上課的教室規(guī)模,班級代號為主碼約束,班級名和班級人數(shù)完全依賴于該碼,不存在傳遞依賴,該關系滿足3范式規(guī)范要求。3、教師表(教師代號,教師性別,教師姓名)教師表將學校所有老師的信息記錄,教師代號為為主碼,也滿足三范式的規(guī)范要求

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

13、,一個班的某門課程的上課課時和周數(shù)一定的,兩個屬性完全依賴于主碼,同時這個關系也將是編程實現(xiàn)時進行排課所需要的表,將會生成視圖和編寫觸發(fā)器對應外碼的參照完整性。7、班級派課表(班級代號,時間代號,課程號,教師代號,教室代號)班級派課表中記錄排課后的班級上課表,也是最終得到的班級課表信息,以班級代號和時間代號為主碼約束,其他屬性有該班級在該時刻上課的課程,上課的老師代號,以及上課的教室代號。8、教室狀態(tài)表(教室代號,時間代號,使用狀態(tài))教室狀態(tài)表保存了在排課過程中教室的使用情況,使用狀態(tài)為1和0,分別表示教室在該時刻的使用狀態(tài),為編程實現(xiàn)不會教室在某個時刻不重復排教室。教室代號和時間代號為主碼約

14、束,該關系同樣滿足三范式規(guī)范。9、授課狀態(tài)表(教師代號,課程代號)授課狀態(tài)表將記錄老師的教課信息,一個老師可能上幾門不同的課程,比如java老師可能也上C語言的課程,加入該表將會更準確記錄老師的授課信息,以便排課系統(tǒng)更好的分配。該表為全碼約束,兩個屬性組合為主鍵。3.2 部分表、視圖和觸發(fā)器的創(chuàng)建1、表的創(chuàng)建:Create table subject /課程表創(chuàng)建( Kcdh int parmary key, Kcm char(4) not null, Kclb char(4) not null, Zxs int not null, Zhxs int not null chilk(zhxs i

15、n (0,1,2,3) defult 1,)Create table teacher /教師表的建立( Jsdh int parmary key, Jszy char(8) not null, Jsxb char(2) not null chilk (jsxb in (男,女), Jsxm char(8) not null)2、班級查詢視圖建立Create view classtime As Select class.bjxm,班級派課表.jsdh,subject.kcm,teacher.jsxm,time.jc,zc,xqFrom class,time,teacher, 班級派課表,subj

16、ectWhere class.bjdh=班級派課表.bjdh and teacher.jsdh=班級派課表.sdh and time.sjdh =班級排派表.sjdh and subject.kcdh=班級派表.kcdh3、教室課表視圖建立:Create view teachertimeAs Select jsxm,bjxm,kcm 班級派課表.bidh ,xq,zc,jc, 班級派課表.bidhFrom class ,room,teacher,time, 班級排課表.,subjectWhere class.bjdh=班級派課表.bjdh and teacher.jsdh=班級派課表.sdh

17、and time.sjdh =班級派課表.sjdh and subject.kcdh=班級排課表.kcdh5、部分觸發(fā)器的建立:Create trigger insert_ST on 班級派課表 for insertAsBegindeclare banji int banji_1 intselect banji=count(*) from 班級派課表,inserted where inserted.bjdh=班級派課表.bjdh and inserted.bjkc=班級派課表.bjkcselect banji_1=kss from 班級課表,inserted where inserted.bjdh=班級派課表.bjdh an

溫馨提示

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

評論

0/150

提交評論