数据库原理与应用论文校园卡管理系统数据库设计_第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运行语句1.1 系统需求分析阶段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,

7、dininf):包括三个数据结构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)d

13、i-10officeaddr学生办公室地址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充值类型c

14、har(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食堂刷卡所时间datetim

15、edi-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

16、)di-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-56scandat

17、e审批时间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.

18、2 数据结构列表数据结构编号数据结构名称数据结构别名数据结构含义数据项组成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

19、、sno、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、di

20、nmanage、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、propert

21、y、grade、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

23、.3抽象出的分er图:(c)从数据流程图图2.4抽象出的分er图:(c)从数据流程图图2.5抽象出的分er图:(2)各分er图中关键实体和联系的属性如下所示:学生:学号,身份证号,姓名,性别,出生日期,学院,专业,班级,生源地学生工作办公室:办公室名称,办公室地址,办公室负责人校园卡:卡号,持卡人学号,持卡人身份证号,卡状态,卡内余额,卡的冻结时间学生超市:超市编号,超市名称,超市负责人,超市所在校区超市刷卡:本次消费编号,刷卡类型,该类刷卡地点编号,卡编号,本次消费金额,本次消费时间,该处负责人姓名学生食堂:食堂编号,食堂负责人,食堂所在校区食堂刷卡:本次消费编号,刷卡类型,该类刷卡地点编号

24、,卡编号,本次消费金额,本次消费时间,该处负责人姓名课程:课程编号,课程名称,课程性质,课程学分,任课老师,上课所在教室上课刷卡:学生上课刷卡次序编号,校园卡卡号,学生学号,学生身份证号,课程编号,课程名称,上课刷卡时间,上课所在教室宿舍楼:宿舍楼编号,宿舍楼所属院系,宿舍楼所属校区归宿刷卡:返回宿舍楼刷卡次数编号,校园卡卡号,学生学号,学生身份证号,宿舍楼所属校区,宿舍楼编号,归宿时间(注:为了节省篇幅,实体与属性的关系没有用图形表示,实体和联系的主码分别用下划线划出。)(3)合并各分图,消除属性冲突、命名冲突、结构冲突等三类冲突,得到初步e-r图,再消除不必要冗余,得到的基本e-r图如下所

25、示:3 逻辑设计阶段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)

27、 3nf超市: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

28、、cardno、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(详见

30、附录2-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 i

33、nt 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 stu

34、dent(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

35、char(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:

36、create 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

38、),foreign 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(

39、sno) 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) referenc

40、es 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 建立索引依次分别在表stu

42、dent,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 c

44、ardset 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_in

46、formation详见附录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查询各宿楼在某天某个时间段内学生的回宿舍楼信息

48、p-16din_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_pre

49、ss详见附录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验证存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论