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

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

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

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

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

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

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

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

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

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

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

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

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

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

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

14、束,該關(guān)系同樣滿足三范式規(guī)范。9、授課狀態(tài)表(教師代號(hào),課程代號(hào))授課狀態(tài)表將記錄老師的教課信息,一個(gè)老師可能上幾門(mén)不同的課程,比如java老師可能也上C語(yǔ)言的課程,加入該表將會(huì)更準(zhǔn)確記錄老師的授課信息,以便排課系統(tǒng)更好的分配。該表為全碼約束,兩個(gè)屬性組合為主鍵。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、班級(jí)查詢視圖建立Create view classtime As Select class.bjxm,班級(jí)派課表.jsdh,subject.kcm,teacher.jsxm,time.jc,zc,xqFrom class,time,teacher, 班級(jí)派課表,subj

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

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

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論