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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

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

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

14、束,該關(guān)系同樣滿足三范式規(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 and in

溫馨提示

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

評論

0/150

提交評論