實(shí)例4學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)說明_第1頁
實(shí)例4學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)說明_第2頁
實(shí)例4學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)說明_第3頁
實(shí)例4學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)說明_第4頁
實(shí)例4學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)說明_第5頁
已閱讀5頁,還剩48頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、 PAGE53 / NUMPAGES53實(shí)例4:學(xué)生宿舍管理系統(tǒng)數(shù)據(jù)庫設(shè)計(jì)1. 系統(tǒng)需求分析階段1.1.2 需求分析階段的任務(wù)(1)處理對(duì)象:系統(tǒng)要處理的對(duì)象包括宿舍樓基本信息、學(xué)生基本信息、宿舍基本信息、樓道工作人員基本信息、宿舍保衛(wèi)處基本信息、宿舍事故基本信息、物品出入基本信息等七個(gè)方面,各個(gè)對(duì)象包括信息如下所示(詳細(xì)的數(shù)據(jù)見于數(shù)據(jù)字典):1宿舍樓基本信息(Dormitory):包括 宿舍樓編號(hào)、宿舍樓所在校區(qū)、宿舍樓再校區(qū)中區(qū)域、每一幢宿舍樓樓管處的、宿舍樓樓管員信息等方面,這樣可以方便管理者對(duì)宿舍樓的管理,提高查詢效率;2學(xué)生基本信息(Student):包括 學(xué)生編號(hào)、學(xué)生所在學(xué)院信息

2、、學(xué)生、學(xué)生性別、學(xué)生來自省份、學(xué)生出生日期、學(xué)生入學(xué)時(shí)間、學(xué)生所學(xué)專業(yè)、所在班級(jí)等方面的信息,可以方便學(xué)信息的查詢和更新;3宿舍基本信息(Room,F(xiàn)itment,F(xiàn)itmentDestruction,F(xiàn)itmentCompensate):宿舍基本信息包括四個(gè)數(shù)據(jù)結(jié)構(gòu)(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品損壞信息(FitmentDestruction),宿舍損壞物品賠償信息),每個(gè)數(shù)據(jù)結(jié)構(gòu)中的數(shù)據(jù)項(xiàng)見數(shù)據(jù)字典;4樓道工作人員基本信息(Worker):包括 工作人員編號(hào)、工作人員、工作類型、工資、性別、聯(lián)系方式、工作時(shí)間等數(shù)據(jù)項(xiàng),可以方便管理人員對(duì)宿舍樓道工人的任用、

3、信息查詢與更改;5宿舍保衛(wèi)處基本信息(SafeGuard):包括保衛(wèi)處名稱、人員數(shù)目、負(fù)責(zé)人信息、聯(lián)系等四方面的信息;6宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):事故信息包括三個(gè)數(shù)據(jù)結(jié)構(gòu)(事故信息、事故處理信息、事故賠償信息),具體的數(shù)據(jù)項(xiàng)見數(shù)據(jù)字典;物品出入基本信息(ArticalInOut):包括出入物品的學(xué)生信息、出入的物品信息、出入物品時(shí)的負(fù)責(zé)人信息、出入物品時(shí)間,盡量減少宿舍事故的發(fā)生,保障學(xué)生宿舍財(cái)產(chǎn)的安全。(2)處理功能要求系統(tǒng)主要完成一下幾個(gè)功能:1宿舍樓基本信息查詢與修改;2學(xué)生基本信息查詢與更新;3每一幢宿

4、舍樓中宿舍信息的查詢與信息更新;4宿舍保衛(wèi)處基本信息的查詢和修改;5宿舍事故基本信息與事故處理信息的查詢和修改;6宿舍樓物品出入審批與記錄;(3)安全性和完整性要求安全性先通過視圖機(jī)制,不同的用戶只能訪問系統(tǒng)授權(quán)的視圖,這樣可提供系統(tǒng)數(shù)據(jù)一定程度上的安全性,再通過用戶授權(quán)機(jī)制,欲用戶登陸來識(shí)別用戶級(jí)別,根據(jù)這個(gè)級(jí)別來分配用戶權(quán)限,達(dá)到數(shù)據(jù)更高層次的安全功能。完整性要求用于描述宿舍樓基本信息、學(xué)生基本信息、宿舍基本信息、樓道工作人員基本信息、宿舍保衛(wèi)處基本信息、宿舍事故基本信息、物品出入基本信息中數(shù)據(jù)項(xiàng)能否為null,以與一些用戶自定義完整性(符合實(shí)際要求),詳細(xì)完整性要求見于系統(tǒng)的邏輯設(shè)計(jì)階段

5、。1.1.3 需求分析階段成果(1)體會(huì)與收獲系統(tǒng)需求分析主要采取實(shí)地詢問記錄和樓管處查詢宿舍學(xué)生信息的方式,同時(shí)借鑒學(xué)長(zhǎng)在做數(shù)據(jù)庫開發(fā)這方面的經(jīng)驗(yàn)。通過實(shí)地調(diào)查和詢問,了解目前學(xué)生宿舍管理的現(xiàn)狀,以與目前學(xué)生宿舍管理中一些問題,并對(duì)實(shí)際查詢業(yè)務(wù)實(shí)地參與,了解了學(xué)生、樓管員、宿舍管理者、宿舍保衛(wèi)人員對(duì)系統(tǒng)的信息處理要求,以與他(她)們對(duì)現(xiàn)存人工管理方式不能滿足信息處理要求的苦惱。同時(shí)在調(diào)查中牽涉的許多的人際交流,恰當(dāng)?shù)脑儐柗绞剑捎谄綍r(shí)幾乎沒有做過這方面的調(diào)查,開始時(shí)有點(diǎn)膽怯和不知從何入手,但過了兩三幢宿舍樓之后,開始的膽怯就感覺不到了。(2)學(xué)生宿舍管理系統(tǒng)業(yè)務(wù)流程圖新生入住宿舍業(yè)務(wù)流程圖:

6、查詢業(yè)務(wù)流程圖(查詢宿舍學(xué)生信息、樓道工作人員信息、宿舍樓信息等):畢業(yè)生離宿業(yè)務(wù)流程圖:樓道工作人員任用業(yè)務(wù)流程圖:宿舍樓物品出入業(yè)務(wù)流程圖:宿舍事故處理業(yè)務(wù)流程圖:(3)數(shù)據(jù)流程圖頂層數(shù)據(jù)流程圖:第2層數(shù)據(jù)流程圖:從學(xué)生角度出發(fā)第2層數(shù)據(jù)流程圖:從管理者角度出發(fā)圖2.3 從管理者角度出發(fā)的2層數(shù)據(jù)流程圖第3層數(shù)據(jù)流程圖:從新生角度出發(fā)第3層數(shù)據(jù)流程圖:從畢業(yè)生角度出發(fā)第3層數(shù)據(jù)流程圖:從宿舍樓物品出入出發(fā)第3層數(shù)據(jù)流程圖:從宿舍事故角度出入出發(fā)第3層數(shù)據(jù)流程圖:從樓道工作人員的任用角度出發(fā)第3層數(shù)據(jù)流程圖:從管理者和外來訪客的角度出發(fā)(4)數(shù)據(jù)字典(a)數(shù)據(jù)項(xiàng):系統(tǒng)涉與的數(shù)據(jù)項(xiàng)有71項(xiàng)表1

7、.1 數(shù)據(jù)項(xiàng)列表數(shù)據(jù)項(xiàng)編號(hào)數(shù)據(jù)項(xiàng)名數(shù)據(jù)項(xiàng)含義與其它數(shù)據(jù)項(xiàng)的關(guān)系存儲(chǔ)結(jié)構(gòu)別名DI-1StuNo學(xué)生編號(hào)char(9)學(xué)號(hào)DI-2DepName學(xué)生所在學(xué)院char(20)學(xué)院DI-3StuName學(xué)生char(10)DI-4StuSex學(xué)生性別char(2)性別DI-5StuHome學(xué)生來自省份char(10)祖籍DI-6StuBorth學(xué)生出生時(shí)間Date出生日期DI-7StuETime學(xué)生入學(xué)時(shí)間Date入學(xué)時(shí)間DI-8StuPerfect學(xué)生所在專業(yè)char(20)專業(yè)DI-9StuClass學(xué)生所在班級(jí)編號(hào)Int編號(hào)DI-10WorNo工作人員編號(hào)char(5)編號(hào)DI-11WorNam

8、e工作人員char(10)DI-12WorType工作類型char(8)工作類型DI-13WorWage工作人員工資Int月工資DI-14WorSex工作人員性別char(2)性別DI-15WorPhNo工作人員聯(lián)系方式char(12)DI-16WorTime工作人員工作時(shí)間char(30)工作時(shí)間DI-17RNo宿舍編號(hào)char(6)舍號(hào)DI-18RHeader舍長(zhǎng)信息等于StuNamechar(10)舍長(zhǎng)DI-19ROne宿舍學(xué)生信息同上char(10)舍員1DI-20RTwo宿舍學(xué)生信息同上char(10)舍員2DI-21RThree宿舍學(xué)生信息同上char(10)舍員3DI-22RFo

9、ur宿舍學(xué)生信息同上char(10)舍員4DI-23RFive宿舍學(xué)生信息同上char(10)舍員5DI-24RSix宿舍學(xué)生信息同上char(10)舍員6DI-25RGrade宿舍學(xué)生所屬年級(jí)等于StuETimechar(4)年級(jí)DI-26RDepart宿舍學(xué)生所在學(xué)院等于DepNamechar(20)學(xué)院DI-27RPerfect宿舍學(xué)生所學(xué)專業(yè)等于StuPerfectchar(20)專業(yè)DI-28RClass學(xué)生所在班級(jí)編號(hào)等于StuClasschar(2)班級(jí)DI-29DorNo宿舍樓編號(hào)smallint宿舍樓號(hào)DI-30DorCampus宿舍樓所屬校區(qū)char(4)校區(qū)DI-31Do

10、rLocation宿舍樓在校區(qū)位置char(4)宿舍區(qū)位DI-32DorPhNo宿舍樓管處char(12)DI-33DorAdminist宿舍樓樓管員信息等于WorNochar(10)樓管員DI-34SGName保衛(wèi)處名稱char(15)名字DI-35SGWorNum保衛(wèi)處人員總數(shù)Int人員數(shù)目DI-36SGHeader保衛(wèi)處負(fù)責(zé)人信息char(10)負(fù)責(zé)人DI-37SGPhone保衛(wèi)處char(12)DI-38FitName宿舍物品名稱char(16)宿舍物品DI-39FitPrice宿舍物品價(jià)格Float價(jià)格DI-40FitNum每一種宿舍的數(shù)量Int數(shù)量DI-41FDFitment損壞物

11、品信息等于FitNamechar(16)物品名DI-42FDStudent損壞的學(xué)生信息等于StuNochar(9)學(xué)生DI-43FDRoom損壞物品宿舍信息等于RNochar(6)舍號(hào)DI-44FDFitNum損壞物品的數(shù)量Int數(shù)量DI-45FCompFit賠償物品信息等于FitNamechar(16)物品名DI-46FCompStu需賠償學(xué)生信息等于StuNochar(9)學(xué)生DI-47FCompMon賠償價(jià)格Float賠償價(jià)格DI-48FCompPrin賠償負(fù)責(zé)人信息等于WorNochar(10)負(fù)責(zé)人DI-49FCompDate賠償日期Date日期DI-50FCompNum賠償物品數(shù)

12、量Int數(shù)量DI-51AcNo事故編號(hào)int編號(hào)DI-52AcType事故類型char(10)類型DI-53AcArtical事故損失物品char(30)物品名DI-54AcArNum事故損失物品數(shù)量Int數(shù)量DI-55AcStu事故受害學(xué)生等于StuNochar(9)學(xué)生DI-56AcDate事故發(fā)生日期Date日期DI-57AcPrin事故負(fù)責(zé)人信息等于SGHeaderchar(15)負(fù)責(zé)人DI-58AcStuPh受害人聯(lián)系方式char(12)學(xué)生DI-59AcVerify事故是否屬實(shí)Bool核查DI-60ARNo事故調(diào)查編號(hào)char(4)編號(hào)DI-61ARName事故調(diào)查名稱char(1

13、5)調(diào)查DI-62ARPrin事故調(diào)查負(fù)責(zé)人等于SGHeaderchar(10)負(fù)責(zé)人DI-63ARResult事故調(diào)查結(jié)果Bool結(jié)果DI-64ACStu事故賠償學(xué)生信息等于StuNochar(10)學(xué)生DI-65ACArtical事故賠償物品信息char(30)物品名DI-66ACDate事故賠償日期Date日期DI-67ACPrin事故賠償負(fù)責(zé)單位等于SGHeaderchar(15)負(fù)責(zé)單位DI-68AIOStu要求物品出入學(xué)生等于StuNochar(10)學(xué)生DI-69AIOArtical出入物品信息char(20)物品名DI-70AIOPrin出入物品審查人等于WorNochar(1

14、0)負(fù)責(zé)人DI-71AIODate出入物品日期Date日期DI-72AIONo物品出入序號(hào)Int序號(hào)(b)數(shù)據(jù)結(jié)構(gòu):表1.2 數(shù)據(jù)結(jié)構(gòu)列表數(shù)據(jù)結(jié)構(gòu)編號(hào)數(shù)據(jù)結(jié)構(gòu)名數(shù)據(jù)結(jié)構(gòu)含義組成DS-1Student宿舍學(xué)生信息StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClassDS-2Worker宿舍樓工作人員信息WorTime,WorName,WorType,WorWage,WorSex,WorPhNo,WorNoDS-3Room宿舍信息RNo,RHeader,ROne, RClass,RThree,RFour,

15、RFive,RSix,RGrade,RDepart,RPerfect,RTwo,DS-4Dormitory宿舍樓信息DorNo,DorCampus,DorPhNoDorLocation,DorAdministDS-5SafeGuard宿舍保衛(wèi)處信息SGName,SGWorNum,SGHeader,SGPhoneDS-6Fitment宿舍物品配備信息FitName,FitPrice,FitNumDS-7FitmentDestruction宿舍物品損壞信息FDFitment,FDStudent,FDRoom,FDFitNumDS-8FitmentCompensate宿舍損壞物品賠償信息FCompF

16、it,FCompStu,FCompPrin,FCompDate,FCompNumDS-9Accident宿舍事故注冊(cè)信息AcNo,AcType, AcStu,AcDate,AcArtical,AcVerify,AcPrin,AcArNum,AcStuPhDS-10AccidentResearch宿舍事故調(diào)查信息ARNo,ARName,ARPrin,ARResultDS-11AccidentCompensate事故損失物品賠償信息ACStu,ACArtical,ACDate,ACPrinDS-12ArticalInOut宿舍樓物品出入信息AIOStu,AIOArtical,AIOPrin,AIO

17、Date,AIONo(5)處理邏輯描述(判定表或判定樹)表1.3 處理邏輯列表判定條件決策判斷用戶查詢涉與的功能模塊宿舍基本信息模塊、宿舍樓基本信息模塊、學(xué)生基本信息模塊、宿舍樓配備物品基本信息模塊、宿舍事故基本信息模塊、宿舍樓物品出入基本信息模塊、宿舍樓保衛(wèi)處基本信息模塊、樓道工人基本信息模塊:先確定查詢所涉與的功能模塊;然后,確定要查詢的容,確定查詢數(shù)據(jù)流向;最后顯示查詢結(jié)果。判斷用戶修改要涉與的模塊,同時(shí)把相應(yīng)的修改數(shù)據(jù)傳到相應(yīng)的模塊之中宿舍基本信息模塊、宿舍樓基本信息模塊、學(xué)生基本信息模塊、宿舍樓配備物品基本信息模塊、宿舍事故基本信息模塊、宿舍樓物品出入基本信息模塊、宿舍樓保衛(wèi)處基本信

18、息模塊、樓道工人基本信息模塊:先確定更新所涉與的功能模塊;然后,把更新信息傳送到相應(yīng)的模塊中;最后,進(jìn)行相應(yīng)的更新操作。2. 概念設(shè)計(jì)階段2.1 引言概念設(shè)計(jì)階段主要是將需求分析階段得到的用戶需求抽象為信息結(jié)構(gòu)(概念模型)的過程,它是整個(gè)數(shù)據(jù)庫設(shè)計(jì)的關(guān)鍵,包括概念模型設(shè)計(jì)和新系統(tǒng)流程兩個(gè)階段。2.2 概念模型設(shè)計(jì)(1)根據(jù)不同的對(duì)象,從第3層數(shù)據(jù)流程圖(中層數(shù)據(jù)流程圖)入手,分別畫出分ER圖:(a)從數(shù)據(jù)流程圖圖2.4 與圖 2.5 抽象出的分ER圖:圖3.1 分ER圖1圖3.2 分ER圖2圖3.3 分ER圖3(b)從數(shù)據(jù)流程圖圖2.6與圖2.8 抽象出的分ER圖:圖3.4 分ER圖4(c)從

19、數(shù)據(jù)流程圖圖2.7 抽象出的分ER圖:圖3.5 分ER圖5(2)各分ER圖中每個(gè)實(shí)體的屬性如下所示:學(xué)生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClass);宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,RGrade,RDepart,RPerfect,RTwo);宿舍樓:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);宿舍物品:Fitment(F

20、itName,F(xiàn)itPrice,F(xiàn)itNum);樓道工作人員:Worker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime);保衛(wèi)處:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);各分ER圖中聯(lián)系的屬性如下所示:物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);宿舍物品處理:包含物品損壞和物品賠償兩個(gè)數(shù)據(jù)結(jié)構(gòu)(將在邏輯設(shè)計(jì)階段給出);事故:包含宿舍事故注冊(cè)、宿舍事故調(diào)查、事故損失物品賠償三個(gè)數(shù)據(jù)結(jié)構(gòu)(具體的結(jié)構(gòu)將在系統(tǒng)邏輯設(shè)計(jì)階

21、段給出)。(注:為了節(jié)省篇幅,實(shí)體與屬性的關(guān)系沒有用圖形表示,實(shí)體的標(biāo)識(shí)碼用下劃線劃出。)(3)合并各分圖,消除屬性沖突、命名沖突、結(jié)構(gòu)沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:2.3 新系統(tǒng)流程新系統(tǒng)流程圖:3邏輯設(shè)計(jì)階段3.1邏輯設(shè)計(jì)的任務(wù)和目標(biāo)以上的概念設(shè)計(jì)階段是獨(dú)立于任何一種數(shù)據(jù)模型的,但是邏輯設(shè)計(jì)階段就與選用的DBMS產(chǎn)品發(fā)生關(guān)系了,系統(tǒng)邏輯設(shè)計(jì)的任務(wù)就是將概念設(shè)計(jì)階段設(shè)計(jì)好的基本E-R圖轉(zhuǎn)換為選用DBMS產(chǎn)品所支持的數(shù)據(jù)模型相符合的邏輯結(jié)構(gòu)。具體容包括數(shù)據(jù)組織(將E-R圖轉(zhuǎn)換成關(guān)系模型、模型優(yōu)化、數(shù)據(jù)庫模式定義、用戶子模式設(shè)計(jì))、數(shù)據(jù)處理(畫出

22、系統(tǒng)功能模塊圖)兩大任務(wù)3.2數(shù)據(jù)組織3.2.1將E-R圖轉(zhuǎn)換為關(guān)系模型由于宿舍樓與樓道工人的聯(lián)系方式是1:n(一對(duì)多),可以將其之間的聯(lián)系與n端實(shí)體樓道工人合并,宿舍樓與宿舍之間的聯(lián)系、宿舍與學(xué)生之間的聯(lián)系方式也是1:n,同樣也將其之間的聯(lián)系與n端實(shí)體宿舍、學(xué)生合并,而宿舍物品與學(xué)生、學(xué)生與樓道工作人員之間的聯(lián)系方式則是n:m(多對(duì)多),這樣要把它們之間的聯(lián)系轉(zhuǎn)化為獨(dú)立的關(guān)系模式,保衛(wèi)處與學(xué)生之間的聯(lián)系是1:n(一對(duì)多),但是它們之間的聯(lián)系事故則包含數(shù)據(jù)結(jié)構(gòu),為了便于模型優(yōu)化,將其聯(lián)系也轉(zhuǎn)化成獨(dú)立的關(guān)系模式,具體的基本E-R圖向關(guān)系模型的轉(zhuǎn)化如下:樓道工人:Worker(WorNo,WorN

23、ame,WorType,WorWage,WorSex,WorPhNo,WorTime,DorNo,DorCampus,DorLocation);宿舍樓:Dormitory(DorNo,DorCampus,DorLocation,DorPhNo,DorAdminist);宿舍:Room(RNo,RHeader,ROne,RClass,RThree,RFour,RFive,RSix,RGrade,RDepart,RPerfect,RTwo,DorNo,DorCampus,DorLocation);宿舍物品:Fitment(FitName,F(xiàn)itPrice,F(xiàn)itNum,DorNo,DorCampu

24、s,DorLocation);學(xué)生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClass,RNo, DorNo,DorCampus,DorLocation);保衛(wèi)處:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);物品出入:ArticalInOut(AIONo,StuNo,AIOArtical,AIOPrin,AIODate, DorNo,DorCampus,DorLocation);宿舍物品處理包含兩個(gè)數(shù)據(jù)結(jié)構(gòu)(宿舍物品損壞信息,宿舍物品損壞

25、賠償信息),基于表的各個(gè)屬性都是原子項(xiàng)的考慮,現(xiàn)將宿舍物品處理分解為:宿舍物品損壞、宿舍損壞物品賠償,具體如下:宿舍物品損壞:FitmentDestruction(FitName,StuNo,RNo,F(xiàn)DFitNum, DorNo,DorCampus,DorLocation);(消除命名沖突)宿舍物品損壞賠償:FitmentCompensate(FitName,StuNo,F(xiàn)CPrin,F(xiàn)CompDate,F(xiàn)CompNum);(消除命名沖突)宿舍事故包含三個(gè)數(shù)據(jù)結(jié)構(gòu)(宿舍事故注冊(cè)信息、宿舍事故調(diào)查信息、宿舍事故損失物品賠償信息),同樣基于表的原子性的考慮也將事故分解為:事故注冊(cè)、事故調(diào)查、事故

26、賠償,具體如下:事故注冊(cè):Accident(AcNo,AcType, StuNo,AcDate,AcArtical,AcVerify,SGName,AcArNum,AcStuPh);事故調(diào)查:AccidentResearch(AcNo,ARName,SGName,ARResult);事故賠償:AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);(注:標(biāo)有直線下劃線的為主屬性,標(biāo)有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構(gòu)成主碼)3.2.2模型優(yōu)化關(guān)系模式Worker,Dormitory,F(xiàn)itment,SafeGuard,Arti

27、calInOut,F(xiàn)itmentDestruction,F(xiàn)itmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主屬性對(duì)主屬性的部分函數(shù)依賴,也不存在傳遞函數(shù)依賴,已經(jīng)達(dá)到了3NF,但是宿舍關(guān)系模式(Room)中存在著一些不應(yīng)該有的數(shù)據(jù)冗余,現(xiàn)將模型優(yōu)化為:Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);雖然Room中還存在一些數(shù)據(jù)冗余,但可以提高查詢效率。3.2.3數(shù)據(jù)庫模式定義表2.1 數(shù)據(jù)庫模式定義表編號(hào)邏輯結(jié)構(gòu)(基本表)

28、定義完整性和安全性TWorker(詳見附錄11)(詳見附錄11)T2Dormitory(詳見附錄12)(詳見附錄12)T3Room(詳見附錄13)(詳見附錄13)T4Fitment(詳見附錄14)(詳見附錄14)T5Student(詳見附錄15)(詳見附錄15)T6SafeGuard(詳見附錄16)(詳見附錄16)T7ArticalInOut(詳見附錄17)(詳見附錄17)T8FitmentDestruction(詳見附錄18)(詳見附錄18)T9FitmentCompensate(詳見附錄19)(詳見附錄19)T10Accident(詳見附錄110)(詳見附錄110)T11AccidentR

29、esearch(詳見附錄111)(詳見附錄111)T12AccidentCompensate(詳見附錄112)(詳見附錄112)3.2.4用戶子模式設(shè)計(jì)表2.2 用戶子模式設(shè)計(jì)(View)列表編號(hào)用戶子模式(View)作用(共性:提供數(shù)據(jù)和安全保護(hù)機(jī)制)V1WorView便于查詢和修改樓道工人的基本信息V2DormView方便宿舍樓的基本信息的查詢、更新V3RoomView以便于宿舍的基本信息的查詢和更新V4FitView用于宿舍樓配備物品的基本信息的查詢V5StuView便于查詢和更改學(xué)生的基本信息V6SGView方便學(xué)生查詢宿舍保衛(wèi)處的基本信息V7ArIOView以便于物品出入的管理和信息

30、的查詢、更改V8FDView便于宿舍物品損壞的的登記與處理和信息的查詢V9FCView查詢損壞物品賠償?shù)幕拘畔?,便于宿舍物品的管理V10AccView方便學(xué)生事故的注冊(cè)與保衛(wèi)人員對(duì)事故注冊(cè)的查詢V11ARView便于學(xué)生查詢宿舍事故調(diào)查的基本信息V12ACView方便宿舍事故賠償?shù)男畔⒉樵兒透?.3數(shù)據(jù)處理系統(tǒng)功能模塊圖:4物理設(shè)計(jì)階段4.1物理設(shè)計(jì)階段的目標(biāo)與任務(wù)數(shù)據(jù)庫的物理設(shè)計(jì)就是為邏輯數(shù)據(jù)模型選取一個(gè)最合適應(yīng)用要求的物理結(jié)構(gòu)的過程,在這個(gè)階段中要完成兩大任務(wù):(1)確定數(shù)據(jù)庫的物理結(jié)構(gòu),在關(guān)系數(shù)據(jù)庫中主要是存取方法和存儲(chǔ)結(jié)構(gòu);(2)對(duì)物理結(jié)構(gòu)進(jìn)行評(píng)價(jià),評(píng)價(jià)的重點(diǎn)是時(shí)間和空間效率。4.

31、2數(shù)據(jù)存儲(chǔ)方面為數(shù)據(jù)庫中各基本表建立的索引如下:由于基本表Room,Student的主碼RNo,StuNo經(jīng)常在查詢條件和連接操作的連接條件中出現(xiàn),且它們的值唯一,考慮在兩個(gè)屬性上建立唯一性索引;Dormitory的主碼DorNo,DorCampus,DorLocation經(jīng)常在查詢條件中出現(xiàn),且它們的組合值唯一,考慮在它們之上建立組合索引;基本表Student的一屬性StuName,經(jīng)常在查詢條件中出現(xiàn),且經(jīng)常出現(xiàn)在相等的比較條件中,考慮在其之上建立聚簇索引;基本表Fitment、SafeGuard的屬性值幾乎不會(huì)有什么變化,更新率很低,可考慮適當(dāng)建立索引;基本表Worker,Artical

32、InOut,F(xiàn)itmentDestruction,F(xiàn)itmentCompensate,Accident,AccidentResearch,AccidentCompensate的屬性值經(jīng)常發(fā)生變化,權(quán)衡系統(tǒng)為維護(hù)索引付出的代價(jià),可考慮不建立索引,也可以適當(dāng)建立索引。4.3系統(tǒng)功能模塊4.3.1 樓道工人基本的信息查詢和更新模塊將實(shí)現(xiàn)對(duì)樓道工人基本信息的查詢和更新(修改、插入、刪除)操作,方便于樓道工人的任用和更換,具體的功能模塊圖如下:圖4.2 樓道工人基本信息的查詢、更新功能模塊圖(注: 表示系統(tǒng)給用戶的信息,以下與此一樣)4.3.2 宿舍樓基本信息的查詢和更新模塊將完成對(duì)宿舍樓基本信息的查詢

33、、更新(修改、插入、刪除)操作,便于宿舍的集中管理,具體的功能模塊圖如下所示:圖4.3 宿舍樓基本信息的查詢、更新功能模塊圖4.3.3 宿舍基本信息的查詢和更新模塊將達(dá)到對(duì)宿舍基本信息的查詢、更新(修改、插入、刪除)操作的目的,具體的功能模塊圖如下所示:圖4.4 宿舍基本信息的查詢、更新功能模塊圖4.3.4 學(xué)生基本信息的查詢和更新模塊將完成對(duì)學(xué)生基本信息的查詢和插入、刪除、修改等更新操作,具體的功能模塊如下所示:圖4.5 宿舍學(xué)生基本信息的查詢、更新功能模塊圖4.3.5 宿舍物品的查詢和更新模塊將實(shí)現(xiàn)對(duì)宿舍物品基本信息的查詢、插入、刪除、修改等操作,以方便于宿舍物品的配備,具體的功能模塊圖如

34、下:圖4.6 宿舍物品基本信息的查詢、更新功能模塊圖4.3.6 宿舍事故的查詢和更新模塊將實(shí)現(xiàn)對(duì)宿舍事故的插入和更新操作,方便宿舍事故的快速處理,與時(shí)了解事故處理的結(jié)果,具體的功能模塊圖如下:圖4.7 宿舍事故基本信息的查詢、更新功能模塊圖4.3.7 宿舍物品處理的查詢和更新模塊將完成對(duì)宿舍物品處理基本信息的查詢、插入、刪除、修改等操作,方便于宿舍物品的處理,具體的功能模塊圖如下所示:圖4.8 宿舍物品處理基本信息的查詢、更新功能模塊圖4.3.8 宿舍保衛(wèi)處基本信息的查詢和更新模塊將實(shí)現(xiàn)對(duì)宿舍保衛(wèi)處基本信息的查詢和更新(包括更改、插入、刪除)操作,方便于宿舍意外事故的處理,具體的功能模塊圖如下

35、:圖4.9 宿舍樓保衛(wèi)處基本信息的查詢、更新功能模塊圖5數(shù)據(jù)庫實(shí)施階段5.1建立數(shù)據(jù)庫、數(shù)據(jù)表、視圖、索引5.1.1 建立數(shù)據(jù)庫create database Student_Dormitory_Management;5.1.2 建立數(shù)據(jù)表(1)樓道工人基本信息表的建立:create table Worker(WorNo char(5) not null unique,WorName char(10) not null,WorType char(8) not null,WorWage int not null,WorSex char(2) not null,WorPhNo char(12) n

36、ull,WorTime char(30) null,DorNo smallint not null,DorCampus char(4) not null,DorLocation char(4) not null,primary key(WorNo),foreign key(DorNo, DorCampus, DorLocation) references Dormitory(DorNo,DorCampus,DorLocation),check(WorWage = 0),check(WorSex = 男 or WorSex = 女);(2)宿舍樓基本信息表的建立:create table Dor

37、mitory(DorNo smallint not null,DorCampus char(4) not null,DorLocation char(4) not null,DorPhNo char(12)null,DorAdminist char(10) null,primary key(DorNo,DorCampus,DorLocation),check(DorNo0 and DorNo0 and StuClass 0);(7)宿舍樓物品出入基本信息表的建立:create table ArticalInOut(StuNo char(9)not null,AIOArtical char(16

38、)null,AIOPrin char(9)not null,AIODate datetimenot null,AIONo int not null unique,DorNo smallint not null,DorCampus char(4)not null,DorLocation char(4)not null,primary key(AIONo,AIODate),foreign key(StuNo) references Student(StuNo),foreign key(AIOPrin) references Worker(WorNo),foreign key(DorNo, DorC

39、ampus, DorLocation) references Dormitory(DorNo,DorCampus,DorLocation),check(AIONo 0);(8)宿舍配備物品損壞基本信息表的建立:create table FitmentDestruction(FitName char(16)not null unique,StuNo char(9)not null,RNo char(6)not null,FDFitNum int not null,DorNo smallint not null,DorCampus char(4)not null,DorLocation char(

40、4)not null,foreign key(DorNo, DorCampus, DorLocation) references Dormitory(DorNo,DorCampus,DorLocation),foreign key(FitName) references Fitment(FitName),foreign key(StuNo) references Student(StuNo),foreign key(RNo) references Room(RNo),check(FDFitNum = 0);(9)宿舍損壞配備物品賠償基本信息表的建立:create table FitmentCo

41、mpensate(FitName char(16)not null,StuNo char(9)not null,FCPrin char(15)not null,FCompDate Datetimenot null,FCompNum int not null,foreign key(FitName) references Fitment(FitName),foreign key(StuNo) references Student(StuNo),foreign key(FCPrin) references SafeGuard(SGName),check(FCompNum = 0);(10)宿舍事故

42、注冊(cè)基本信息表的建立:create table Accident(AcNo intnot null unique,AcType char(10)not null,StuNo char(9)not null,AcDate datetimenot null,AcArtical char(30)not null,AcVerify boolnull,SGName char(15)not null,AcArNum int not null,AcStuPh char(12)not null,primary key(AcNo,AcDate),foreign key(StuNo) references Stu

43、dent(StuNo),foreign key(SGName) references SafeGuard(SGName),check(AcArNum 0),);(11)宿舍事故調(diào)查基本信息表的建立:create table AccidentResearch(AcNo int not null,ARName char(15)not null,SGName char(15)not null,ARResult boolnot null,primary key(SGName),foreign key(AcNo) references Accident(AcNo),foreign key(SGName)

44、 references SafeGuard(SGName),);(12)宿舍事故賠償基本信息表的建立:create table AccidentCopensate(AcNo int not null,ACStu char(9)not null,AcArtical char(30)not null,AcDate Datetimenot null,SGName char(15)not null,foreign key(AcNo) references Accident(AcNo),foreign key(ACStu) references Student(StuNo),foreign key(SG

45、Name) references SafeGuard(SGName);5.1.3 建立視圖(1)用于查詢和更新樓道工人基本信息的視圖定義如下: create view WorView(編號(hào),工作類型,工資,性別,聯(lián)系方式,工作時(shí)間,宿舍樓編號(hào),校區(qū),區(qū)位)asselect *from Workerwith check option;(2)方便于宿舍樓基本信息查詢、更新的視圖定義如下:create view DormView (宿舍樓編號(hào),校區(qū),區(qū)位,樓管處,樓管)asselect *from dormitorywith check option;(3)顯示宿舍基本信息的視圖定義如下:creat

46、e view RoomView (宿舍編號(hào),舍長(zhǎng),年級(jí),學(xué)院,專業(yè),宿舍樓編號(hào), 校區(qū),區(qū)位)asselect *from Roomwith check option;(4)可用于宿舍樓配備物品基本信息查詢、更新的視圖定義如下:create view FitView (物品名,價(jià)格,數(shù)量,宿舍樓編號(hào), 校區(qū),區(qū)位)asselect *from Fitmentwith check option;(5)用于查詢和更新學(xué)生基本信息的視圖定義如下:create view StuView (學(xué)號(hào),學(xué)院,性別,祖籍,出生日期,入學(xué)時(shí)間,專業(yè),班級(jí),宿舍編號(hào), 宿舍樓編號(hào),校區(qū),區(qū)位)asselect *f

47、rom Studentwith check option;(6)顯示宿舍保衛(wèi)處基本信息的視圖定義如下:create view SGView (名稱,人員數(shù)目,負(fù)責(zé)人,)asselect *from SafeGuardwith check option;(7)以便于物品出入管理和出入物品信息查詢、更新的視圖定義如下:create view ArIOView (學(xué)號(hào),出入物品,負(fù)責(zé)人,日期,序號(hào),宿舍樓編號(hào),校區(qū),區(qū)位)asselect *from ArticalInOutwith check option;(8)便于宿舍配備物品損壞登記與損壞宿舍物品查詢的視圖定義如下:create view F

48、DView (物品名,學(xué)號(hào),宿舍號(hào),損壞數(shù)量,宿舍樓編號(hào),校區(qū),區(qū)位)asselect *from FitmentDestructionwith check option;(9)用于查詢損壞物品賠償基本信息 ,便于宿舍物品管理的視圖定義如下:create view FCView (物品名,學(xué)號(hào),負(fù)責(zé)人,日期,賠償數(shù)量)asselect *from FitmentCompensatewith check option; (10)方便學(xué)生事故的注冊(cè)與保衛(wèi)人員對(duì)事故注冊(cè)查詢的視圖定義如下:create view AccView (編號(hào),事故類型,學(xué)號(hào),日期,損失物品,屬實(shí), 負(fù)責(zé)單位,損失數(shù)量,學(xué)生

49、聯(lián)系方式)asselect *from Accidentwith check option;(11)便于宿舍以外事故調(diào)查的視圖定義如下:create view ARView (編號(hào),調(diào)查名稱,負(fù)責(zé)單位,調(diào)查結(jié)果)asselect *from AccidentResearchwith check option;(12)方便宿舍事故賠償信息查詢和更改的視圖定義如下:create view ACView (編號(hào),學(xué)號(hào),賠償物品,日期,負(fù)責(zé)單位)asselect *from AccidentCompensatewith check option;5.1.4 建立索引create unique inde

50、x StudentNo on Student(StuNo);create unique index RoomNo on Room(RNo);create unique index DormitoryNo_Campus_Location on Dormitory(DorNo desc,DorCampus,DorLocation);create cluster index StudentName on Student(StuName);create unique index FitmentName on Fitment(FitName);create unique index SafeGuardN

51、ame on SafeGuard(SGName);5.2數(shù)據(jù)入庫系統(tǒng)包括宿舍學(xué)生基本信息管理、樓道工人基本信息管理、宿舍樓基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍樓物品出入基本信息管理、宿舍樓保衛(wèi)處基本信息管理、宿舍配備物品與處理管理等八大功能模塊,共有12基本表,牽涉到大量數(shù)據(jù)的錄入,又由于時(shí)間限制,采用事先在Excel中錄入數(shù)據(jù),然后使用SQL Server 2000數(shù)據(jù)導(dǎo)入/導(dǎo)出向?qū)Чδ?直接將數(shù)據(jù)導(dǎo)入到相應(yīng)的基本表中。當(dāng)然,附錄中也給出了各個(gè)基本表插入元組的存儲(chǔ)功能,詳細(xì)容請(qǐng)參閱附錄2。5.3創(chuàng)建各個(gè)功能的存儲(chǔ)過程系統(tǒng)共創(chuàng)建了16個(gè)存儲(chǔ)過程,具體列表如下:表3.1 創(chuàng)

52、建的存儲(chǔ)過程列表:編號(hào)存儲(chǔ)過程名稱定義作用P-1p1_Worker_Insert詳見附錄2-1在Worker中插入一元組P-2p2_Dormitory_Insert詳見附錄2-2在Dormitory中插入一元組P-3p3_Room_Insert詳見附錄2-3在Room中插入一元組P-4p4_Fitment_Inser詳見附錄2-4在Fitment中插入一元組P-5p5_Student_Insert詳見附錄2-5在Student中插入一元組P-6p6_SafeGuard_Insert詳見附錄2-6在SafeGuard中插入一元組P-7p7_Artical_In_Out_Insert詳見附錄2-7

53、在ArticalInOut中插入一元組P-8p8_FitmentDestruction_Insert詳見附錄2-8在FitmentDestruction中插入一元組P-9p9_FitmentCompensate詳見附錄2-9在FitmentCompensate中插入一元組P-10p10_Accident_Insert詳見附錄2-10在Accident中插入一元組P-11p11_AccidentResearch_Insert詳見附錄2-11在AccidentResearch中插入一元組P-12p12_AccidentCompensate_Insert詳見附錄2-12在AccidentCompen

54、sate中插入一元組P-13p13_Query_Worker詳見附錄2-13在Worker中匹配(WorNo)查詢P-14p14_Query_Worker詳見附錄2-14在Worker中匹配(WorName)查詢P-15p15_Delete_Worker詳見附錄2-15在Worker中刪除元組P-16p16_Update_Worker詳見附錄2-16在Worker中更新操作(其他表的查詢、修改、刪除與Worker表的大致一樣,這里不再具體列出)6系統(tǒng)調(diào)試和測(cè)試學(xué)生宿舍管理系統(tǒng)的測(cè)試主要采用黑盒測(cè)試和白盒測(cè)試的方法,具體的說黑盒測(cè)試主要采用以下兩種測(cè)試方法:已知系統(tǒng)的功能設(shè)計(jì)規(guī)格,進(jìn)行測(cè)試證明每

55、個(gè)實(shí)現(xiàn)了的功能是否符合要求;已知系統(tǒng)的部工作過程,通過測(cè)試證明每種部操作是否符合設(shè)計(jì)規(guī)格要求,所有部成分是否通過檢驗(yàn)。該學(xué)生管理系統(tǒng)主要采用黑盒測(cè)試的第一種測(cè)試方法,具體的測(cè)試如下:(1)查看各個(gè)基本表中的數(shù)據(jù)(借助與視圖查詢)(a)查看Worker表中的數(shù)據(jù):(b)查看Dormitory表中的數(shù)據(jù):(c)其他表的數(shù)據(jù)的查看操作顯示見于附錄3-1(2)檢測(cè)各個(gè)存儲(chǔ)過程的功能:(a)驗(yàn)證存儲(chǔ)過程p1_Worker_Insert與p15_Delete_Worker的功能:(b)驗(yàn)證存儲(chǔ)過程p1_Worker_Insert與p16_Delete_Worker的功能:(c)驗(yàn)證其它存儲(chǔ)過程的功能見于附

56、錄3-2附錄1 數(shù)據(jù)庫邏輯結(jié)構(gòu)定義1.樓道工人(Worker)基本信息表,用于記錄樓道工人的基本信息:表2.3 樓道工人基本信息表屬性名數(shù)據(jù)類型取值圍是否是主屬性或外鍵完整性WorNochar(5)0000099999是Not nullWorNamechar(10)否Not nullWorTypechar(8)否Not nullWorWageInt大于500(元/月)否Not nullWorSexchar(2)男、女否Not nullWorPhNochar(12)否NullWorTimechar(30)否NullDorNosmallint0099是Not nullDorCampuschar(4

57、)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null2.宿舍樓(Dormitory)基本信息表,用于記錄宿舍樓的基本信息:表2.4 宿舍樓基本信息表屬性名數(shù)據(jù)類型取值圍是否是主屬性或外鍵完整性DorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not nullDorPhNochar(12)否NullDorAdministchar(10)否Null3.宿舍(Room)基本信息表,用于記錄宿舍的基本信息:表2.5 宿舍基本信息

58、表屬性名數(shù)據(jù)類型取值圍是否是主屬性或外鍵完整性RNochar(6)01-00199-999是Not nullRHeaderchar(10)否NullRGradechar(4)否Not nullRDepartchar(20)否Not nullRPerfectchar(20)否Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null4.宿舍樓配備物品(Fitment)基本信息表,用于記錄宿舍樓配備物品的基本信息:表2.6 宿舍配備物品基本信息屬性名數(shù)據(jù)

59、類型取值圍是否是主屬性或外鍵完整性FitNamechar(16)是Not nullFitPricefloat大于0否Not nullFitNumInt大于0否Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null5.宿舍學(xué)生(Student)基本信息表,用于記錄宿舍學(xué)生的基本信息:圖2.7 宿舍學(xué)生基本信息屬性名數(shù)據(jù)類型取值圍是否是主屬性或外鍵完整性StuNochar(9)00000000999999999是Not nullDepNamechar

60、(20)否Not nullStuNamechar(10)否Not nullStuSexchar(2)男、女否Not nullStuHomechar(10)否Not nullStuBorthdatetime否Not nullStuETimedatetime否Not nullStuPerfectchar(20)否Not nullStuClassint大于0小于10否Not nullRNochar(6)01-00199-999是Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(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)論