版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、學生宿舍管理系統(tǒng)課程設(shè)計摘要:學生宿舍管理系統(tǒng)是應對學生宿舍管理的現(xiàn)代化、網(wǎng)絡化,逐步擺脫當 前學生宿舍管理的人工管理方式,提高學生宿舍管理效率而開發(fā)的,它包括 宿舍學生基本信息管理、樓道工人基本信息管理、宿舍樓基本信息管理、宿 舍基本信息管理、宿舍事故基本信息管理、宿舍樓物品出入基本信息管理、 宿舍樓保衛(wèi)處基本信息管理、宿舍配備物品及處理管理等八大功能模塊,并 提供了對各功能模塊的查詢和更新功能,且這兩種功能基本上是通過存儲過 程來實現(xiàn)的,其中宿舍學生基本信息管理、宿舍基本信息管理是系統(tǒng)開發(fā)的 重點。該系統(tǒng)開發(fā)由系統(tǒng)需求分析、概念設(shè)計、邏輯設(shè)計、數(shù)據(jù)庫實施、系統(tǒng) 調(diào)試和測試階段組成。目錄1、
2、概述:2、課程設(shè)計的需求分析 2.1、設(shè)計任務:2.1、設(shè)計要求:3、概念結(jié)構(gòu)設(shè)計 3.1、概念結(jié)構(gòu)設(shè)計工具(E-R模型)3.2、入住登記子系統(tǒng)(局部) 3.2.1、子系統(tǒng)描述3.2.2、分 E-R 圖3.2.3、說明3.3、外出登記子系統(tǒng)3.3.1、子系統(tǒng)描述3.3.2、分 E-R 圖3.3.3、說明3.4、調(diào)整宿舍子系統(tǒng)3.4.1、子系統(tǒng)描述 3.4.2、分 E-R 圖3.4.3、說明3.5、宿舍智能分配子系統(tǒng) 3.5.1、子系統(tǒng)描述3.5.2、分 E-R 圖3.5.3、說明3.6、信息查詢子系統(tǒng) 3.6.1、子系統(tǒng)描述3.6.2、分 E-R 圖3.6.3、說明3.7、總體E-R圖4、邏輯
3、結(jié)構(gòu)設(shè)計 4.1、關(guān)系數(shù)據(jù)模式4.1.1、學生信息(stu info ) 4.1.2、宿舍信息(dormnfo) 4.1.3、出入信息(inout_info ) 4.1.4、入住信息(stay_info) 4.1.5、調(diào)整信息4.2視圖的設(shè)計4.2.1 宿舍信息表視圖 5、數(shù)據(jù)庫物理設(shè)計與實施 5.1、數(shù)據(jù)庫應用的硬件、軟件環(huán)境介紹 5.2、物理結(jié)構(gòu)設(shè)計5.3、索引的設(shè)計5.4、建立數(shù)據(jù)庫5.4.1、創(chuàng)建宿舍信息表5.4.2、創(chuàng)建學生信息表 5.4.3、創(chuàng)建出人登記信息表 5.4.4、創(chuàng)建入住信息登記表 5.4.5、創(chuàng)建宿舍調(diào)整登記表 5.5、加載測試數(shù)據(jù)5.5.1、加載住宿信息5.5.2、記
4、載學生信息 5.5.3、加載宿舍信息 6、數(shù)據(jù)操作與實現(xiàn)6.1、數(shù)據(jù)查詢操作6.2、數(shù)據(jù)更新操作 6.3、數(shù)據(jù)維護操作 631同步更新觸發(fā)器6.3.2、按學院分配宿舍存儲過程 7、收獲、體會和建議 8、主要參考文獻。 備注任務分配1、概述:舊的手工紀錄的宿舍管理方式已經(jīng)不能適應高速發(fā)展的信息化 時代,新的宿舍管理系統(tǒng)開發(fā)出來之后,學校的現(xiàn)有的宿舍信息管理 將有很大的改觀,由過去的人工方式轉(zhuǎn)變?yōu)橛嬎銠C方式,由效率低、 數(shù)據(jù)冗余、易產(chǎn)生錯誤轉(zhuǎn)變?yōu)闄z索迅速、查找方便、可靠性高、存儲 量大。這些優(yōu)點能夠極大地提高效率,也是學??茖W化、正規(guī)化管理 的重要條件。學生宿舍管理系統(tǒng)采用的是計算機化管理, 系統(tǒng)
5、做的盡 量人性化,使用者會感到操作非常方便,管理人員需要做的就是將數(shù) 據(jù)輸入到系統(tǒng)的數(shù)據(jù)庫中去。由于數(shù)據(jù)庫的存儲容量相當大,而且比 較穩(wěn)定,適合較長時間的保存,也不容易丟失。這無疑是為信息存儲 量比較大的學校提供了一個方便、快捷的操作方式。2、課程設(shè)計的需求分析2.1、設(shè)計任務:學生宿舍是同學最為熟悉的領(lǐng)域, 假定學校有多棟宿舍樓,每棟 樓有多層,每層有多個寢室,每個寢室可住多名學生,學生宿舍管理 系統(tǒng)對學校的學生宿舍進行規(guī)范管理,其管理的對象如下:宿舍信息:編號、樓層、床位數(shù)、單價等。學生:學號、姓名、性別、年齡、所在院系、年級、電話等。每個宿舍最多可以住4位同學,每個同學只能在一個宿舍,不
6、同宿舍的費用標準可以不同。不同院系、年級的同學可以住同一間宿舍2.1、設(shè)計要求:系統(tǒng)要能夠?qū)λ奚?、學生、住宿信息進行登記、調(diào)整,并能隨時 進行各種查詢、統(tǒng)計等處理。包括:寢室分配:根據(jù)院系、年級分配寢室。學生管理:實現(xiàn)入住學生信息的登記、維護和查詢功能。信息查詢:按公寓樓號、學生姓名等查詢住宿信息。出入登記(可選):對學生進出公寓的情況進行登記、實現(xiàn)基本 的出入監(jiān)控功能3、概念結(jié)構(gòu)設(shè)計3.1、概念結(jié)構(gòu)設(shè)計工具(E-R模型)3.2、入住登記子系統(tǒng)(局部)主要是學生入住的管理,包括學生入住的申請,查詢是否存在該 學生,查詢是否有空余的宿舍以及宿舍的分配可以通過這個系統(tǒng)來解決學生入住的申請和分配等各
7、種問題3.3、外出登記子系統(tǒng)子系統(tǒng)描述主要是學生外出的管理問題,包括學生外出的申請,外出的審核,外出的等級等為題。說明可以通過這個系統(tǒng)解決學生外出的登記的各種問題。3.4、調(diào)整宿舍子系統(tǒng)子系統(tǒng)描述主要是學生宿舍的調(diào)整,宿舍表的更新問題。分E-R圖可以通過這個系統(tǒng)解決學生宿舍的調(diào)整問題, 包括宿舍的申請調(diào) 整,調(diào)整原因的判斷以及調(diào)整后宿舍表的更新問題。3.5、宿舍智能分配子系統(tǒng)主要是學生宿舍的分配問題。可以通過這個子系統(tǒng)來分配學生的宿舍, 包括按學院分配以及按 年級分配。3.6、信息查詢子系統(tǒng)主要是查詢學生宿舍的問題。可以通過子系統(tǒng)來查詢學生的宿舍包括按公寓查詢以及按學生名字查詢。3.7、總體E
8、-R圖4、邏輯結(jié)構(gòu)設(shè)計4.1、關(guān)系數(shù)據(jù)模式字段描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimaryk ey約束Stu_num學號IntNYn ame姓名varchar12NNsex性別varchar4NN男/女a(chǎn)ge年齡intNN0-99fac所在學varchar50NN院class所在班varchar50NN級celph one電話varchar16NNEn try_da入學日dateNNte期字段描述數(shù)據(jù)類數(shù)據(jù)長NULLPrimaryk約束型度eydorm_ num宿舍編intNY號flo所在樓層intNN0-20Bad_amou床位數(shù)IntNN<=4ntAvi_bad可用床IntYN<
9、=4位數(shù)uni t_pri單價floatNNce字段描述數(shù)據(jù)類數(shù)據(jù)長NULLPrimaryk約束型度eystu_ num學號intNforeig nkeydorm_ num所住宿intNforeig nk舍eyleft_tim離幵時DatetimNNe間eback_tim回來時DatetimNNe間ereas on離幵原varchar50NN因over_tim是否晚varchar2NN是/否e歸字段描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimaryk ey約束dorm_ nu宿舍編intNforeig nkm號eystu_ num學號intNforeig nkeyHaven已住人intNN<=4
10、數(shù)in_date入住日dateNN期調(diào)整信息字段描述數(shù)據(jù)類型數(shù)據(jù)長度NULLPrimaryk ey約束stu_ num學號intNYsrc原宿舍intNNdst調(diào)后宿舍intNNch_date調(diào)整日期dateNNch_reaso n調(diào)整原因varchar50NN4.2視圖的設(shè)計創(chuàng)建查看宿舍信息表的視圖,其中應該包含宿舍的所有信息。并且應 該按可用床位數(shù)遞減createview view_dormASSELECT top 100dorm_num , flo , bad_amount, unit_price , avi_badFROM dormnfoorder by avi_bad desc創(chuàng)建按
11、宿舍號查看住宿信息的視圖,其中應包含住宿登記時的所有信 息,并且按照宿舍號遞減排列createview view_stay_bydormASSELECT top 100 dorm_num , stu_num , haven , in_dateFROMstay_infoorder by dorm_num desc創(chuàng)建按學號查看住宿信息的視圖,其中應包含住宿登記時的所有信息,并且按照宿舍號遞減排列createview view_stay_bystuASSELECT top 100 dorm_num , stu_num , have_in , in_dateFROMstay_infoorder by
12、 stu_num desc創(chuàng)建查看出入信息的視圖,其中應包含出入登記時的所有信息, 并且按照離開時間遞減排列create view view_ionfoasSELECT top 100 stu_num , dorm_num , left_time , back_time , reason , over_timeFROMdbo. inout_infoorder by left_time5、數(shù)據(jù)庫物理設(shè)計與實施5.1、數(shù)據(jù)庫應用的硬件、軟件環(huán)境介紹電腦配置為AMD Athlon(速龍)II X2 260 雙核 處理器,2G內(nèi)存, WindowsXP 專業(yè)版 32 位 SP3 ( DirectX 9
13、.0c )操作系統(tǒng),安裝 mysql 數(shù)據(jù)庫服務做測試。5.2、物理結(jié)構(gòu)設(shè)計考慮到索引能加快查詢的速度,所以在需要經(jīng)常進行查詢的列創(chuàng)建索引。其中學生信息的學號、宿舍信息的宿舍編號、入住信息中學生的 學號和宿舍的編號,這幾個列都需要創(chuàng)建索引。由于前兩項已經(jīng)是主 鍵,所以無需額外創(chuàng)建索引?,F(xiàn)在為后兩項創(chuàng)建索引。5.3、索引的設(shè)計為入住信息中學生的學號和宿舍的編號創(chuàng)建索引:createuniqueindex入住信息中學生的學號ix_stay_info1onstaynfo(stu_num )createin dex宿舍的編號 ix_stay_i nfo2onstay_info( dorm_num )5
14、.4、建立數(shù)據(jù)庫首先創(chuàng)建名為sdms的學生宿舍管理數(shù)據(jù)庫,createdatabase sdms.并且創(chuàng)建約束,使床位數(shù)和可用床位數(shù)不能大于4個,因為一use sdmscreate tabledorm._info(dorm_ num intnotnullprimaryfloint not n ull,bad_am ountint not null ,avi_bad intn ull ,uni t_pricefloatnotnullkey ,)個宿舍最多能住四個人,并且樓層數(shù)在0-20之間。alter table dorm infoadd con stra intck badcheck ( ba
15、d_amount <=4)alter table dorm infoadd con stra intck avicheck ( avi_bad <=4)alter table dorm info add constraintck_flocheck (flo >=0 and flo <=20)tablestunfo(createstu_ numint notname varchar(12) sex varchar(4) age int not nuII, fac varchar(50) class varchar(50)nullprimary key ,not n ull
16、,notn ull ,notn ull,n ot n ull,celph onevarchar(16) n ot n ull,en try_date date not n ull創(chuàng)建約束,性別只能是男或女,并且年齡只能在alter table stu infoadd con stra intcheck ( sex in('男','女')ALTER TABLE stu infoADD constraint0-99之間ch_sexck_agecheck ( age >=0 and age <=99)create table inout_info (stu
17、_ num int not n ull referen ces stunfo( stu_num ),dorm_ num int not n ullreferen ces dormnfo ( dorm_num )left timedatetime not n ull,back_time datetime not n ull, reas on varchar (50) not n ull, over_time varchar (2) not null)創(chuàng)建約束,是否晚歸字段這能選擇是或者否altertableinout_infoaddcon stra intck_otcheck ( over_ti
18、mein ('是','否')createtable stay_i nfo (dorm_ num int not n ullrefere ncesdormnfo(dorm_num ),stu_ numint not n ullreferen cesstunfo(stu_num ),have_i nint not n ull,in_datedate)創(chuàng)建約束,已住人數(shù)不能超過4個.altertablestay_i nfoaddcon stra intck_incheck ( have_in v=4)createtable cha nge_info(stu_ numi
19、ntnot null primary key ,src intnotn ull,dst int not n ull,ch_date date not n ull,ch_reas on varchar (50) not null)5.5、加載測試數(shù)據(jù)創(chuàng)建一個存儲過程用于錄入住宿信息。USE sdmsGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDUREdbo . insert_stay_infodorm_num int , stu_num int , have_in intASBEGINSET NOCOUNTONin ser
20、tin tostay_i nfovalues ( dorm_num, stu_num , have_in , GETDATEQ)END其中包括要住宿的宿舍號,要住宿的學生學號,該宿舍應經(jīng)住了多少人。如圖所示:單擊確定后數(shù)據(jù)成功的錄入到數(shù)據(jù)庫的住宿信息表中,如圖: 創(chuàng)建一個存儲過程用于錄入學生信息。USE sdmsGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDUREdbo . insert_stu_infostu_num int , namevarchar (12), sex varchar (4), facvarchar
21、 (50), class varchar (50), celphonevarchar (16) , age intASBEGINSET NOCOUNTONin sertintostunfovalues ( stu_num , name sex, fac, class , celphone , GETDATED, age)END其中包括要住宿的學號、姓名、性別、所在學院、班級、電話、年齡。 如圖所示:單擊確定后數(shù)據(jù)成功的錄入到數(shù)據(jù)庫的學生信息表中,如圖:創(chuàng)建一個存儲過程用于錄入宿舍信息。SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PRO
22、CEDUREinsert_dormnfodorm_num int , flo int , bad_amount int , unit_pricefloat , avi_bad intASBEGINSET NOCOUNTONinsert in todormnfovalues ( dorm_num, flo , bad_amount , unit_price, avi_bad )ENDGO其中包括要住宿的宿舍號、所在樓層、床位位數(shù)、單價、空余床位。如圖所示:擊確定后數(shù)據(jù)成功的錄入到數(shù)據(jù)庫的宿舍信息表中,如圖:6、數(shù)據(jù)操作與實現(xiàn)根據(jù)需求中給出的數(shù)據(jù)處理要求,設(shè)計訪問數(shù)據(jù)庫的具體要求,并用SQL語言加
23、以實現(xiàn)。運行SQL語句進行測試6.1、數(shù)據(jù)查詢操作創(chuàng)建存儲過程view_dorm_bydrom ,實現(xiàn)按公寓查找宿舍的住 宿信息。CREATE PROCEDUREview_dorm_bydromdorm_num int /定義變量用于等待用戶輸入宿舍號ASBEGINSET NOCOUNTONSELECT * from dormnfowhere dorm_num =dorm_num/查詢出與輸入宿舍號相符的結(jié)果END結(jié)果如圖:單擊確定后:創(chuàng)建存儲過程view_dorm_bystu,實現(xiàn)按學號查詢學生的住宿信息。CREATE PROCEDUREview_dorm_bystustu_num intA
24、SBEGINSET NOCOUNTONSELECT * from staynfowhere stu_num =stu_numEND執(zhí)行存儲過程結(jié)果如圖所示:單擊“確定”,顯示出學生在哪個宿舍住,該宿舍住著幾個人,什 么時候入住6.2、數(shù)據(jù)更新操作宿舍調(diào)整登記。創(chuàng)建一個存儲過程用于登記個別學生調(diào)整宿舍的 記錄。同時跟新原來的住宿信息表,使得調(diào)整后學生的宿舍信息表能 同步進行。這里避免創(chuàng)建觸發(fā)器的繁雜,只使用了更新的語句。CREATE PROCEDUREchange_dormstu_num int , dst_dorm int , reason varchar (50) ASBEGINSET NO
25、COUNTONdeclare cur1 cursor forSELECT dorm_num from stay_info wherestu_ num =stu_ num-查詢需要調(diào)整的人員的原來住的宿舍ope n cur1declare src int -聲明游標以獲取查詢結(jié)果fetch cur1 into srcinsertin tochange_info ( stu_num , src , dst , ch_date , ch_reason ) values ( stu_num , src , dst_dorm , GETDATEQ, reas on)update stay_i nfo s
26、et dorm_ num =dst_dorm wherestu_ num = stu_ num-將調(diào)整的信息插入到調(diào)整登記信息表中close cur1END執(zhí)行存儲過程如下:需要登記的信息成功錄入到調(diào)整信息表中原住宿信息表數(shù)據(jù)。調(diào)整宿舍后:6.3、數(shù)據(jù)維護操作是系統(tǒng)使用過程中,需要使用一個觸發(fā)器來同步信息。例如當有學生 要住宿時,該宿舍已住人數(shù)要增加1,而宿舍信息中的相應空余床位 數(shù)要減1。所以在住宿登記表中使用以下觸發(fā)器。SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE TRIGGER trilON staynfoAFTER INSERT
27、ASBEGINSET NOCOUNTONdeclaredorm_num int , have_inintdeclarecur2 cursor forselectdorm_num , have_in fromstay_i nfoope ncur2fetchcur2while(FETCH_STATUS>- 1)beg infetch next from cur2 intodorm_num, have_inupdate stay_infoset haven =( have_in +1)where dorm_ num =dorm _num - 更新相應宿舍的已住人數(shù), 增加1.update do
28、rmnfoset avi_bad =( select avi_badfrom dormnfowhere dorm_ num =dorm _nu m)- 1) wheredorm_num =dorm_num - 更新宿舍信息表中的可用床位數(shù)(空 余床位數(shù))endclose cur2ENDGO執(zhí)行登記住宿信息表的存儲過程插入前:插入后:創(chuàng)建一個存儲過程,用于按學院分配宿舍。使得能按同學院的學生能 盡量的在同一宿舍住。USE sdmsGOSET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGOCREATE PROCEDUREdbo . allowdorm_byfacfac varchar (20)ASBEGINdeclare offset int , bad_amount int , sum intset offset = 1set bad_am ount =1where fac =fac)while ( sun>0)begi ndeclare stu_
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 鄉(xiāng)村公路可行性研究報告
- 2024年公司流程優(yōu)化與管理顧問協(xié)議
- 2024年專屬家政服務聘用協(xié)議
- 道德與法治八上8.1《國家好大家才會好》教學設(shè)計
- 2024香港商業(yè)貸款協(xié)議格式
- 2023-2024學年浙江省溫州東甌中學高三下學期第一次階段檢測試題數(shù)學試題
- 2024專業(yè)個人汽車租賃協(xié)議指南
- DB11∕T 1704-2019 中小學生體育與健康課運動負荷監(jiān)測與評價
- 2024年定制航拍服務協(xié)議范本下載
- 2024年全球貿(mào)易條款專業(yè)翻譯協(xié)議
- 素質(zhì)教肓可行性報告
- 人教版五年級數(shù)學上冊專項計算題12套(每日一練)
- 皮疹的分級及護理課件
- 個人工作中存在的問題和不足及改進措施(6篇)
- 國際法與國際關(guān)系的法律與人權(quán)維度
- 2023-2024學年深圳市初三中考適應性考試語文試題(含答案)
- 2024年成都交通投資集團招聘筆試參考題庫含答案解析
- 公務員考試行測模擬試題及答案解析3
- 情侶分手經(jīng)濟糾紛起訴書模板
- 膽囊切除術(shù)術(shù)后健康飲食宣教
- 學生安全指南-預防、識別和應對危險
評論
0/150
提交評論