數據庫原理與應用論文校園卡管理系統數據庫設計_第1頁
數據庫原理與應用論文校園卡管理系統數據庫設計_第2頁
數據庫原理與應用論文校園卡管理系統數據庫設計_第3頁
數據庫原理與應用論文校園卡管理系統數據庫設計_第4頁
數據庫原理與應用論文校園卡管理系統數據庫設計_第5頁
已閱讀5頁,還剩49頁未讀, 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、信息工程學院數據庫原理與應用課程設計論文題 目:校園卡管理系統數據庫設計 學 號: 專業班級: 姓 名: 指導老師: 完成日期: 二零零九年六月 摘 要高?!靶@卡”是將采取非接觸式電子錢包和電子化校務管理相整合的方式。校園卡管理系統是應對學生校園生活的現代化、網絡化,逐步擺脫當前學生在校生活中的消費管理、身份認證管理的人工管理方式,提高學生校園生活管理效率,方便學生校園生活而開發的,它包括三個子系統:校園卡日常管理子系統、電子錢包子系統、身份認證子系統。每個子系統包含多個功能模塊,并提供了對各功能模塊的查詢和更新功能,且這兩種功能都是通過存儲過程實現的,其中食堂就餐管理、超市購物管理、各種充

2、值管理、宿舍樓門控管理、公共課考勤管理是本系統開發的重點。該系統開發由系統需求分析階段、概念設計階段、邏輯設計階段、物理設計階段、數據庫實施階段、系統調試和測試階段、參考文獻、附錄等階段組成。關鍵字:電子錢包;身份認證;現代化;人工管理;存儲過程目 錄1. 系統需求分析階段11.1 引言11.2 目標與任務11.2.1 需求分析階段的目標11.2.2 需求分析階段的任務11.2.3 需求分析階段成果12. 概念設計階段12.1 引言12.2 概念模型設計13邏輯設計階段13.1邏輯設計的任務和目標13.2數據組織13.2.1將e-r圖轉換為關系模型13.2.2模型優化13.2.3數據庫模式定義

3、13.2.4用戶子模式設計13.3數據處理14物理設計階段14.1物理設計階段的目標與任務14.2數據存儲方面15數據庫實施階段15.1建立數據庫、數據表、視圖、索引15.1.1 建立數據庫15.1.2 建立數據表15.1.3 建立視圖15.1.4 建立索引15.2數據入庫15.3創建各個功能的存儲過程16系統調試和測試17收獲與體會18存在的問題及建議1致謝1參考文獻1附錄1 數據庫邏輯結構定義1附錄2 存儲過程定義1附錄3 數據查看和存儲過程功能的驗證1附錄4 所有的sql運行語句11 系統需求分析階段1.1 引言通過對南北校區學生日常生活、學習情況的實地調查加上自己親生體驗,了解到現在許

4、多高校學生生活消費管理仍然停留在各種消費分塊進行,相對獨立的運行模式,而宿舍樓門控管理和上課考勤管理仍然是完全的人工管理階段,人工管理方式對于宿舍樓管理員和任課教師來說費時、費事、費力,造成工作效率低下。開發出合適的學生校園生活管理系統,可以方便學生,提高高校消費管理和身份認證管理的工作效率及查詢效率。1.2 目標與任務1.2.1 需求分析階段的目標(1)了解目前高校學生消費管理和身份認證管理的現狀以及sql server 2000的功能和特點。(2)通過平時觀察、思考、親身體會,再加上重點實地調查和記錄的方式了解和收集大部分學生所向往的消費模式和身份認證模式的工作業務流程,確定基本的系統開發

5、方向。(3)與指導教師交流個人想法,征求意見,改正不合理的地方,確定新系統的邊界,為下面的概念設計與邏輯設計奠定基礎。1.2.2 需求分析階段的任務 (1)處理對象:系統要處理的對象包括:學生基本信息,高校學生工作辦公室基本信息,校園卡日常事務管理基本信息、“校園卡”基本信息、食堂消費基本信息、超市消費基本信息、身份認證基本信息等日常管理、電子錢包、身份認證三個方面,各個對象包括信息如下所示(詳細的數據見于數據字典):1學生基本信息(student):包括學生身份證號、學生學號、學生性別、學生出生年份、學生所在院系、學生的專業、學生所在班級等方面的信息,可以方便學生信息的查詢和更新;3高校學生

6、工作辦公室基本信息(office,officemanage):包括兩個數據結構office(辦公室信息),officemanage(辦公室學生管理信息),每個數據結構中的數據項見數據字典;4校園卡日常事務管理基本信息(bkxx,losinf,unlos,fillinf):包括四個數據結構bkxx(辦卡信息),losinf(掛失信息),unlos(解掛信息),fillinf(充值信息),每個數據結構中的數據項見數據字典;5“校園卡”基本信息(card):包括校園卡的編號、持卡人學生學號、持卡學生身份證號、校園卡的狀態、校園卡內的余額;6食堂消費基本信息(dinpress,dinwinds,din

7、inf):包括三個數據結構dinpress(食堂刷卡記錄),dinwinds(食堂窗口信息),dininf(學生食堂信息),具體的數據項見數據字典;7超市消費基本信息(suppress,supreader,supinf):包括三個數據結構suppress(超市刷卡信息),supreader(超市刷卡機信息),supinf(超市信息),具體的數據項見數據字典;8身份認證基本信息(course,courpress,dorminf,dormpress):包括四個數據結構course(學生課程信息),courpress(上課刷卡記錄信息),dorminf(學生宿舍樓基本信息),dormpress(學生

8、歸宿刷卡信息),具體的數據項見數據字典;(2)處理功能要求系統主要完成一下幾個功能:1學生基本信息查詢與更新;2校園卡日常事務管理情況基本信息查詢與更新;3校園卡在某個時刻所處狀態的查詢;4食堂月營業額基本信息的查詢和修改,查詢所有食堂的營業額以了解食堂總體的收入情況,查詢各個食堂的收入為評價各個食堂的服務質量提供依據;5超市的月營業額基本信息的查詢和修改,以了解超市總體的收入情況; 6學生每月在食堂或者超市的消費金額的查詢,以了解學生的真正的月生活消費情況;(3)安全性和完整性要求安全性先通過視圖機制,不同的用戶只能訪問系統授權的視圖,這樣可提供系統數據一定程度上的安全性,再通過用戶授權機制

9、、域用戶登陸方式來識別用戶級別,根據這個級別來分配用戶權限,達到數據更高層次的安全保密功能。完整性要求用于描述學生基本信息,高校學生工作辦公室基本信息,校園卡日常事務管理基本信息、“校園卡”基本信息、食堂消費基本信息、超市消費基本信息、身份認證基本信息中數據項能否為null,以及一些用戶自定義完整性(符合實際要求),此處用觸發器實現,詳細完整性要求見于系統的邏輯設計階段和數據庫實施階段。1.2.3 需求分析階段成果(1)校園卡需求分析的實際過程系統需求分析是數據庫系統開發的最重要的環節,直接關系到后面每個階段的具體實施,也關系到系統最終的開發方向,因此做好需求分析對于數據庫應用系統開發至關重要

10、。在初步確定課題“校園卡管理系統”以后,首先,我再次細致地總結了南北校區目前食堂學生飲食消費和超市購物消費管理的現狀,以及學生宿舍樓歸宿管理和教師上課考勤管理方式;其次,親自到圖書館查閱了關于數據庫設計方面的書籍,在這期間我還上網搜索了一些關于校園卡的信息,手頭有了一些資料,我也有了自己的一些想法;再次,雖然找到了一些資料,但是我對系統的有些地方仍然感到比較困惑,例如:校園卡系統涉及范圍的取舍問題。于是,我又向楊老師請教,讓她幫我參考我的想法,并給我提一些寶貴的修改建議。除了這些方面,我還詢問了大三學長當時做數據庫課程設計的感受,借鑒了學長們在做數據庫開發這方面的經驗。通過以上調查,最終確定了

11、我的校園卡系統涉及到的范圍,校園卡日常管理、電子錢包、身份認證三個子系統,涉及到了學生在校園的食堂飲食、超市購物、課程考勤、宿舍住宿等多方面的管理。(2)校園卡管理系統業務流程圖校園卡辦理(包括補辦)業務流程圖:校園卡充值業務流程圖:校園卡掛失業務流程圖:校園卡解掛業務流程圖:食堂消費業務流程圖:超市消費業務流程圖:學生獎助學金發放管理業務流程圖:宿舍門控管理業務流程圖:智能考勤管理業務流程圖:(3)數據流程圖頂層數據流程圖:第1層數據流程圖:第2層數據流程圖: 從后勤中心角度出發第2層數據流程圖: 從校園卡日常事務管理角度出發第2層數據流程圖: 從校園卡消費管理角度出發第2層數據流程圖:從校

12、園卡的身份認證管理角度出發(4)數據字典(a)數據項:系統涉及的數據項有67項表1.1 數據項列表數據項編號數據項名稱簡述類型及寬度取值范圍di-1sid學生身份證號char(18)0-999999999999999999di-2sno學生學號char(8)0-99999999di-3sname學生姓名char(10)di-4sage學生性別char(4)男、女di-5sbirth學生出生年intdi-6sdept學生所在院系char(20)di-7sspecial學生所在專業char(20)di-8sclass學生所在班級char(20)di-9char(6)學生生源地char(6)di-1

13、0officeaddr學生辦公室地址char(40)di-11officemanage學生辦公室負責人char(10)di-12cardno校園卡編號char(8)0-99999999di-13cardstate校園卡狀態char(6)可用、不可用di-14cardmoney校園卡內余額floatdi-15bkrq辦卡日期datetimedi-16jbr校園卡日常事務負責人姓名char(10)di-17gsrq掛失所在時間datetimedi-18jgrq解掛的時間datetimedi-19czrq充值的時間datetimedi-20czje充值金額floatdi-21czlx充值類型char

14、(40)“補助”、“獎學金”、“用戶自充”di-22czno充值次數編號intdi-23supname超市名稱char(40)di-24supcheckno超市讀卡機編號char(4)di-25supmoney超市購物刷卡金額floatdi-26suptime超市購物刷卡時間datetimedi-27supmanage超市負責人姓名char(10)di-28supaddr超市所在校區char(10)di-29dinno食堂編號char(4)di-30windsno食堂窗口編號char(4)di-31dinmoney食堂刷卡金額floatdi-32dintime食堂刷卡所時間datetimedi

15、-33dinmanage食堂負責人姓名char(10)di-34dinaddr食堂所在校區char(10)di-35pressno消費次數編號intdi-36place消費所在地點char(10)di-37pno所在地點刷卡機編號char(4)di-38pmoney本次刷卡金額floatdi-39ptime本次刷卡所在時間datetimedi-40pmanage刷卡地點負責人姓名char(10)di-41paddr刷卡地點所在校區char(10)di-42teacher任課教師姓名char(10)di-43cname課程名稱char(40)di-44property課程屬性char(10)di

16、-45cno課程編號char(10)di-46grade課程學分float0-5di-47classtime到課刷卡時間datetimedi-48classroom上課所在教室號char(10)di-49dormregion宿舍樓所在校區char(10)di-50dormno宿舍樓編號char(10)di-51backtime回宿舍時間datetimedi-52reqoff學生遞交申請的部門char(40)di-53reqinf學生申請的內容char(40)di-54reqdate學生申請時間datetimedi-55scanmessage審批內容char(40)di-56scandate審批

17、時間datetimedi-57scanresult審批結果char(40)di-58scanoff審批部門char(40)di-59scanmanage審批人char(10)di-60identiinf確認內容char(40)di-61identidtae確認時間datetimedi-62dutydorm值班樓管姓名char(10)di-63dinlist飯菜名稱char(40)di-64dinprice飯菜單價floatdi-65totalprice總價格floatdi-66thingname商品名稱char(40)di-67thingprice商品單價float(b)數據結構:表1.2 數

18、據結構列表數據結構編號數據結構名稱數據結構別名數據結構含義數據項組成ds-1學生信息student記錄學生的信息sid、sno、sname、ssex、sbirth、sdept、sspecial、 sclass、saddrds-2學生工作辦公室office記錄辦公室的信息officename、officeaddr、officemanageds-3學生管理信息officemanage記錄辦公室管理學生的信息officename、sno、officemanageds-4辦卡信息bkxx記錄辦卡信息cardno、sno、sid、bkrq、jbrds-5掛失信息losinf記錄掛失信息cardno、sn

19、o、sid、gsrq、jbrds-6解掛信息unlos記錄解掛信息cardno、sno、sid、jgrq、jbrds-7充值信息fillinf記錄充值相關信息czno、cardno、sno、czlx、czje、jbrds-8校園卡信息card記錄校園卡信息cardno、sno、sid、cardstates、cardmoneyds-9食堂刷卡信息dinpress記錄食堂刷卡信息dinno、windsno、cardno、dinmoney、dintimeds-10食堂窗口信息dinwinds記錄食堂窗口信息dinno、windsnods-11學生食堂信息dininf記錄食堂信息dinno、dinma

20、nage、dinaddrds-12超市刷卡信息suppress記錄超市刷卡信息supname、supcheckno、cardno、supmoney、suptimeds-13超市讀卡機信息supreader記錄收銀臺信息supname、supchecknods-14超市信息supinf記錄超市信息supno、supname、supmanage、supaddrds-15超市食堂消費刷卡信息pressinf消費刷卡記錄pressno、place、pno、cardno、pmoney、ptime、pmanage、paddrds-16課程信息course記錄課程信息cname、cno、property、g

21、rade、teacher、classroomds-17上課刷卡信息courpress記錄到課刷卡情況sno、sid、cno、classtimeds-18宿舍樓信息dorminf記錄宿舍樓信息dormregion、dorno、sdeptds-19歸宿刷卡信息dornpress記錄歸宿刷卡信息sno、sid、dorno、backtime(5)處理邏輯描述(判定表或判定樹)表1.3 處理邏輯列表判定條件決策判斷用戶查詢涉及的功能模塊校園卡充值模塊、校園卡刷卡消費模塊、校園卡身份認證模塊:先確定查詢所涉及的具體功能模塊;然后,確定要查詢的內容,確定查詢數據流向;最后顯示查詢結果。判斷用戶修改要涉及的模

22、塊,同時把相應的修改數據傳到相應的模塊之中校園卡的各種類型充值情況記錄模塊、食堂和超市的消費記錄模塊、回宿舍和上課刷卡的記錄模塊:先確定更新所涉及的功能模塊;然后,把更新信息傳送到相應的模塊中;最后,進行相應的更新操作,這個過程可能會用到觸發器的操作。2 概念設計階段2.1 引言概念設計階段主要是將需求分析階段得到的用戶需求抽象為信息結構(概念模型)的過程,它是整個數據庫設計的關鍵,包括概念模型設計和新系統流程兩個階段。2.2 概念模型設計(1)根據不同的對象,從第3層數據流程圖(中層數據流程圖)入手,分別畫出分er圖:(a)第2層數據流程圖圖2.2抽象出分e-r圖(b)從數據流程圖圖2.3抽

23、象出的分er圖:(c)從數據流程圖圖2.4抽象出的分er圖:(c)從數據流程圖圖2.5抽象出的分er圖:(2)各分er圖中關鍵實體和聯系的屬性如下所示:學生:學號,身份證號,姓名,性別,出生日期,學院,專業,班級,生源地學生工作辦公室:辦公室名稱,辦公室地址,辦公室負責人校園卡:卡號,持卡人學號,持卡人身份證號,卡狀態,卡內余額,卡的凍結時間學生超市:超市編號,超市名稱,超市負責人,超市所在校區超市刷卡:本次消費編號,刷卡類型,該類刷卡地點編號,卡編號,本次消費金額,本次消費時間,該處負責人姓名學生食堂:食堂編號,食堂負責人,食堂所在校區食堂刷卡:本次消費編號,刷卡類型,該類刷卡地點編號,卡編

24、號,本次消費金額,本次消費時間,該處負責人姓名課程:課程編號,課程名稱,課程性質,課程學分,任課老師,上課所在教室上課刷卡:學生上課刷卡次序編號,校園卡卡號,學生學號,學生身份證號,課程編號,課程名稱,上課刷卡時間,上課所在教室宿舍樓:宿舍樓編號,宿舍樓所屬院系,宿舍樓所屬校區歸宿刷卡:返回宿舍樓刷卡次數編號,校園卡卡號,學生學號,學生身份證號,宿舍樓所屬校區,宿舍樓編號,歸宿時間(注:為了節省篇幅,實體與屬性的關系沒有用圖形表示,實體和聯系的主碼分別用下劃線劃出。)(3)合并各分圖,消除屬性沖突、命名沖突、結構沖突等三類沖突,得到初步e-r圖,再消除不必要冗余,得到的基本e-r圖如下所示:3

25、 邏輯設計階段3.1邏輯設計的任務和目標以上的概念設計階段是獨立于任何一種數據模型的,但是邏輯設計階段就與選用的dbms產品發生關系了,系統邏輯設計的任務就是將概念設計階段設計好的基本e-r圖轉換為選用dbms產品所支持的數據模型相符合的邏輯結構。具體內容包括數據組織(將e-r圖轉換成具體的關系模型、模型優化、數據庫模式定義、用戶子模式(視圖)設計)、數據處理(畫出系統功能模塊圖)兩大任務。3.2數據組織3.2.1將e-r圖轉換為關系模型通過分析所要實現的功能以及現有的實體和聯系,確定把學生實體、校園卡實體、課程實體、餐廳實體、超市實體、宿舍樓實體分別轉化為單獨的關系模式,為了便于查詢學生在食

26、堂、超市用校園卡刷卡消費的信息,將消費型刷卡聯系轉化為獨立的關系模式;考慮到學生回宿舍和上課考勤記錄信息的查詢,把身份認證型的刷卡聯系轉化為獨立的關系模式;最后考慮到學生要往校園卡里充值,再從學生和校園卡的擁有聯系中抽取出校園卡的充值關系模式,具體的關系模式轉化結果如下:學生:student(sno、sid、sname、ssex、sbirth、sdept、sspecial、sclass、saddr) 3nf校園卡:card(cardno、sno、sid、cardstates、cardmoney、cardtime) 3nf食堂:dininf(dinno、dinmanage、dinaddr) 3n

27、f超市:supinf(supno、supname、supmanage、supaddr) 3nf課程:course(cno、cname、property、grade、teacher、classroom) 3nf宿舍:dorminf(dorno、sdept、dormregion) 3nf上課刷卡:courpress(classno、cardno、sno、sid、cno、cname、classtime、classroom) 3nf歸宿刷卡:dormpress(backno、cardno、sno、sid、dormregion、dormno、backtime) 3nf充值:fillinf(czno、ca

28、rdno、sno、czlx、czje、czrq、jbr) 3nf消費刷卡:pressinf(pressno、place、pno、cardno、pmoney、ptime、pmanage) 3nf(注:標有直線下劃線的為主屬性,標有波浪線下劃線的是外鍵屬性)3.2.2模型優化關系模式student,card,dininf,supinf,course,dorminf,coursepress,dormpress、fillinf,pressinf不存在非主屬性對主屬性的部分函數依賴,也不存在傳遞函數依賴,已經達到了3nf。同時關系模式(coursepress,dormpress,pressinf)和其他

29、的表包含有相同的屬性,存在著一些數據冗余,但是這些數據冗余是為了保證學生的信息更安全的角度考慮的,而且可以在一定程度上減少查詢時的連接量提高系統的查詢效率。3.2.3數據庫模式定義表1.4 數據庫模式定義表編號邏輯結構完整性和安全性t-1student(詳見附錄1-7)(詳見附錄1-7)t-2card(詳見附錄1-8)(詳見附錄1-8)t-3coursepress(詳見附錄1-9)(詳見附錄1-9)t-4dormpress(詳見附錄2-0)(詳見附錄2-0)t-5dininf(詳見附錄2-1)(詳見附錄2-1)t-6supinf(詳見附錄2-2)(詳見附錄2-2)t-7course(詳見附錄2

30、-3)(詳見附錄2-3)t-8dorminf(詳見附錄2-4)(詳見附錄2-4)t-9fillinf(詳見附錄2-5)(詳見附錄2-5)t-10pressinf(詳見附錄2-6)(詳見附錄2-6)3.2.4用戶子模式設計表1.5 用戶子模式設計(view)列表編號用戶子模式(view)作用(共性:提供數據保密和安全保護機制)v-1dinner便于查詢和修改學生在食堂的消費信息v-2supmarket便于查詢和修改學生在超市的消費信息v-3student_din_sup_press便于查詢在食堂和超市消費的學生基本信息3.3數據處理系統功能模塊圖: 4 物理設計階段4.1物理設計階段的目標與任務

31、數據庫的物理設計就是根據所選用的dbms和處理需求,進行物理存儲安排,建立索引,形成數據庫的內模式,為邏輯數據模型選取一個最適合應用要求的物理結構的過程,在這個階段中要完成兩大任務:(1)確定數據庫的物理結構,在關系數據庫中主要是存取方法和存儲結構;(2)對物理結構進行評價,評價的重點是時間和空間效率。4.2數據存儲方面為數據庫中各基本表建立的索引如下:1. 由于基本表card,student,dininf,supinf的主碼cardno,sno,dinno,supno經常在查詢條件和連接操作的連接條件中出現,且它們的取值唯一,考慮在這四個屬性上分別建立唯一性索引;2. 有些基本表中的屬性值經

32、常性地發生變化,索引并不是越多越好,而要權衡系統為維護索引付出的代價,因此在其他的表上可考慮不建立索引,也可以適當建立索引。5 數據庫實施階段5.1建立數據庫、數據表、視圖、索引5.1.1 建立數據庫create database campuscard;5.1.2 建立數據表(1)學生基本信息表的建立:create table student(sno char(8) primary key,sid char(18) not null,sname char(10) not null,ssex char(4) check(ssex=男 or ssex=女) not null,sbirth int

33、not null,sdept char(20) not null,sspecial char(20) not null,sclass char(20) not null,saddr char(6) not null,);(2)校園卡基本信息表的建立:create table card(cardno char(8) primary key,sno char(8) not null,sid char(18) not null,cardstate char(6) not null,cardmoney float not null,foreign key (sno) references studen

34、t(sno),);(3)課程信息表course:create table course(cno char(10) primary key,cname char(40) not null,property char(10) not null,grade float not null,teacher char(10) not null,classroom char(10) not null,);(4)宿舍信息表dorminf:create table dorminf(dormno char(10) primary key,sdept char(20) not null,dormregion cha

35、r(10) not null,);(5)食堂信息表dininf;create table dininf(dinno char(4) primary key,dinmanage char(10) not null,dinaddr char(10) not null,);(6)超市信息表supinf:create table supinf(supno char(4) primary key,supname char(40) not null,supmanage char(10) not null,supaddr char(10) not null,);(7)到課刷卡信息表courpress:cre

36、ate table courpress(classno int primary key,cardno char(8) not null,sno char(8) not null,sid char(18) not null,cno char(10) not null,cname char(40) not null,classtime datetime not null,classroom char(10) not null,foreign key(cardno) references card(cardno),foreign key(sno) references student(sno),);

37、(8)歸宿刷卡信息表dormpress:create table dormpress(backno int primary key,cardno char(8) not null,sno char(8) not null,sid char(18) not null,dormregion char(10) not null,dormno char(10) not null,backtime datetime not null,foreign key(cardno) references card(cardno),foreign key(sno) references student(sno),f

38、oreign key(dormno) references dorminf(dormno),);(9)創建充值信息表fillinf:create table fillinf(czno int primary key,cardno char(8) not null,sno char(8) not null,czlx char(40) not null,czje float not null,czrq datetime not null,jbr char(10) not null,foreign key(cardno) references card(cardno),foreign key(sno

39、) references student(sno),);(10)食堂、超市消費刷卡信息記錄表pressinf:create table pressinf(pressno int primary key,place char(10) check(place=食堂or place=超市) not null,pno char(4) not null,cardno char(8) not null,pmoney float not null,ptime datetime not null,pmanage char(10) not null,foreign key(cardno) references

40、card(cardno),);5.1.3 建立視圖(1)用于查詢的更新學生在各個食堂刷卡消費信息的視圖定義如下:create view dinner2asselect cardno,place,pno 食堂號,pmoney,ptime,pmanagefrom pressinfwhere place=食堂with check option;(2)用于查詢和更新學生在各個食堂刷卡消費信息的視圖定義如下:create view supmarketasselect place,pno 超市編號,cardno,pmoney,ptime,pmanagefrom pressinfwhere place=超市

41、with check option;(3)將學生信息表和刷卡消費表連接,用于查詢相關的學生的基本信息create view student_din_sup_pressasselect pressinf.pressno,pressinf.place,pressinf.pno,pressinf.cardno,pressinf.pmoney,pressinf.ptime,pressinf.pmanage,card.snofrom pressinf,cardwhere pressinf.cardno=card.cardnowith check option;5.1.4 建立索引依次分別在表studen

42、t,card,dininf,supinf的主碼sno,cardno,dinno,supno上建立唯一性索引,具體sql代碼如下:create unique index s_sno on student(sno asc);create unique index card_cardno on card(cardno asc);create unique index dinner_dinno on dininf(dinno asc);create unique index supmarket_supno on supinf(supno asc);5.1.5 建立觸發器為了保持數據庫里的數據的一致性,

43、在用校園卡刷卡消費和進行各種類型的校園卡充值操作后,不僅要修改pressinf、fillinf里的信息,還要修改對應的card表里的校園卡余額cardpmoney的值;用觸發器來實現,具體觸發器依次定義如下:create trigger tion fillinfafter insertasupdate cardset cardmoney=cardmoney+czjefrom insertedwhere cardstate=可用and card.cardno=inserted.cardnocreate trigger ti2on pressinfafter insertasupdate card

44、set cardmoney=cardmoney-pmoneyfrom insertedwhere cardstate=可用and card.cardno=(select cardno from inserted)5.2數據入庫 系統包括校園卡日常管理子系統、電子錢包子系統、身份認證子系統,各個子系統分別包含不同方面的管理模塊:校園卡辦卡管理、各種類型充值管理、掛失管理、解掛管理、食堂消費刷卡管理、超市消費刷卡管理、學生獎助學金發放充值管理、宿舍門控管理、歸宿刷卡管理等九大功能模塊,共涉及到10張基本表,牽涉到大量數據的錄入,又由于時間限制,采用事先在excel中錄入數據,并進行相應的數據整理,

45、然后使用sql server 2000數據導入/導出向導功能,直接將數據導入到相應的基本表中。當然,附錄中也給出了往個別基本表插入元組的存儲功能,詳細內容請參閱附錄2。5.3創建各個功能的存儲過程系統共創建了24個存儲過程,具體列表如下:表1.6 創建的存儲過程列表:編號存儲過程名稱定義作用p-1student_information詳見附錄2-1在student中查詢學生基本信息p-2card_information詳見附錄2-2在card中查詢校園卡基本信息p-3pressinf_information詳見附錄2-3在pressinf中查詢學生的消費信息p-4courpress_infor

46、mation詳見附錄2-4在courpress中查詢學生考勤信息p-5dormpress_information1詳見附錄2-5在dormpress中查詢回宿舍的信息p-6fill_information詳見附錄2-6在fillinf中根據czlx查詢信息p-7student_information2詳見附錄2-7查詢制定學院的學生信息p-8updatespecial2詳見附錄2-8在student中匹配sdept進行special更新p-9card_information2詳見附錄2-9查詢“不可用”的的校園卡信息p-10fill_information2詳見附錄2-10查詢制定的“獎學金”

47、類的充值信息p-11course_press詳見附錄2-11在courpress中查詢各門課程一段時間內上課的考勤記錄p-12each_course_press8詳見附錄2-12在courpress中查詢各門課程某次上課學生的考勤記錄p-13each_course_press5詳見附錄2-13在courpress中查詢某門課某次上課學生的考勤記錄p-14dorm_back1詳見附錄2-14連接dormpress、student查詢各宿樓在某段時間內學生的回宿舍信息p-15dorm_back詳見附錄2-15連接dormpress、student查詢各宿樓在某天某個時間段內學生的回宿舍樓信息p-1

48、6din_month_incoming7詳見附錄2-16在pressinf中查詢各個食堂在七月份內的收入情況p-17dinpress2詳見附錄2-17在dinner2中查詢學生在所有食堂的消費記錄p-18din_month_incoming3詳見附錄2-18在pressinf中查詢各個校區各個食堂在七月份內的收入情況p-19suppress11詳見附錄2-19在supmarket11中查詢學生在所有超市的消費記錄p-20sup_month_incoming詳見附錄2-20連接supmarket、supinf查詢各個超市七月份收入額p-21student_month_din_sup_press詳

49、見附錄2-21查詢所有學生某個時間段內的食堂和超市消費總額p-22one_student_month_din_sup_press詳見附錄2-22查詢某個學生在某個月內的食堂或者超市刷卡消費金額p-23insert_fillinf詳見附錄2-23查詢給某個學生發放獎學金充入其的校園卡內的情況p-24delete_pressinf2詳見附錄2-24刪除某個時間以前的學生消費刷卡記錄6 系統調試和測試校園卡管理系統的測試主要采用黑盒測試和白盒測試的方法,具體的說黑盒測試主要采用以下兩種測試方法:1. 已知系統的功能設計規格,進行測試證明每個實現了的功能是否符合要求;2. 已知系統的內部工作過程,通過

50、測試證明每種內部操作是否符合設計規格要求,所有內部成分是否通過檢驗。該校園卡管理系統主要采用黑盒測試的第一種測試方法,具體的測試如下:(1) 查看各個基本表中的數據(借助視圖查詢)圖6.1 查看student表中的數據圖 6.2 查看card表中的數據圖 6.3 查看pressinf表中的信息圖 6.4 查看courpress表中的數據圖 6.5 查看dormpress表中的數據圖 6.6 查看fillinf表中的數據(其他表的數據的查看操作顯示見于附錄3-1)(2)檢測各個存儲過程的功能:圖 6.7 驗證存儲過程updatespecial2的功能圖 6.8 驗證存儲過程each_course_press8的功能圖 6.9驗證存儲過程dorm_back的功能圖 6.10驗證存儲過程din_mo

溫馨提示

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

評論

0/150

提交評論