1、数据库课程设计报告 课程设计报告( 2015- 2016年度第1学期)实验名称: 数据库应用课程设计 题 目: 公寓管理系统 院 系: 控制与计算机科学学院 班 级:学 号:学生姓名:指导教师:设计周数: 1 周 成 绩: 日期:2016年1月15日一、课程设计的目的与要求1培养学生运用所学课程数据库系统原理的理论知识和技能,深入理解数据库系统原理课程相关的理论知识,学会分析实际问题的能力。2培养学生掌握用数据库系统原理的知识设计计算机应用课题的思想和方法。3培养学生调查研究、查阅技术文献、资料、手册以及编写技术文献的能力。4通过课程课程设计的训练,要求学生独立完成大作业要求的相关内容,包括:
2、 收集和调查有关资料、最新技术信息。 根据课题的要求基本理解和掌握E-R图的设计方法和关系模式的转换。 根据课题的要求基本理解和掌握数据流图和数据字典的设计方法。 根据ER图生成数据库表。 数据库完整性、安全性保证措施。 数据库实施维护计划二、公寓管理系统概要设计1.系统功能模块图 1(图)2.系统管理员/普通管理员的功能模块图 2(图)3.学生功能模块图 3(图)登录界面(图) 公寓管理系统界面(图)4.添加用户:用户分为三类 (1)系统管理员 (2)普通管理员 (3)学生 权限比较:系统管理员普通管理员 学生 4添加用户(图)5.用户设置包括:(1)修改密码。(2)学生管理 (初始化密码为
3、123456)(3)管理员管理,(除密码初始化外,还可以删除)5.1(图) 5.2(图) 5.3(图)6信息查询分为:(1)学生信息查询:1 ) 按学号; 2 ) 按姓名; 3 ) 按宿舍; 4 ) 按班级;6.1(图)(2)宿舍信息查询:6.2(图)7住宿管理 :(1)来访管理: 1 ) 增加访客; 2 ) 离开访客;7.1(图)7.2(图)(2)学生住宿管理 7.3(图)8,宿舍管理:(1)公物报修8.1(图)(2)报修管理 8.2(图)(3)宿舍管理 (可以添加删除查询宿舍)8.3(图)9.学生个人信息管理 9(图)三、 数据库设计1.E-R图(1)用户表(user),是保存所有用户登录
4、信息的表,包括系统管理员、普通管理员、学生。字段名类型长度不为空主键说明idvarchar10用户名passwordvarchar20用户密码levelint1用户权限(2)学生信息表(studentinfo),保存学生的基本信息。字段名类型长度不为空主键说明idvarchar10学号namevarchar50姓名sexenum性别(男/女)nationvarchar10民族classvarchar10班级collegevarchar20院系enrolldatedate入学日期birthdayDate出生日期apartidint3楼号housetagvarchar 10宿舍号(外键)bedid
5、int1床号ownpcenum是否拥有电脑owntelvarchar11个人电话hometelvarchar12家庭电话(3)宿舍信息表(house),保存宿舍使用情况以及宿舍的基本信息。字段名类型长度不为空主键说明housetagvarchar10宿舍号buildidvarchar3宿舍所属楼号stunumint1宿舍实际人数maxnumint1宿舍最大容量socint10宿舍的用电量housestatevarchar3宿舍使用情况(4)公物报修表(goodsrepair),保存宿舍公物报修情况。字段名类型长度不为空主键说明idint10主键(自增)apartidvarchar3宿舍所属楼号
6、housetagvarchar10宿舍号goodsnamevarchar20报修物品名称goodsnumint3报修物品数量reasonvarchar50公物损坏原因stunamevarchar50学生姓名reportdatedatetime报修时间(5)来访信息表(visit),保存外来人员探访学生的信息。字段名类型长度不为空主键说明idint10主键(自增)namevarchar50来访人姓名stuidvarchar10被访学生学号(外键)stunamevarchar50被访学生姓名apartidint3被访学生所在楼号housetagvarchar10被访学生所在宿舍号relationv
7、archar10学生与来访者关系visittimedatetime来访时间leavetimedatetime离开时间watchvarchar50值班人姓名credentialsvarchar10证件类型memovarchar50备注(6)学生迁出记录表(checkout),记录学生的迁出信息。字段名类型长度不为空主键说明coidint10主键(自增)idvarchar10学号namevarchar50学生姓名sexenum性别(男/女)classvarchar10班级collegevarchar20院系enrolldatedate入学日期checkoutdatedate迁出日期nextgova
8、rchar50去向2.触发器(1)当有新的学生第一次登陆系统,并完成个人信息的填写之后,updateHouse_afterInsertStuInfo触发器会自动调整学生所在宿舍的人数信息。 create trigger updateHouse_afterInsertStuInfo after insert on studentinfofor each rowbeginupdate house set stunum=stunum+1 where housetag=new.housetag;end;(2)当有学生迁出之后,其信息需要从user和studentinfo表中删除,创建触发器update
9、StuInfo_afterCheckout实现该功能。create trigger updateStuInfo_afterCheckout after insert on checkoutfor each rowbegindelete from user where id=new.id;end;(3)当有学生迁出之后,updateHouse_afterDeleteStuInfo触发器会自动调整学生所在宿舍的人数信息。 create trigger updateHouse_afterDeleteStuInfo after delete on studentinfofor each rowbegi
10、nupdate house set stunum=stunum-1 where housetag=old.housetag; end;3.存储过程存储过程是提前在数据库系统中编译好的一系列操作过程,能提高系统的运行速度,就该系统中的几个存储过程给予说明:(1) 访客查询时通过visit_bt(begin date,end date)存储过程查询一个月或一周内的访客记录。 create procedure visit_bt(begin date,end date) begin select * from visit where visittime between begin and end; e
11、nd; (2) 添加功能的存储过程,以添加用户为例addUser(id char(10),pwd char(20),level int)。 create procedure visit_bt addUser(id char(10),pwd char(20),level int) begin insert into user values(id,pwd,level); end; 四、课程设计总结或结论我们这次课设的任务是建立一个公寓管理系统,编程语言采用Java语言,数据库采用mysql数据库。在设计的开始阶段为了尽快获得公寓管理系统的需求,我们大量的在网上查找有关该方面的资料,对Java的基本
12、理论知识复习回忆并从中悟出自己独特的见解,并应用到本次编程中。在对所要应用的技术有了一个基本认识之后就开始构思自己的系统设计根据需求说明书的要求将整个系统分为几个模块每个模块具体又要实现哪些功能然后就逐个模块去一一详细设计,设计的过程中不时地翻阅资料用一些巧妙的技术来优化尽管这次作业不需要编程实现但是也遇到了很多的问题,最后在同学的共同努力下终于顺利完成了任务。在数据库设计方面,通过对数据库系统概论课本中学的知识不断地发掘深入,设计出了较为合理的数据库结构,充分的考虑到了数据的完整性以及安全性,使用了触发器,存储过程等技术,来提高整个系统的性能。总之,通过一个星期的设计让我们感受了软件开发的部分过程,这不仅是对我们在大学所学知识的一个综合运用也是一次增长知识和经验的好机会。同时 也使我们学会了许多处理解决问题的方法大大提高了自己的动手能力为将来的有关学习打下了良好的基础。五、参考文献 1 王珊,萨师煊 数据库系统概论. 高等教育出版社, 第四版. 2006年05月 附录(设计流程图、程序、表格、数据等)
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1