




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、 PAGE53 / NUMPAGES53實例4:學生宿舍管理系統數據庫設計1. 系統需求分析階段1.1.2 需求分析階段的任務(1)處理對象:系統要處理的對象包括宿舍樓基本信息、學生基本信息、宿舍基本信息、樓道工作人員基本信息、宿舍保衛處基本信息、宿舍事故基本信息、物品出入基本信息等七個方面,各個對象包括信息如下所示(詳細的數據見于數據字典):1宿舍樓基本信息(Dormitory):包括 宿舍樓編號、宿舍樓所在校區、宿舍樓再校區中區域、每一幢宿舍樓樓管處的、宿舍樓樓管員信息等方面,這樣可以方便管理者對宿舍樓的管理,提高查詢效率;2學生基本信息(Student):包括 學生編號、學生所在學院信息
2、、學生、學生性別、學生來自省份、學生出生日期、學生入學時間、學生所學專業、所在班級等方面的信息,可以方便學信息的查詢和更新;3宿舍基本信息(Room,Fitment,FitmentDestruction,FitmentCompensate):宿舍基本信息包括四個數據結構(宿舍信息(Room),宿舍物品信息(Fitment),宿舍物品損壞信息(FitmentDestruction),宿舍損壞物品賠償信息),每個數據結構中的數據項見數據字典;4樓道工作人員基本信息(Worker):包括 工作人員編號、工作人員、工作類型、工資、性別、聯系方式、工作時間等數據項,可以方便管理人員對宿舍樓道工人的任用、
3、信息查詢與更改;5宿舍保衛處基本信息(SafeGuard):包括保衛處名稱、人員數目、負責人信息、聯系等四方面的信息;6宿舍事故基本信息(Accident,AccidentResearch,AccidentCompensate):事故信息包括三個數據結構(事故信息、事故處理信息、事故賠償信息),具體的數據項見數據字典;物品出入基本信息(ArticalInOut):包括出入物品的學生信息、出入的物品信息、出入物品時的負責人信息、出入物品時間,盡量減少宿舍事故的發生,保障學生宿舍財產的安全。(2)處理功能要求系統主要完成一下幾個功能:1宿舍樓基本信息查詢與修改;2學生基本信息查詢與更新;3每一幢宿
4、舍樓中宿舍信息的查詢與信息更新;4宿舍保衛處基本信息的查詢和修改;5宿舍事故基本信息與事故處理信息的查詢和修改;6宿舍樓物品出入審批與記錄;(3)安全性和完整性要求安全性先通過視圖機制,不同的用戶只能訪問系統授權的視圖,這樣可提供系統數據一定程度上的安全性,再通過用戶授權機制,欲用戶登陸來識別用戶級別,根據這個級別來分配用戶權限,達到數據更高層次的安全功能。完整性要求用于描述宿舍樓基本信息、學生基本信息、宿舍基本信息、樓道工作人員基本信息、宿舍保衛處基本信息、宿舍事故基本信息、物品出入基本信息中數據項能否為null,以與一些用戶自定義完整性(符合實際要求),詳細完整性要求見于系統的邏輯設計階段
5、。1.1.3 需求分析階段成果(1)體會與收獲系統需求分析主要采取實地詢問記錄和樓管處查詢宿舍學生信息的方式,同時借鑒學長在做數據庫開發這方面的經驗。通過實地調查和詢問,了解目前學生宿舍管理的現狀,以與目前學生宿舍管理中一些問題,并對實際查詢業務實地參與,了解了學生、樓管員、宿舍管理者、宿舍保衛人員對系統的信息處理要求,以與他(她)們對現存人工管理方式不能滿足信息處理要求的苦惱。同時在調查中牽涉的許多的人際交流,恰當的詢問方式,由于平時幾乎沒有做過這方面的調查,開始時有點膽怯和不知從何入手,但過了兩三幢宿舍樓之后,開始的膽怯就感覺不到了。(2)學生宿舍管理系統業務流程圖新生入住宿舍業務流程圖:
6、查詢業務流程圖(查詢宿舍學生信息、樓道工作人員信息、宿舍樓信息等):畢業生離宿業務流程圖:樓道工作人員任用業務流程圖:宿舍樓物品出入業務流程圖:宿舍事故處理業務流程圖:(3)數據流程圖頂層數據流程圖:第2層數據流程圖:從學生角度出發第2層數據流程圖:從管理者角度出發圖2.3 從管理者角度出發的2層數據流程圖第3層數據流程圖:從新生角度出發第3層數據流程圖:從畢業生角度出發第3層數據流程圖:從宿舍樓物品出入出發第3層數據流程圖:從宿舍事故角度出入出發第3層數據流程圖:從樓道工作人員的任用角度出發第3層數據流程圖:從管理者和外來訪客的角度出發(4)數據字典(a)數據項:系統涉與的數據項有71項表1
7、.1 數據項列表數據項編號數據項名數據項含義與其它數據項的關系存儲結構別名DI-1StuNo學生編號char(9)學號DI-2DepName學生所在學院char(20)學院DI-3StuName學生char(10)DI-4StuSex學生性別char(2)性別DI-5StuHome學生來自省份char(10)祖籍DI-6StuBorth學生出生時間Date出生日期DI-7StuETime學生入學時間Date入學時間DI-8StuPerfect學生所在專業char(20)專業DI-9StuClass學生所在班級編號Int編號DI-10WorNo工作人員編號char(5)編號DI-11WorNam
8、e工作人員char(10)DI-12WorType工作類型char(8)工作類型DI-13WorWage工作人員工資Int月工資DI-14WorSex工作人員性別char(2)性別DI-15WorPhNo工作人員聯系方式char(12)DI-16WorTime工作人員工作時間char(30)工作時間DI-17RNo宿舍編號char(6)舍號DI-18RHeader舍長信息等于StuNamechar(10)舍長DI-19ROne宿舍學生信息同上char(10)舍員1DI-20RTwo宿舍學生信息同上char(10)舍員2DI-21RThree宿舍學生信息同上char(10)舍員3DI-22RFo
9、ur宿舍學生信息同上char(10)舍員4DI-23RFive宿舍學生信息同上char(10)舍員5DI-24RSix宿舍學生信息同上char(10)舍員6DI-25RGrade宿舍學生所屬年級等于StuETimechar(4)年級DI-26RDepart宿舍學生所在學院等于DepNamechar(20)學院DI-27RPerfect宿舍學生所學專業等于StuPerfectchar(20)專業DI-28RClass學生所在班級編號等于StuClasschar(2)班級DI-29DorNo宿舍樓編號smallint宿舍樓號DI-30DorCampus宿舍樓所屬校區char(4)校區DI-31Do
10、rLocation宿舍樓在校區位置char(4)宿舍區位DI-32DorPhNo宿舍樓管處char(12)DI-33DorAdminist宿舍樓樓管員信息等于WorNochar(10)樓管員DI-34SGName保衛處名稱char(15)名字DI-35SGWorNum保衛處人員總數Int人員數目DI-36SGHeader保衛處負責人信息char(10)負責人DI-37SGPhone保衛處char(12)DI-38FitName宿舍物品名稱char(16)宿舍物品DI-39FitPrice宿舍物品價格Float價格DI-40FitNum每一種宿舍的數量Int數量DI-41FDFitment損壞物
11、品信息等于FitNamechar(16)物品名DI-42FDStudent損壞的學生信息等于StuNochar(9)學生DI-43FDRoom損壞物品宿舍信息等于RNochar(6)舍號DI-44FDFitNum損壞物品的數量Int數量DI-45FCompFit賠償物品信息等于FitNamechar(16)物品名DI-46FCompStu需賠償學生信息等于StuNochar(9)學生DI-47FCompMon賠償價格Float賠償價格DI-48FCompPrin賠償負責人信息等于WorNochar(10)負責人DI-49FCompDate賠償日期Date日期DI-50FCompNum賠償物品數
12、量Int數量DI-51AcNo事故編號int編號DI-52AcType事故類型char(10)類型DI-53AcArtical事故損失物品char(30)物品名DI-54AcArNum事故損失物品數量Int數量DI-55AcStu事故受害學生等于StuNochar(9)學生DI-56AcDate事故發生日期Date日期DI-57AcPrin事故負責人信息等于SGHeaderchar(15)負責人DI-58AcStuPh受害人聯系方式char(12)學生DI-59AcVerify事故是否屬實Bool核查DI-60ARNo事故調查編號char(4)編號DI-61ARName事故調查名稱char(1
13、5)調查DI-62ARPrin事故調查負責人等于SGHeaderchar(10)負責人DI-63ARResult事故調查結果Bool結果DI-64ACStu事故賠償學生信息等于StuNochar(10)學生DI-65ACArtical事故賠償物品信息char(30)物品名DI-66ACDate事故賠償日期Date日期DI-67ACPrin事故賠償負責單位等于SGHeaderchar(15)負責單位DI-68AIOStu要求物品出入學生等于StuNochar(10)學生DI-69AIOArtical出入物品信息char(20)物品名DI-70AIOPrin出入物品審查人等于WorNochar(1
14、0)負責人DI-71AIODate出入物品日期Date日期DI-72AIONo物品出入序號Int序號(b)數據結構:表1.2 數據結構列表數據結構編號數據結構名數據結構含義組成DS-1Student宿舍學生信息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宿舍保衛處信息SGName,SGWorNum,SGHeader,SGPhoneDS-6Fitment宿舍物品配備信息FitName,FitPrice,FitNumDS-7FitmentDestruction宿舍物品損壞信息FDFitment,FDStudent,FDRoom,FDFitNumDS-8FitmentCompensate宿舍損壞物品賠償信息FCompF
16、it,FCompStu,FCompPrin,FCompDate,FCompNumDS-9Accident宿舍事故注冊信息AcNo,AcType, AcStu,AcDate,AcArtical,AcVerify,AcPrin,AcArNum,AcStuPhDS-10AccidentResearch宿舍事故調查信息ARNo,ARName,ARPrin,ARResultDS-11AccidentCompensate事故損失物品賠償信息ACStu,ACArtical,ACDate,ACPrinDS-12ArticalInOut宿舍樓物品出入信息AIOStu,AIOArtical,AIOPrin,AIO
17、Date,AIONo(5)處理邏輯描述(判定表或判定樹)表1.3 處理邏輯列表判定條件決策判斷用戶查詢涉與的功能模塊宿舍基本信息模塊、宿舍樓基本信息模塊、學生基本信息模塊、宿舍樓配備物品基本信息模塊、宿舍事故基本信息模塊、宿舍樓物品出入基本信息模塊、宿舍樓保衛處基本信息模塊、樓道工人基本信息模塊:先確定查詢所涉與的功能模塊;然后,確定要查詢的容,確定查詢數據流向;最后顯示查詢結果。判斷用戶修改要涉與的模塊,同時把相應的修改數據傳到相應的模塊之中宿舍基本信息模塊、宿舍樓基本信息模塊、學生基本信息模塊、宿舍樓配備物品基本信息模塊、宿舍事故基本信息模塊、宿舍樓物品出入基本信息模塊、宿舍樓保衛處基本信
18、息模塊、樓道工人基本信息模塊:先確定更新所涉與的功能模塊;然后,把更新信息傳送到相應的模塊中;最后,進行相應的更新操作。2. 概念設計階段2.1 引言概念設計階段主要是將需求分析階段得到的用戶需求抽象為信息結構(概念模型)的過程,它是整個數據庫設計的關鍵,包括概念模型設計和新系統流程兩個階段。2.2 概念模型設計(1)根據不同的對象,從第3層數據流程圖(中層數據流程圖)入手,分別畫出分ER圖:(a)從數據流程圖圖2.4 與圖 2.5 抽象出的分ER圖:圖3.1 分ER圖1圖3.2 分ER圖2圖3.3 分ER圖3(b)從數據流程圖圖2.6與圖2.8 抽象出的分ER圖:圖3.4 分ER圖4(c)從
19、數據流程圖圖2.7 抽象出的分ER圖:圖3.5 分ER圖5(2)各分ER圖中每個實體的屬性如下所示:學生: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,FitPrice,FitNum);樓道工作人員:Worker(WorNo,WorName,WorType,WorWage,WorSex,WorPhNo,WorTime);保衛處:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);各分ER圖中聯系的屬性如下所示:物品出入:ArticalInOut(AIONo,AIOStu,AIOArtical,AIOPrin,AIODate);宿舍物品處理:包含物品損壞和物品賠償兩個數據結構(將在邏輯設計階段給出);事故:包含宿舍事故注冊、宿舍事故調查、事故損失物品賠償三個數據結構(具體的結構將在系統邏輯設計階
21、段給出)。(注:為了節省篇幅,實體與屬性的關系沒有用圖形表示,實體的標識碼用下劃線劃出。)(3)合并各分圖,消除屬性沖突、命名沖突、結構沖突等三類沖突,得到初步E-R圖,再消除不必要冗余,得到的基本E-R圖如下所示:2.3 新系統流程新系統流程圖:3邏輯設計階段3.1邏輯設計的任務和目標以上的概念設計階段是獨立于任何一種數據模型的,但是邏輯設計階段就與選用的DBMS產品發生關系了,系統邏輯設計的任務就是將概念設計階段設計好的基本E-R圖轉換為選用DBMS產品所支持的數據模型相符合的邏輯結構。具體容包括數據組織(將E-R圖轉換成關系模型、模型優化、數據庫模式定義、用戶子模式設計)、數據處理(畫出
22、系統功能模塊圖)兩大任務3.2數據組織3.2.1將E-R圖轉換為關系模型由于宿舍樓與樓道工人的聯系方式是1:n(一對多),可以將其之間的聯系與n端實體樓道工人合并,宿舍樓與宿舍之間的聯系、宿舍與學生之間的聯系方式也是1:n,同樣也將其之間的聯系與n端實體宿舍、學生合并,而宿舍物品與學生、學生與樓道工作人員之間的聯系方式則是n:m(多對多),這樣要把它們之間的聯系轉化為獨立的關系模式,保衛處與學生之間的聯系是1:n(一對多),但是它們之間的聯系事故則包含數據結構,為了便于模型優化,將其聯系也轉化成獨立的關系模式,具體的基本E-R圖向關系模型的轉化如下:樓道工人: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,FitPrice,FitNum,DorNo,DorCampu
24、s,DorLocation);學生:Student(StuNo,DepName,StuName,StuSex,StuHome,StuBorth,StuETime,StuPerfect,StuClass,RNo, DorNo,DorCampus,DorLocation);保衛處:SafeGuard(SGName,SGWorNum,SGHeader,SGPhone);物品出入:ArticalInOut(AIONo,StuNo,AIOArtical,AIOPrin,AIODate, DorNo,DorCampus,DorLocation);宿舍物品處理包含兩個數據結構(宿舍物品損壞信息,宿舍物品損壞
25、賠償信息),基于表的各個屬性都是原子項的考慮,現將宿舍物品處理分解為:宿舍物品損壞、宿舍損壞物品賠償,具體如下:宿舍物品損壞:FitmentDestruction(FitName,StuNo,RNo,FDFitNum, DorNo,DorCampus,DorLocation);(消除命名沖突)宿舍物品損壞賠償:FitmentCompensate(FitName,StuNo,FCPrin,FCompDate,FCompNum);(消除命名沖突)宿舍事故包含三個數據結構(宿舍事故注冊信息、宿舍事故調查信息、宿舍事故損失物品賠償信息),同樣基于表的原子性的考慮也將事故分解為:事故注冊、事故調查、事故
26、賠償,具體如下:事故注冊:Accident(AcNo,AcType, StuNo,AcDate,AcArtical,AcVerify,SGName,AcArNum,AcStuPh);事故調查:AccidentResearch(AcNo,ARName,SGName,ARResult);事故賠償:AccidentCompensate(AcNo,ACStu,AcArtical,ACDate,SGName);(注:標有直線下劃線的為主屬性,標有波浪線下劃線的是外鍵屬性,主屬性與外鍵屬性一起構成主碼)3.2.2模型優化關系模式Worker,Dormitory,Fitment,SafeGuard,Arti
27、calInOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate不存在非主屬性對主屬性的部分函數依賴,也不存在傳遞函數依賴,已經達到了3NF,但是宿舍關系模式(Room)中存在著一些不應該有的數據冗余,現將模型優化為:Room(RNo,RHeader,RGrade,RDepart,RPerfect,DorNo,DorCampus,DorLocation);雖然Room中還存在一些數據冗余,但可以提高查詢效率。3.2.3數據庫模式定義表2.1 數據庫模式定義表編號邏輯結構(基本表)
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用戶子模式設計表2.2 用戶子模式設計(View)列表編號用戶子模式(View)作用(共性:提供數據和安全保護機制)V1WorView便于查詢和修改樓道工人的基本信息V2DormView方便宿舍樓的基本信息的查詢、更新V3RoomView以便于宿舍的基本信息的查詢和更新V4FitView用于宿舍樓配備物品的基本信息的查詢V5StuView便于查詢和更改學生的基本信息V6SGView方便學生查詢宿舍保衛處的基本信息V7ArIOView以便于物品出入的管理和信息
30、的查詢、更改V8FDView便于宿舍物品損壞的的登記與處理和信息的查詢V9FCView查詢損壞物品賠償的基本信息,便于宿舍物品的管理V10AccView方便學生事故的注冊與保衛人員對事故注冊的查詢V11ARView便于學生查詢宿舍事故調查的基本信息V12ACView方便宿舍事故賠償的信息查詢和更新3.3數據處理系統功能模塊圖:4物理設計階段4.1物理設計階段的目標與任務數據庫的物理設計就是為邏輯數據模型選取一個最合適應用要求的物理結構的過程,在這個階段中要完成兩大任務:(1)確定數據庫的物理結構,在關系數據庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。4.
31、2數據存儲方面為數據庫中各基本表建立的索引如下:由于基本表Room,Student的主碼RNo,StuNo經常在查詢條件和連接操作的連接條件中出現,且它們的值唯一,考慮在兩個屬性上建立唯一性索引;Dormitory的主碼DorNo,DorCampus,DorLocation經常在查詢條件中出現,且它們的組合值唯一,考慮在它們之上建立組合索引;基本表Student的一屬性StuName,經常在查詢條件中出現,且經常出現在相等的比較條件中,考慮在其之上建立聚簇索引;基本表Fitment、SafeGuard的屬性值幾乎不會有什么變化,更新率很低,可考慮適當建立索引;基本表Worker,Artical
32、InOut,FitmentDestruction,FitmentCompensate,Accident,AccidentResearch,AccidentCompensate的屬性值經常發生變化,權衡系統為維護索引付出的代價,可考慮不建立索引,也可以適當建立索引。4.3系統功能模塊4.3.1 樓道工人基本的信息查詢和更新模塊將實現對樓道工人基本信息的查詢和更新(修改、插入、刪除)操作,方便于樓道工人的任用和更換,具體的功能模塊圖如下:圖4.2 樓道工人基本信息的查詢、更新功能模塊圖(注: 表示系統給用戶的信息,以下與此一樣)4.3.2 宿舍樓基本信息的查詢和更新模塊將完成對宿舍樓基本信息的查詢
33、、更新(修改、插入、刪除)操作,便于宿舍的集中管理,具體的功能模塊圖如下所示:圖4.3 宿舍樓基本信息的查詢、更新功能模塊圖4.3.3 宿舍基本信息的查詢和更新模塊將達到對宿舍基本信息的查詢、更新(修改、插入、刪除)操作的目的,具體的功能模塊圖如下所示:圖4.4 宿舍基本信息的查詢、更新功能模塊圖4.3.4 學生基本信息的查詢和更新模塊將完成對學生基本信息的查詢和插入、刪除、修改等更新操作,具體的功能模塊如下所示:圖4.5 宿舍學生基本信息的查詢、更新功能模塊圖4.3.5 宿舍物品的查詢和更新模塊將實現對宿舍物品基本信息的查詢、插入、刪除、修改等操作,以方便于宿舍物品的配備,具體的功能模塊圖如
34、下:圖4.6 宿舍物品基本信息的查詢、更新功能模塊圖4.3.6 宿舍事故的查詢和更新模塊將實現對宿舍事故的插入和更新操作,方便宿舍事故的快速處理,與時了解事故處理的結果,具體的功能模塊圖如下:圖4.7 宿舍事故基本信息的查詢、更新功能模塊圖4.3.7 宿舍物品處理的查詢和更新模塊將完成對宿舍物品處理基本信息的查詢、插入、刪除、修改等操作,方便于宿舍物品的處理,具體的功能模塊圖如下所示:圖4.8 宿舍物品處理基本信息的查詢、更新功能模塊圖4.3.8 宿舍保衛處基本信息的查詢和更新模塊將實現對宿舍保衛處基本信息的查詢和更新(包括更改、插入、刪除)操作,方便于宿舍意外事故的處理,具體的功能模塊圖如下
35、:圖4.9 宿舍樓保衛處基本信息的查詢、更新功能模塊圖5數據庫實施階段5.1建立數據庫、數據表、視圖、索引5.1.1 建立數據庫create database Student_Dormitory_Management;5.1.2 建立數據表(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、注冊基本信息表的建立: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)宿舍事故調查基本信息表的建立: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(編號,工作類型,工資,性別,聯系方式,工作時間,宿舍樓編號,校區,區位)asselect *from Workerwith check option;(2)方便于宿舍樓基本信息查詢、更新的視圖定義如下:create view DormView (宿舍樓編號,校區,區位,樓管處,樓管)asselect *from dormitorywith check option;(3)顯示宿舍基本信息的視圖定義如下:creat
46、e view RoomView (宿舍編號,舍長,年級,學院,專業,宿舍樓編號, 校區,區位)asselect *from Roomwith check option;(4)可用于宿舍樓配備物品基本信息查詢、更新的視圖定義如下:create view FitView (物品名,價格,數量,宿舍樓編號, 校區,區位)asselect *from Fitmentwith check option;(5)用于查詢和更新學生基本信息的視圖定義如下:create view StuView (學號,學院,性別,祖籍,出生日期,入學時間,專業,班級,宿舍編號, 宿舍樓編號,校區,區位)asselect *f
47、rom Studentwith check option;(6)顯示宿舍保衛處基本信息的視圖定義如下:create view SGView (名稱,人員數目,負責人,)asselect *from SafeGuardwith check option;(7)以便于物品出入管理和出入物品信息查詢、更新的視圖定義如下:create view ArIOView (學號,出入物品,負責人,日期,序號,宿舍樓編號,校區,區位)asselect *from ArticalInOutwith check option;(8)便于宿舍配備物品損壞登記與損壞宿舍物品查詢的視圖定義如下:create view F
48、DView (物品名,學號,宿舍號,損壞數量,宿舍樓編號,校區,區位)asselect *from FitmentDestructionwith check option;(9)用于查詢損壞物品賠償基本信息 ,便于宿舍物品管理的視圖定義如下:create view FCView (物品名,學號,負責人,日期,賠償數量)asselect *from FitmentCompensatewith check option; (10)方便學生事故的注冊與保衛人員對事故注冊查詢的視圖定義如下:create view AccView (編號,事故類型,學號,日期,損失物品,屬實, 負責單位,損失數量,學生
49、聯系方式)asselect *from Accidentwith check option;(11)便于宿舍以外事故調查的視圖定義如下:create view ARView (編號,調查名稱,負責單位,調查結果)asselect *from AccidentResearchwith check option;(12)方便宿舍事故賠償信息查詢和更改的視圖定義如下:create view ACView (編號,學號,賠償物品,日期,負責單位)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數據入庫系統包括宿舍學生基本信息管理、樓道工人基本信息管理、宿舍樓基本信息管理、宿舍基本信息管理、宿舍事故基本信息管理、宿舍樓物品出入基本信息管理、宿舍樓保衛處基本信息管理、宿舍配備物品與處理管理等八大功能模塊,共有12基本表,牽涉到大量數據的錄入,又由于時間限制,采用事先在Excel中錄入數據,然后使用SQL Server 2000數據導入/導出向導功能,直接將數據導入到相應的基本表中。當然,附錄中也給出了各個基本表插入元組的存儲功能,詳細容請參閱附錄2。5.3創建各個功能的存儲過程系統共創建了16個存儲過程,具體列表如下:表3.1 創
52、建的存儲過程列表:編號存儲過程名稱定義作用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系統調試和測試學生宿舍管理系統的測試主要采用黑盒測試和白盒測試的方法,具體的說黑盒測試主要采用以下兩種測試方法:已知系統的功能設計規格,進行測試證明每
55、個實現了的功能是否符合要求;已知系統的部工作過程,通過測試證明每種部操作是否符合設計規格要求,所有部成分是否通過檢驗。該學生管理系統主要采用黑盒測試的第一種測試方法,具體的測試如下:(1)查看各個基本表中的數據(借助與視圖查詢)(a)查看Worker表中的數據:(b)查看Dormitory表中的數據:(c)其他表的數據的查看操作顯示見于附錄3-1(2)檢測各個存儲過程的功能:(a)驗證存儲過程p1_Worker_Insert與p15_Delete_Worker的功能:(b)驗證存儲過程p1_Worker_Insert與p16_Delete_Worker的功能:(c)驗證其它存儲過程的功能見于附
56、錄3-2附錄1 數據庫邏輯結構定義1.樓道工人(Worker)基本信息表,用于記錄樓道工人的基本信息:表2.3 樓道工人基本信息表屬性名數據類型取值圍是否是主屬性或外鍵完整性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 宿舍樓基本信息表屬性名數據類型取值圍是否是主屬性或外鍵完整性DorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not nullDorPhNochar(12)否NullDorAdministchar(10)否Null3.宿舍(Room)基本信息表,用于記錄宿舍的基本信息:表2.5 宿舍基本信息
58、表屬性名數據類型取值圍是否是主屬性或外鍵完整性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 宿舍配備物品基本信息屬性名數據
59、類型取值圍是否是主屬性或外鍵完整性FitNamechar(16)是Not nullFitPricefloat大于0否Not nullFitNumInt大于0否Not nullDorNosmallint0099是Not nullDorCampuschar(4)四面八方其中之一是Not nullDorLocationchar(4)四面八方其中之一是Not null5.宿舍學生(Student)基本信息表,用于記錄宿舍學生的基本信息:圖2.7 宿舍學生基本信息屬性名數據類型取值圍是否是主屬性或外鍵完整性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等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 房地產委托代辦合同
- 養殖場抵押借款合同
- 工地施工人員勞務合同
- 《室內設計手繪快速表現》中職全套教學課件
- 出售土地房屋合同范本
- 學校超市采購合同范本
- 基地養殖花卉合同范本
- 營銷策劃 -可口可樂OBPPC渠道營銷原理
- 北京2025年七年級英語下學期期中模擬卷(二)-解析版
- 鞋子采購合同范本模板
- 問題性肌膚教育培訓課件
- 提升教師數字素養培訓方案
- 關愛保護未成年人司法保護社會保護課件
- 我們是共產主義接班人(二)(教案)二年級下冊綜合實踐活動
- 2024年中國郵政集團江西分公司招聘筆試參考題庫含答案解析
- 急診科培訓急診轉診的協調和溝通
- 深入了解臨床研究方法的基本原理與理論
- 2023中華護理學會團體標準-老年人誤吸的預防
- 關鍵工序特殊過程培訓課件精
- 坑機安全操作規程范本
- 【復習資料】03346項目管理(實用便攜筆記)
評論
0/150
提交評論