


版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、學 生 宿 舍 管 理 系 統 課 程 設 計摘要:學生宿舍管理系統是應對學生宿舍管理的現代化、網絡化,逐步擺脫當前學生宿舍管 理的人工管理方式,提高學生宿舍管理效率而開發的,它包括宿舍學生基本信息管理、樓 道工人基本信息管理、宿舍樓基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、 宿舍樓物品出入基本信息管理、宿舍樓保衛處基本信息管理、宿舍配備物品及處理管理等 八大功能模塊,并提供了對各功能模塊的查詢和更新功能,且這兩種功能基本上是通過存 儲過程來實現的,其中宿舍學生基本信息管理、宿舍基本信息管理是系統開發的重點。該系統開發由系統需求分析、概念設計、邏輯設計、數據庫實施、系統調試和測試階
2、段組成。目錄1、概述: 02、課程設計的需求分析 02.1、設計任務: 02.1、設計要求: 13、概念結構設計 13.1、概念結構設計工具(E-R模型) 13.2、入住登記子系統(局部) 13.2.1、子系統描述 1322、分 E-R 圖 1323、說明 13.3、 外出登記子系統 23.3.1、子系統描述 23.3.2、分 E-R 圖 23.3.3、說明 23.4、 調整宿舍子系統 23.4.1、子系統描述 23.4.2、分 E-R 圖 23.4.3、說明 23.5、 宿舍智能分配子系統 23.5.1、子系統描述 23.5.2、分 E-R 圖 33.5.3、說明 33.6、 信息查詢子系統
3、 3361、子系統描述 3362、分 E-R 圖 33.6.3、說明 33.7、總體E-R圖 34、邏輯結構設計 34.1、關系數據模式 34.1.1、學生信息(stu info ) 34.1.2、宿舍信息(dorm_info) 44.1.3、出入信息(inout_info ) 54.1.4、入住信息(staynfo) 64.1.5、調整信息 74.2視圖的設計 74.2.1宿舍信息表視圖 75、數據庫物理設計與實施 95.1、數據庫應用的硬件、軟件環境介紹 95.2、物理結構設計 95.3、索引的設計 95.4、建立數據庫 105.4.1、創建宿舍信息表 105.4.2、創建學生信息表 11
4、5.4.3、創建出人登記信息表 125.4.4、創建入住信息登記表 125.4.5、創建宿舍調整登記表 135.5、加載測試數據 145.5.1、加載住宿信息 145.5.2、記載學生信息 155.5.3、加載宿舍信息 16&數據操作與實現 176.1、數據查詢操作 176.2、數據更新操作 196.3、數據維護操作 206.3.1同步更新觸發器 206.3.2、按學院分配宿舍存儲過程 227、收獲、體會和建議 248、主要參考文獻。 25備注 錯誤!未定義書簽。任務分配 錯誤!未定義書簽。1、概述:舊的手工紀錄的宿舍管理方式已經不能適應高速發展的信息化時代,新的宿舍管理系統開發出來之
5、后,學校的現有的宿舍信息管理將有很大的改觀, 由過去 的人工方式轉變為計算機方式,由效率低、數據冗余、易產生錯誤轉變為檢索迅 速、查找方便、可靠性高、存儲量大。這些優點能夠極大地提高效率,也是學校科學化、正規化管理的重要條件。學生宿舍管理系統采用的是計算機化管理,系 統做的盡量人性化,使用者會感到操作非常方便,管理人員需要做的就是將數據 輸入到系統的數據庫中去。由于數據庫的存儲容量相當大,而且比較穩定,適合 較長時間的保存,也不容易丟失。這無疑是為信息存儲量比較大的學校提供了一 個方便、快捷的操作方式。2、課程設計的需求分析2.1、設計任務:學生宿舍是同學最為熟悉的領域,假定學校有多棟宿舍樓,
6、每棟樓有多層, 每層有多個寢室,每個寢室可住多名學生,學生宿舍管理系統對學校的學生宿舍 進行規范管理,其管理的對象如下:宿舍信息:編號、樓層、床位數、單價等。學生:學號、姓名、性別、年齡、所在院系、年級、電話等。每個宿舍最多可以住4位同學,每個同學只能在一個宿舍,不同宿舍的費用標準可以不同。不同院系、年級的同學可以住同一間宿舍2.1、設計要求:系統要能夠對宿舍、學生、住宿信息進行登記、調整,并能隨時進行各種查 詢、統計等處理。包括:寢室分配:根據院系、年級分配寢室。學生管理:實現入住學生信息的登記、維護和查詢功能。信息查詢:按公寓樓號、學生姓名等查詢住宿信息。出入登記(可選):對學生進出公寓的
7、情況進行登記、實現基本的出入監控 功能3、概念結構設計3.1、概念結構設計工具(E-R模型)3.2、入住登記子系統(局部)3.2.1、子系統描述主要是學生入住的管理,包括學生入住的申請,查詢是否存在該學生,查詢 是否有空余的宿舍以及宿舍的分配3.2.2、分 E-R 圖3.2.3、說明可以通過這個系統來解決學生入住的申請和分配等各種問題3.3、外出登記子系統331、子系統描述主要是學生外出的管理問題,包括學生外出的申請,外出的審核,外出的等級等為題。3.3.2、分 E-R 圖3.3.3、說明可以通過這個系統解決學生外出的登記的各種問題。3.4、調整宿舍子系統3.4.1、子系統描述主要是學生宿舍的
8、調整,宿舍表的更新問題。3.4.2、分 E-R 圖3.4.3、說明可以通過這個系統解決學生宿舍的調整問題,包括宿舍的申請調整,調整原因的判斷以及調整后宿舍表的更新問題。3.5、宿舍智能分配子系統3.5.1、子系統描述主要是學生宿舍的分配問題。3.5.2、分 E-R 圖3.5.3、說明可以通過這個子系統來分配學生的宿舍,包括按學院分配以及按年級分配3.6、信息查詢子系統3.6.1、子系統描述主要是查詢學生宿舍的問題。3.6.2、分 E-R 圖3.6.3、說明可以通過子系統來查詢學生的宿舍包括按公寓查詢以及按學生名字查詢。3.7、總體E-R圖4、邏輯結構設計4.1、關系數據模式4.1.1、 學生信
9、息(stu_info )字段描述數據類型數據長NULLPrimaryk約束度eyStu_num學號IntNYn ame姓名varchar12NNsex性別varchar4NN男/女age年齡intNN0-99fac所在學院varchar50NNclass所在班級varchar50NNcelph one電話varchar16NNEn try_date入學日期dateNN4.1.2、宿舍信息(dormnfo)字段描述數據類型數據長度NULLPrimaryk約束eydorm_ num宿舍編號intNYflo所在樓層intNN0-20Bad_amou nt床位數IntNN<=4Avi_bad可用
10、床位數IntYN<=4uni t_price單價floatNN4.1.3、出入信息(inout_info)字段描述數據類型數據長度NULLPrimaryk ey約束stu_ num學號intNforeig nkeydorm_ num所住宿舍intNforeig nkeyleft_time離開時間DatetimeNNback_time回來時間DatetimeNNreas on離開原因varchar50NNover_tim e是否晚歸varchar2NN是/否4.1.4、入住信息(staynfo)字段描述數據類型數據長度NULLPrimaryk ey約束dorm_ num宿舍編號intNfo
11、reig nkeystu_ num學號intNforeig nkeyHave_i n已住人數intNN<=4in_date入住日期dateNN4.1.5、調整信息字段描述數據類型數據長度NULLPrimaryk ey約束stu_ num學號intNYsrc原宿舍intNNdst調后宿舍intNNch_date調整日期dateNNch_reaso調整原因varchar50NNn4.2視圖的設計4.2.1宿舍信息表視圖創建查看宿舍信息表的視圖,其中應該包含宿舍的所有信息。并且應該按可用床 位數遞減create view view dormASSELECTtop 100 dorm_num, f
12、lo , bad_amount , unit_price , avi_badFROMiormnfo order by avi_bad desc創建按宿舍號查看住宿信息的視圖,其中應包含住宿登記時的所有信息,并且按照宿舍號遞減排列create view view_stay_bydormASSELECTtop 100 dorm_num stu_num, haven, in_dateFROM stay_info order by dorm_numdesc創建按學號查看住宿信息的視圖,其中應包含住宿登記時的所有信息,并且按照宿舍號遞減排列create view view_stay_bystuASSEL
13、ECTtop 100 dorm_num stu_num, have_in, in_dateFROM stay_info order by stu_num desc創建查看出入信息的視圖,其中應包含出入登記時的所有信息,并且按照離開時間遞減排列create view view_io_infoasSELECTtop 100stu_num, dorm_num left_time , back_time , reason,over_timeFROMdbo. inout_infoorder by left_time5、數據庫物理設計與實施5.1、數據庫應用的硬件、軟件環境介紹電腦配置為AMDAthlon
14、(速龍)II X2 260雙核 處理器,2G內存,WindowsXP專業版32位SP3 ( DirectX 9.0c)操作系統,安裝mysql數據庫服務做測試。5.2、物理結構設計考慮到索引能加快查詢的速度,所以在需要經常進行查詢的列創建索引。其中學生信息的學號、宿舍信息的宿舍編號、入住信息中學生的學號和宿舍 的編號,這幾個列都需要創建索引。由于前兩項已經是主鍵,所以無需額外創建 索引。現在為后兩項創建索引。5.3、索引的設計為入住信息中學生的學號和宿舍的編號創建索引:create unique index 入 住信息 中學生 的學號 ix_stay_infolonstaynfo (stu_n
15、um)create index 宿舍的編號 ix_stay_info2on stay_info (dorm_num5.4、建立數據庫首先創建名為sdms的學生宿舍管理數據庫,create database sdms.5.4.1、創建宿舍信息表use sdmscreate table dormnfo (dorm_numint not null primary key,flo int not null,bad_amount int not null ,avi_bad int null ,unit_pricefloat not null)并且創建約束,使床位數和可用床位數不能大于4個,因為一個宿舍最
16、多能住四個人,并且樓層數在0-20之間。alter table dormnfo add constraint ck_bad check(bad_amoun<=4)alter table dorm_info add constraint ck_avi check( avi_bad <=4)alter table dormnfo add constraint ck_flo check( flo >=0 and flo <=20)542、創建學生信息表create table stunfo (stu_num int not null primary key,namevarch
17、ar(12) not null,sex varchar(4) not null ,age int not n ull,fac varchar(50) not null,class varchar(50) not null,celphone varchar(16)notnull,entry_date date not null)創建約束,性別只能是男或女,并且年齡只能在0-99之間alter table stu_info add constraint ch_sex check(sex in('男','女')ALTER TABLE stu_infoADD const
18、raint ck_age check(age>=0 andage<=99)543、創建出人登記信息表create table inout_info (stu_num int not null references stu_info (stu_num),dorm_numint not null references dormnfo (dorm_num , left_time datetime not null,back_time datetime not null,reason varchar (50) not null,over_time varchar (2) not null)
19、創建約束,是否晚歸字段這能選擇是或者否。alter table inout_info add c on stra intck_ot check( over_time in ('是','否')544、創建入住信息登記表create table stay_info ( dorm_numint not null references dormnfo (dorm_numstu_num int not null references stu_info (stu_num).haven int not nuII,in_date date)創建約束,已住人數不能超過 4個.al
20、ter table stay_infoadd constraintck_in check( have_in v=4)545、創建宿舍調整登記表create table change_info (stu_num int not null primary key,src int not nuII,dst int not nuII,ch_date date not nuII,ch_reason varchar (50) not null5.5、加載測試數據5.5.1、加載住宿信息創建一個存儲過程用于錄入住宿信息。USEsdmsGOSETANSI_NULLSONGOSET QUOTED_IDENTIF
21、IERNGOCREAT田ROCEDURdbo . insert_stay_infodorm_nunint , stu_numint , have_in intASBEGINSETNOCOUNONin sert in to stay_i nfo values (dorm _n unstu_ numhave_in GETDATE)END其中包括要住宿的宿舍號,要住宿的學生學號,該宿舍應經住了多少人。如圖所示:單擊確定后數據成功的錄入到數據庫的住宿信息表中,如圖:學號為1104402302的學號已經插入到住宿信息表中。5.5.2、記載學生信息創建一個存儲過程用于錄入學生信息。USEsdmsGOSET
22、ANSI_NULLSONGOSET QUOTED_IDENTIFIERNGOCREATEPROCEDURdbo . insert_stunfostu_numint , namvarchar (12), sexvarchar (4), fac varchar (50), classvarchar (50), celphone varchar (16) , ageintSETNOCOUNONin sert in to stunfovalues (stu_numnamesexfac class, celphone GETDATE agpEND其中包括要住宿的學號、姓名、性別、所在學院、班級、電話、年
23、齡。如圖所示:單擊確定后數據成功的錄入到數據庫的學生信息表中,如圖:學號為1104402304的學生已經成功錄入到學生信息表中。5.5.3、加載宿舍信息創建一個存儲過程用于錄入宿舍信息。SETANSI_NULLSONGOSET QUOTED_IDENTIFIERNGOCREAT EPROCEDURE5ert_dormnfodorm_nurint , flo int , bad_amountnt , unit_price float , avi_bad intBEGINSETNOCOUNONin sert in to dor mnfovalues (dorm_nunflo, bad_amounu
24、nit_price , avi_bac)ENDGO其中包括要住宿的宿舍號、所在樓層、床位位數、單價、空余床位。如圖所示:擊確定后數據成功的錄入到數據庫的宿舍信息表中,如圖:SQL6數據操作與實現根據需求中給出的數據處理要求,設計訪問數據庫的具體要求,并用語言加以實現。運行SQL語句進行測試。6.1、數據查詢操作創建存儲過程view_dorm_bydrom,實現按公寓查找宿舍的住宿信息。CREATEPROCEDUFVfew_dorm_bydromdorm_nunt /定義變量用于等待用戶輸入宿舍號SETNOCOUNONSELECT* from dormnfo where dorm_nur=dor
25、m_num/ 查詢出與輸入宿舍號相符的結果END結果如圖:單擊確定后:創建存儲過程view_dorm_bystu,實現按學號查詢學生的住宿信息CREATEPROCEDUFVfew_dorm_bystustu_ numintASBEGINSETNOCOUNONSELECT* from stay_info where stu_num=stu_numEND執行存儲過程結果如圖所示:單擊“確定”,顯示出學生在哪個宿舍住,該宿舍住著幾個人,什么時候入6.2、數據更新操作宿舍調整登記。創建一個存儲過程用于登記個別學生調整宿舍的記錄。同時跟新原來的住宿信息表,使得調整后學生的宿舍信息表能同步進行。這里避免創
26、建觸發器的繁雜,只使用了更新的語句。CREAT 田ROCEDUREa nge_dormstu_numint , dst_dorm int , reasonvarchar (50)ASBEGINSETNOCOUNONdeclare cur1 cursor forSELECTdorm_numfrom stay_info where stu_num=stu_num- 查詢需要調整的人員的原來住的宿舍open cur1declare src int -聲明游標以獲取查詢結果fetch cur1 into srcinsert into change_info (stu_num, src , dst, c
27、h_date, ch_reason)values (stu_numsrc dst_dorm GETDATE reasor)update staynfo set dorm_nur=dst_dorm where stu_num=stu_num-將調整的信息插入到調整登記信息表中close cur1END執行存儲過程如下:需要登記的信息成功錄入到調整信息表中原住宿信息表數據。調整宿舍后:6.3、數據維護操作631同步更新觸發器是系統使用過程中,需要使用一個觸發器來同步信息。例如當有學生要住宿時,該宿舍已住人數要增加1,而宿舍信息中的相應空余床位數要減 1。所以在住宿 登記表中使用以下觸發器。SETA
28、NSI_NULLSONSET QUOTED IDENTIFIERNGOCREATETRIGGERrilONstay_i nfoAFTERINSERTASBEGINSETNOCOUNONdeclare dorm_nunint , have_in intdeclare cur2 cursor forselect dorm_num,have_in from stay_infoopen cur2fetch cur2while (FETCH_STATU®beg infetch next from cur2 into dorm_nu,nhave_inupdate stay_infoset hav
29、e_in =(have_in+1) wheredorm_nun=dorm_num - 更新相應宿舍的已住人數,增加 1.update dormnfo set avi_bad =( select avi_bad from dormnfowhere dorm_nun=dorm_nu)m1) where dorm_nun=dorm_num- 更新宿舍信息表中的可用床位數(空余床位數)endclose cur2ENDGO執行登記住宿信息表的存儲過程插入前:插入后:632、按學院分配宿舍存儲過程創建一個存儲過程,用于按學院分配宿舍。使得能按同學院的學生能盡量的在同 一宿舍住。USEsdmsGOSET ANSI NULLSONGOSET QUOTED_IDENTIFIERNGOCREATEPROCEDUFRBbo . allowdorm_byfacfac varchar (20)ASBEGINdeclare offset int , bad_amountint , sumintset offset =1set bad_amour=t1set suff( select distinet (stu_num) from s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025廣州采購合同范本參考
- 《職場生涯規劃》課件
- 臨床痛風性腎病分類、病理特征、病因、發病機制、診斷特征、鑒別診斷及病理圖譜
- 《親愛的寵物樂園:動物主題課件》
- 《中英飲食文化差異》課件
- 2025衛浴設備購貨合同范本
- 2025標準土石方工程承包合同模板
- 2025新款電子產品采購銷售合同范本
- 珍愛生命 呵護心靈-青少年生命教育指南
- Unit 3 Exploring the topic-Thinking skills教學設計 2024-2025學年仁愛科普版英語七年級上冊
- 幼兒園繪本故事:《羅伯生氣了》 課件
- 高級財務管理完整版課件
- 怎樣學習初中物理
- DB62∕T 25-3111-2016 建筑基坑工程技術規程
- 大班音樂《水果百變秀》課件
- 婦幼保健院醫療保健服務轉介工作制度和流程
- 國家職業技能鑒定考評員考試題庫1100題【含答案】
- 監察機關執法工作規定學習測試
- 產品鑒定試驗大綱
- 2022職業病防治法宣傳周PPT
- 常州市武進區征地拆遷房屋裝修及附屬設施補償標準
評論
0/150
提交評論