数据库课程设计完整版.docx
《数据库课程设计完整版.docx》由会员分享,可在线阅读,更多相关《数据库课程设计完整版.docx(24页珍藏版)》请在冰豆网上搜索。
数据库课程设计完整版
HUNANCITYUNIVERSITY
数据库系统课程设计
设计题目:
宿舍管理信息系统
姓名:
学号:
专业:
信息与计算科学
指导教师:
20年12月1日
一、人员分配4
1.7系统业务流程及具体功能7
1.8.1数据流程图8
2.系统的数据字典11
四、课程设计心得.20
引言
学生宿舍管理系统对于一个学校来说是必不可少的组成部分。
目前好多学校还停留在宿舍管理人员手工记录数据的最初阶段,手工记录对于规模小的学校来说还勉强可以接受,但对于学生信息量比较庞大,需要记录存档的数据比较多的高校来说,人工记录是相当麻烦的。
而且当查找某条记录时,由于数据量庞大,还只能靠人工去一条一条的查找,这样不但麻烦还浪费了许多时间,效率也比较低。
当今社会是飞速进步的世界,原始的记录方式已经被社会所淘汰了,计算机化管理正是适应时代的产物。
信息世界永远不会是一个平静的世界,当一种技术不能满足需求时,就会有新的技术诞生并取代旧技术。
21世纪的今天,信息社会占着主流地位,计算机在各行各业中的运用已经得到普及,自动化、信息化的管理越来越广泛应用于各个领域。
我们针对如此,设计了一套学生宿舍管理系统。
学生宿舍管理系统采用的是计算机化管理,系统做的尽量人性化,使用者会感到操作非常方便,管理人员需要做的就是将数据输入到系统的数据库中去。
由于数据库存储容量相当大,而且比较稳定,适合较长时间的保存,也不容易丢失。
这无疑是为信息存储量比较大的学校提供了一个方便、快捷的操作方式。
本系统具有运行速度快、安全性高、稳定性好的优点,并且具备修改功能,能够快速的查询学校所需的住宿信息。
面对目前学校发展的实际状况,我们通过实地调研之后,对宿舍管理系统的设计开发做了一个详细的概述。
一、人员分配
组长:
E-R图:
数据字典:
逻辑结构设计:
二、课程设计目的和要求
课程设计是为了增强学生对所学课程的理解,学会综合地、灵活地运用所学课程知识的一个重要的实践环节。
本课程设计是应用java程序设计语言进行数据库应用系统的开发,用SQLSERVER2008进行后台数据库的管理,编写出某一个小型的管理信息系统。
通过本课程设计可以达成如下目标:
1、能够自觉运用数据库原理的理论知识指导软件设计;
2、学会数据库的设计,并能对设计结果的优劣进行正确的评价;
3、学会如何组织和编写信息系统软件设计文档和软件系统的操作说明;
4、具有一定的独立分析问题、解决问题的能力;
5、掌握SQLSERVER2008在信息系统开发过程中的应用。
三、课程设计过程
数据库设计的基本步骤如下:
(1)需求分析
(2)概念结构设计
(3)数据库逻辑设计
(4)数据库物理设计
(5)数据库实施
(6)数据库运行和维护
1.需求分析阶段
1.1应用背景
在现代的高校宿舍管理工作中,由于高校扩招,学生人数剧增,传统的管理方法已经不能适合高校宿舍管理的需要,以前使用的管理系统相对落后,随着学生人数的不断增加,该系统在数据管理方面有一些混乱,越来越不能适应管理的需要,因此需要一个功能更完善,操作更方便,容量更大的管理信息系统。
宿舍信息管理系统是典型的信息管理系统(MIS),其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起数据一致性和完整性强、数据安全性好的库。
而对于后者则要求应用程序功能完备,易使用等特点。
本宿舍信息管理系统的一些基本功能和组成情况包括系统的需求分析、概念结构设计、逻辑结构设计、物理结构设计、数据库实施、数据库运行维护等步骤。
1.2需求分析目标
1.明确用户需求,加速开发进程;
2.提高处理速度;
3.控制精度以及日常业务处理能力的提高;
4.管理信息服务的改进;
5.人员工作效率的提高。
1.3系统设计概要
宿舍管理的主要工作是学校宿舍基本信息的录入:
为学生分、退宿舍和缴费;宿舍卫生检查;水电费的收取;宿舍、学生的查询以及对来访人员的登记。
宿舍分配的过程是:
新生入学之前,每个园区将接到安排在本园区住宿的同学名单,并根据学生基本信息按约定的分配原则给每个学生初定宿舍床位。
一般的分配原则是:
同一学院的学生应该分配在同一幢楼,同一班级的学生应该分配在房号连续的寝室。
当学生报到后,宿舍管理员根据住宿分配情况开出需支付的住宿费清单,学生到财务处缴费后方可入住。
宿舍分配结束后,宿舍管理员对学生住房情况、房产信息进行维护、查询、管理、统计。
1.4软件处理对象:
系统要处理的对象包括用户系统登录信息、入住学生基本信息、宿舍基本信息、宿舍卫生检查信息、宿舍水电缴费信息、宿舍公物报修信息、来访登记信息等七个方面,各个对象包括信息如下所示(详细的数据见于数据字典):
1.用户系统登录信息:
包括添加用户,修改密码,退出系统等方面,这样可以方便管理者对宿舍楼的管理,提高查询效率;
2.学生基本信息:
包括学号、学生姓名、学生性别、学生所学专业、宿舍号、入住时间等方面的信息,可以方便学生信息的查询和更新;
3.宿舍基本信息:
宿舍基本信息包括宿舍号、宿舍电话、住宿费、宿舍财产;
4.宿舍卫生检查信息:
包括宿舍号、检查情况、检查日期;
5.宿舍水电缴费信息:
包括宿舍号、缴费人、缴费量、缴费日期等四方面的信息;
6.宿舍公物报修信息:
报修信息包括宿舍号、报修人、保修日期、修理日期、报修情况等信息,具体的数据项见数据字典;
7.来访登记信息:
包括宿舍号、来访人、被访人、来访时间、离开时间、备注等信息。
1.5系统可行性分析
本系统从以下两个个方面进行分析:
1.3.1技术可行性
本次“宿舍信息管理系统”设计的总体任务是实现宿舍管理的系统化、规范化、自动化,从而达到宿舍管理高效率的目的。
鉴于我们以前学过C++,这学期又学了数据库,所以对开发管理系统有了一定的认识。
由于本设计的最重要体现的是实用性,所以通过调查与分析,结合自己现有的技术水平加上老师的指导,还是能按期完成本次课程设计的。
1.3.2操作可行性
本系统是为学校的宿舍管理者开发的,所有本软件的用户对象是宿舍的管理人员,由于本软件设计简单并附有详细的使用说明,用户只需懂得简单的计算机操作知识,就能自由应用本软件。
结论:
经分析本系统满足以上几个方面的要求,所以开发本系统是完全可行的。
1.6系统的设计目标及其意义
本宿舍管理信息系统强化了学生管理的职能,涵盖了学生管理、床位管理等主要功能,特别是对学生宿舍管理工作进行了提炼和概括,使学生宿舍管理工作日益规范化、制度化和科学化,从而达到宿舍管理高效率的目的。
本系统主要包括三大功能:
录入,查询和修改。
录入时最基本的系统功能,实现了所有学生情况的录入,保证了学校学生住宿情况的完整性。
用户可以通过适当的查询条件,对所有或者个别要了解的学生情况进行分类的查询,系统的查询能够一步到位,还支持模糊查询,从而减小了在不知道学生具体情况下查询的难度。
修改则是集查询、删除和修改功能为一体的一个管理模块,本系统课通过多个查询条件得出所要的学生纪录,并在此基础上可对学生的基本住宿资料进行修改。
1.7系统的业务流程及具体的功能
通过对用户需求和系统设计思想的分析,可以得出该宿舍管理信息系统大致可以分为几大模块:
宿舍基本信息模块、学生入住模块、卫生检查模块、水电收费模块、宿舍报修模块、外来人员登记模块。
系统的业务流程图:
图1.7.1系统业务流程图
系统功能模块图:
图1.7.2系统总功能模块图
主要模块的功能:
①宿舍基本信息模块:
添加、修改、查询和删除宿舍基本信息,如宿舍房号、财产、床位等。
②学生入住模块:
添加、修改、查询和删除学生入住、退宿信息,包括学生一些基本信息、缴费等。
③卫生检查模块:
对宿舍卫生检查、评比、统计等。
④水电收费模块:
对超出规定部分的水电收费管理。
⑤宿舍报修模块:
对报修情况的登记、时间安排、修理结果检查等。
⑥来访人员登记模块:
对来访人员的登记管理等。
1.8数据流程
数据流程图
图1.8.1宿舍信息管理系统总数据流图
图1.8.2宿舍信息登记分数据流图
图1.8.3入住学生信息登记分数据流图
图1.8.4宿舍卫生检查分数据流图
图1.8.5宿舍水电收费分数据流图
图1.8.6宿舍报修分数据流图
图1.8.7来访人员登记分数据流图
2系统的数据字典
数据字典
数据从程序内部分离出来,形成独立的外部数据文件。
静态数据文件与动态数据文件相互独立,依靠特定程序分别进行参照或存取。
静态数据由外部数据文件存放方式转为数据库存放方式,将以前程序中静态数据对动态数据加工的某些控制关系抽象为静态表与动态表之间的关系。
用户数据字典:
属性名
存储代码
类型
长度
备注
用户ID
Uname
char
20
用户密码
Upassword
char
20
住宿学生数据字典:
属性名
存储代码
类型
长度
备注
学号
Sno
char
20
住宿学生学号
姓名
Sname
char
20
住宿学生姓名
性别
Ssex
char
4
专业
Sdept
char
40
学生专业
宿舍号
Dno
char
6
住宿学生宿舍号
入住时间
Scheckin
date
8
新生搬入时间
学生宿舍数据字典:
属性名
存储代码
类型
长度
备注
宿舍号
Dno
char
6
宿舍电话
Dphone
char
15
宿舍财产
Pname
char
20
报修数据字典:
属性名
存储代码
类型
长度
备注
宿舍号
Dno
char
6
报修人宿舍号
物品号
Pno
Int
2
报修物品编号
提交日期
Rsubmit
date
8
报修提交日期
解决日期
Rsolve
date
8
问题解决日期
报修原因
Rreason
char
50
物品损坏原因
卫生检查数据字典:
属性名
存储代码
类型
长度
备注
宿舍号
Dno
char
6
检查宿舍号
检查时间
ChTime
timestamp
14
卫生检查时间
检查结果
ChResult
Char
10
卫生检查评定
水电数据字典:
属性名
存储代码
类型
长度
备注
宿舍号
Dno
char
6
水电宿舍号
已用费用
Cost
date
8
水电消费情况
剩余费用
LeftFee
date
8
水电剩余情况
续交费用
CtFee
date
8
续交水电费用
来访人员数据字典:
属性名
存储代码
类型
长度
备注
学号
Sno
char
20
住宿学生学号
姓名
Sname
char
20
住宿学生姓名
性别
Ssex
char
4
专业
Sdept
char
40
学生专业
宿舍号
Dno
char
6
被访学生宿舍号
进入时间
Scheckin
date
8
正课时间被访进入时间
离开时间
OutTime
date
8
正课时间被访结束后外出时间
3.概念结构设计阶段
本系统的总E-R图如图(2.1)所示:
图(3.1)总E-R图
以下是分E-R图:
宿舍信息表分E-R图(被参照关系)
卫生检查信息表分E-R图(参照关系)
水电收费信息表分E-R图(参照关系)
学生信息表分E-R图(参照关系)
宿舍报修信息表分E-R图(参照关系)
来访人员信息表分E-R图(参照关系)
4.逻辑结构设计阶段
把系统的E-R图转换成数据库模式如下(下列关系模型中标有黄色钥匙状的为主码):
表4.1宿舍基本信息表(dorm)
表4.2学生入住信息表(student)
表4.3宿舍卫生检查表(checkinfo)
表4.4宿舍报修表(repair)
表4.5宿舍外来人员记录表(register)
表4.6宿舍水电缴费表(charge)
表4.7宿舍管理员表(userinfo)
本系统的关系模型如下:
dorm(dormID,phone,Dmoney,bedNum,chairNum,deskNum,DRemark)
student(SID,Sname,Ssex,class,dormID)
checkinfo(checkID,dormID,CDate,CSate,CRemark)
charge(chargeID,dormID,MDate,EBuy,CPerson,CMoney)
repair(repairID,dormID,DateIn,DateRepair,Person,repair,reason,rmoney)
register(RegisterID,PcomeID,PcomeName,DateCome,Plook,dormID,Dateleave,Remark)
5.物理结构设计阶段
数据库在物理设备上的存储结构与存取方法称为数据库的物理结构,它依赖于选定的数据库管理系统。
为一个给定的逻辑数据模型选取一个最适合的应用要求的物理结构的过程,就是数据库的物理设计。
数据库的物理设计通常分为两步:
(1)确定数据库的物理结构,在关系数据库中主要指存取方法和存储结构;
(2)对物理结构进行评价,评价的重点是时间和空间的效率。
5.1关系模式存取方法的选择
确定数据库的存取方法,就是确定建立哪些存储路径以实现快速存取数据库中的数据。
现行的DBMS一般都提供了多种存取方法,如索引法、HASH法等。
其中,最常用的是索引法,本系统也采用的是索引法。
我们在经常需要搜索的列和主关键字上建立了唯一索引。
5.2确定数据库的存储结构
由于不同PC机所安装的数据库软件位置不一定相同,所以数据文件与日志文件的存放位置也不一定相同。
6.数据库实施
本系统前端开发工具我们选择java,后台数据库采用SQLServer2008。
本系统是通过java代码进行连接的。
6.1CreateDatabase创建数据库
--创建数据库宿舍管理信息系统
CREATEDATABASE宿舍管理信息系统
GO
USE宿舍管理信息系统
GO
6.2CreateTable创建表
createtablecharge
(
ChargeIDintidentity(1,1)primarykey,
dormIDvarchar(20),
MDatedatetime,
EBuyvarchar(20),
CPersonvarchar(20),
CMoneyvarchar(20)
)
createtablecheckinfo
(
CheckIDintidentity(1,1)primarykey,
dormIDvarchar(20),
CDatedatetime,
CSatevarchar(100),
CRemarkvarchar(100)
)
createtabledorm
(
dormIDvarchar(20)primarykey,
phonevarchar(20),
DMoneyvarchar(20),
bedNumint,
chairNumint,
deskNumint,
DRemarkvarchar(20)
)
createtableregister
(
Registerintidentity(1,1)primarykey,
PComeNamevarchar(20),
PComeIDvarchar(18),
DateComedatetime,
PLookvarchar(20),
dormIDvarchar(20),
DateLeavedatetime,
Remarkvarchar(100)
)
createtablerepair
(
RepairIDintidentity(1,1)primarykey,
dormIDvarchar(20),
DateIndatetime,
DateRepairdatetime,
personvarchar(20),
repairvarchar(20),
reasonvarchar(20),
repairmoneyvarchar(20)
)
createtablestudent
(
SIDvarchar(20)primarykey,
SNamevarchar(20),
SSexvarchar(20),
classvarchar(20),
dormIDvarchar(20),
phonevarchar(11)
)
7.数据库运行和维护
软件维护是软件生命周期的最后一个阶段,它处于系统投入生产性运行以后的日期中,为了纠正错误或满足新的需要而进行修改软件的过程,即是软件维护也是为软件的升级提供详细的资料。
系统维护的目的是保证管理信息系统正常而可靠的运行,并能使系统不断得到改善和提高,以充分发挥作用。
7.1解决问题的方法
1、多找有关方面的书籍资料,进行自学;另外、还请教其他知道的同学和网上搜索相关资料。
2、反复更改代码,不断调试,测试种种可能性。
7.2系统维护
7.2.1学生管理
包括入住新的学生,以及对学生信息进行修改、查询,删除。
7.2.2操作权限设置
为宿舍管理员设置操作权限。
7.2.3数据备份
包括数据库的备份和日志文件的备份,可以随时将数据备份到硬盘或优盘保存,以免以后系统出现故障,可以借助这些备份文件进行恢复。
7.2.4数据恢复
当数据丢失或出现其他故障后,可以从备份文件恢复数据。
7.2.5修改密码
修改用户以及操作员的登录密码。
7.2.6数据清理
将所有表中的数据进行清空,减少使用的空间。
7.2.7查看日志
可查看日志文件中的信息,特别是对以后系统出现故障有所帮助。
7.2.8日志清理
对日志文件的内容进行清空。
7.2.9退出系统
退出该宿舍管理信息系统
7.3数据库性能的评价
这个数据库的设计还有很多地方不足,比如对于管理员这部分没有好好的设计,没有发挥管理员的作用。
比如说在查询的上还没有好好的系统化,删除和更新的地方也有很多的不足。
但是它可以实现基本的功能,简单的插入,简单的查询,简单的更新。
基本实现了做这个系统的初衷。
四.课程设计心得
通过老师对此次课程设计的讲解、小组成员的完美配合,此次课程设计我们完成的很顺利我也收获了很多,比如说我对做一个完整的系统的流程有了更新的掌握,也让自己学到了更多简单又基础的东西。
在这个过程中,我熟悉了SQLServer2008的操作环境,熟练了Word里面的操作。
整个开发过程中我深深体会到,团队之间要多做交流,要团结合作,要严格按照软件工程的开发思路,不能急于求成,一来就马上编程,应该多做分析和研究,理清思路。
前一阶段的工作的好坏将直接影响后一阶段工作的开展。
多学习多请教,更多新的技术不断的涌现,可以通过请教别人或者多上网学习别人的编程方法、参考编程案例,可以转变成你的知识,才能做的更好。
这些经验是相当宝贵的,为我们以后能够编出更好的程序是一个良好的启发。
限于我们的技术水平有限这次的课程设计论文和编程软件的错误和不当之处在所难免,还得请老师多多指教!
在这次的课程设计中虽然时间紧迫但我们学会了很多,也感到自身知识的贫乏,希望在日后的努力学习中把它做成更完善的系统,并能做其他完善的系统。
通过这个课程设计,受益匪浅,我发现只有自己真正动手去做,才能体会其中的乐趣,只要自己愿意去做,什么事都有可能做好。
参考文献:
[1]王珊萨师煊.数据库系统概论[M].高等教育出版社,2006.5