收藏 分享(赏)

数据库课设-学生公寓管理系统.doc

上传人:精品资料 文档编号:10840879 上传时间:2020-01-13 格式:DOC 页数:21 大小:374.22KB
下载 相关 举报
数据库课设-学生公寓管理系统.doc_第1页
第1页 / 共21页
数据库课设-学生公寓管理系统.doc_第2页
第2页 / 共21页
数据库课设-学生公寓管理系统.doc_第3页
第3页 / 共21页
数据库课设-学生公寓管理系统.doc_第4页
第4页 / 共21页
数据库课设-学生公寓管理系统.doc_第5页
第5页 / 共21页
点击查看更多>>
资源描述

1、数据库课程设计题目: 学生公寓管理系统 学院: 信息科学与技术学院 专业: 信息与计算科学 姓名: 雷帅 徐爱娟 学号: 0目录一 引言 11.1 课题背景 11.2 课程设计目的 11.3 课程设计任务 1二 需求分析 1三 系统数据库设计 43.1 概念结构设计.43.2 逻辑结构设计.73.3 物理结构设计.8四 数据库实现.10五 数据库运行与查询15六 人员分工 17六 谢辞17参考文献17101 引言1.1 课题背景目前,校园内的学生住宿已经逐步开始进行公寓化管理。在管理过程中,入住学生信息、来访登记等各种信息内容复杂、数据量大,传统的手工记录方式很难完成快速、准确的查询、统计等管

2、理工作。开发学生公寓管理系统,利用计算机实现管理的信息化,不仅可以节省人力、物力资源,提高管理人员的工作效率,同时也加强了信息的安全性和可靠性。1.2 课程设计目的(1)通过实践更加深入理解所学数据库理论,通过实际操作巩固所学知识。(2)熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。(3)实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计以及将来的系统开发打下基础

3、。1.3 课程设计任务本课程设计任务是通过开发一个数据库特价机票抢购系统,深入学习和理解数据库系统的设计与开发, 开发工具为 SQL 相关软件。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理和查询功能等。12 需求分析本系统的用户是学生公寓管理人员和负责老师,他们在日常公寓管理的主要主要工作有:入住学生信息的查询与管理、寝室分配及调整、来访登记等。根据上述需求进行分析,本系统在实现上应该具有如下功能: 学生基本信息管理,包括学生姓名、学号

4、、所属院系班级、公寓楼号、寝室号等数据。 寝室使用情况统计,例如房源使用情况、空床统计情况等。 学生每学期的注册登记,以及住宿费、电费等缴纳情况管理。 人员来访登记及结束访问的详细记录。 提供多条件查询功能,以及方便用户对学生基本信息及楼房信息的查询。 添加、删除、修改用户账户的功能。根据上述分析,可以设计出此系统的系统体系结构图学生公寓管理系统系 统 管 理学 生 管 理公寓 管 理来访登记管理学生基本信息管理学生缴费管理公寓楼房管理公寓寝室管理2学生公寓管理系统功能模块示意图重试否失败 失败成功 用户管理模块 学生公寓管理模块系统流程分析图公寓楼管理信息学生信息管理缴费管理来访登记管理管理

5、自己的用户信息管理自己的用户信息管理普通用户的用户信息针对各模块功能不同的表实现添加记录、修改记录、删除记录以及查询显示记录等功能开始用户登录 失败超过 3次退出程序读取用户类型33 系统数据库设计3.1 概念结构设计根据需求分析抽象出信息结构,可得该系统的 E-R 图。(1)学生信息的 E-R 图,如图 3.1 所示。图 3.1 学生信息 E-R 图(2)公寓信息的 E-R 图,如图 3.2 所示。图 3.2 公寓信息 E-R 图学生学号姓名 性别出生日期专业寝室号班级联系方式公寓号公寓公寓号房间数楼层数启用时间4(3)寝室信息的 E-R 图,如图 3.3 所示。图 3.3 寝室信息 E-R

6、 图(4) 交费信息的 E-R 图,如图 3.4 所示。图 3.4 交费信息 E-R 图(5)来访信息的 E-R 图,如图 3.5 所示。寝室可住人数寝室号住宿费用电话公寓号交费寝室号交费时间交费管理公寓号 金额来访信息被访人姓名所属关系人数来访人姓名事由来访时间结束访问值班人5图 3.5 来访信息 E-R 图 (6)操作员信息的 E-R 图,如图 3.6 所示。图 3.6 操作员信息 E-R 图(7)根据分 E-R 图和需求分析,可得总的基本 E-R 图,我又通过分析实际情况,对总的 ER 图继续进行优化,消除不必要的冗余以及我认为一些不必要的信息后得到最终总的 E-R 图,如图 3.7 所

7、示1 1 nn1n 1n 11操作员操作员姓名操作员 ID密码权限学生 住在 公寓 进行 交费住在属于 进行寝室联系方式班级专业出生日期性别姓名学号启用时间房间数 楼层数公寓号交费时间交费管理金额寝室号可住人数 住宿费用电话6图 3.7 系统总体结构 E-R 图32 逻辑结构设计(1) 将图 3.7 总体概念结构 E-R 图转化成关系模型。关系模型:学生(学号,id,姓名,性别,出生日期,专业,班级,联系方式,公寓号,寝室号)公寓(公寓号,id,楼层数,房间数,启用时间)寝室(寝室号,公寓号,id,可住人数,住宿费用,电话)交费(id,公寓号,寝室号,交费时间,交费类型,金额)来访(id,来访

8、人姓名,人数,被访者姓名,所属关系,来访时间,结束时间,事由)操作员(操作员 ID,操作员姓名,密码,权限)(2)数据模型的优化将转化的关系模式进行优化,最终达到 BCNF。 确定数据依赖学生(学号,id,姓名,性别,出生日期,专业,班级,联系方式,公寓号,寝室号)学号 id ,学号 姓名,学号 性别 ,学号 出生日期 学号 专业,学号 班级,学号 联系方式,学号 公寓号学号 寝室号(均为完全函数依赖)公寓(公寓号,id,楼层数,房间数,启用时间)公寓号 id,公寓号 楼层数,公寓号 房间数公寓号 启用时间(均为完全函数依赖)寝室(寝室号,公寓号,id,可住人数,住宿费用,电话)由于不同的公寓

9、楼会有相同的寝室号,所以仅仅用寝室号是无法确定一个寝室的,而一个公寓楼里的寝室号是唯一的,所以这里用公寓号和寝室号一起作主键(寝室号,公寓号) id, (寝室号,公寓号) 可住人数, (寝室号,7公寓号) 住宿费用, (寝室号,公寓号) 电话(均为完全函数依赖)交费(id,公寓号,寝室号,交费时间,交费类型,金额)Id 公寓号 id 寝室号,id 交费时间id 交费类型,id 金额(均为完全函数依赖)来访(id,来访人姓名,人数,被访者姓名,所属关系,来访时间,结束时间,事由)id 来访人姓名,id 人数,id 被访者姓名,id 所属关系id 来访时间, id 结束时间,id 事由(均为完全函

10、数依赖)操作员(操作员 ID,操作员姓名,密码,权限)操作员 ID 操作员姓名,操作员 ID 密码,操作员 ID 权限(均为完全函数依赖)对各关系模式间数据依赖进行极小化处理,消除冗余通过分析发现其关系中都没有数据的冗余:学生关系中学号 Sno 决定公寓号和寝室号,公寓关系中公寓号作为主键,而寝室关系中,虽然寝室是在公寓里的,但是这里的寝室实体是指所有学生公寓里的寝室,所以仅仅是寝室号无法唯一的确定一个寝室,这里用(寝室号+公寓号)共同作为主键来唯一确定一个寝室,交费关系中,这里用记录编号作为主键,每条记录对应一个寝室的交费信息,同样由于交费是以寝室为单元的,所以也可以用(寝室号+公寓号)为主

11、键。消除传递依赖由以上分析可知各关系中的函数依赖都是完全函数依赖,而且没有传递函数依赖,所以此关系模型满足 BCNF,尽管模型可以继续优化,但在实际中此模型已经满足要求。33 物理结构设计表 3.1 学生信息表的结构编号 字符名称 数据类型 长度 说明1 id int 4 记录编号,不允许空2 学号 nvarchar 30 学生学号,主键3 姓名 nvarchar 20 允许空4 性别 char 2 不允许空5 出生日期 smalldatetime 4 允许空6 专业 nvarchar 20 允许空87 班级 nvarchar 20 允许空8 联系方式 nvarchar 20 允许空9 公寓号

12、 nvarchar 10 允许空10 寝室号 nvarchar 10 允许空11 备注 nvarchar 50 允许空表 3.2 公寓信息表的结构编号 字符名称 数据类型 长度 说明1 id int 4 记录编号,不允许空2 公寓号 nvarchar 10 公寓楼编号,主键3 楼层数 int 4 允许空4 房间数 int 4 允许空5 启用时间 smalldatetime 4 允许空6 备注 nvarchar 50 允许空表 3.3 寝室信息表的结构编号 字段名称 数据类型 长度 说明1 id int 4 记录编号,不空2 寝室号 nvarchar 10 主键3 可住人数 int 4 允许空4

13、 住宿费用 float 8 允许空5 电话 nvarchar 10 允许空6 公寓号 nvarchar 10 主键7 备注 nvarchar 50 允许空表 3.4 交费信息表的结构编号 字段名称 数据类型 长度 说明1 id int 4 编号,主键2 公寓号 nvarchar 10 允许空3 寝室号 nvarchar 10 允许空4 交费时间 smalldatetime 4 允许空5 交费类型 smalldatetime 10 允许空6 金额 nvarchar 8 允许空7 备注 nvarchar 50 允许空表 3.5 来访信息表的结构编号 字段名称 数据类型 长度 说明1 id int

14、4 记录编号,主键2 来访人姓名 nvarchar 10 允许空3 人数 int 4 允许空94 被访者姓名 nvarchar 10 允许空5 所属关系 nvarchar 10 允许空6 来访时间 smalldatetime 4 允许空7 结束时间 smalldatetime 4 允许空8 事由 nvarchar 50 允许空9 值班人 nvarchar 10 允许空表 3.6 操作员信息表的结构编号 字段名称 数据类型 长度 说明1 id int 4 编号,主键2 操作员 ID nvarchar 10 允许空3 操作员姓名 nvarchar 10 允许空4 密码 nvarchar 10 允许

15、空5 权限 char 6 允许空6 备注 nvarchar 50 允许空四 数据库实现4.1 创建学生信息表create table Student -创建学生信息表( id int not null, -记录编号,不空Sno nvarchar(30) primary key, -学号,主键Sname nvarchar(20), -姓名Ssex char(2) not null, -性别Sbirth smalldatetime, -出生日期Sdept nvarchar(20), -专业Sclass nvarchar(20), -班级Sphone nvarchar(20), -联系方式Sbuil

16、d nvarchar(10), -公寓号Sroom nvarchar(10), -寝室号Sother nvarchar(50), -备注foreign key(Sbuild) references Building(Sbuild), -学生公寓关系FOREIGN KEY(Sroom,Sbuild) REFERENCES Dorm(Sroom,Sbuild), -学生寝室关系)4.2 创建公寓信息表create table Building -公寓信息表( id int not null, -记录编号,不空Sbuild nvarchar(10) primary key, -公寓号,主键floor

17、num int, -楼层数roomnum int, -房间数10usetime smalldatetime, -启用时间Bother nvarchar(50), -备注)4.3 创建寝室信息表create table Dorm -寝室信息表( id int not null, -记录编号Sroom nvarchar(10), -寝室号Dnum int, -可住人数Dfee float(8), -住宿费用Dphone nvarchar(10), -电话Sbuild nvarchar(10), -公寓号Dother nvarchar(50), -备注primary key(Sroom,Sbuild

18、), -主键)4.4 创建交费信息表create table Pay -交费( id int primary key, -记录编号,主键Sbuild nvarchar(10), -公寓号Sroom nvarchar(10), -寝室号paytime smalldatetime, -交费时间paytype nvarchar(10), -交费类型Pfee float(8), -金额Pother nvarchar(50), -备注foreign key(Sroom,Sbuild) references Dorm(Sroom,Sbuild), -交费公寓关系)4.5 创建来访信息表create tab

19、le Visit -来访登记表( id int primary key, -记录编号,主键Vname nvarchar(10), -来访人姓名Vnum int, -来访人数Vnamed nvarchar(10), -被访人姓名relat nvarchar(10), -所属关系Vtime smalldatetime, -来访时间Vend smalldatetime, -结束时间reason nvarchar(50), -事由watch nvarchar(10), -值班人)4.6 创建操作员信息表create table Operator -操作员信息表( id int primary key,

20、 -记录编号,主键11Oid nvarchar(10), -操作员 idOname nvarchar(10), -操作员姓名Opass nvarchar(10), -密码Olimit char(6), -权限Oother nvarchar(50), -备注)4.7 关系图如下12BuildingidSbuildfloornumroomnumusetimeBotherDormidSroomDnumDfeeDphoneSbuildDotherOperatoridOidOnameOpassOlimitOotherPayidSbuildSroompaytimepaytypePfeePotherStud

21、entidSnoSnameSsexSbirthSdeptSclassSphoneSbuildSroomSotherVisitidVnameVnumVnamedrelatVtimeVendreasonwatch4.8 插入数据-插入公寓楼13insert into Buildingvalues(0001,01,05,100,2000-1-2,无)insert into Buildingvalues(0002,02,05,100,2001-4-2,无)insert into Buildingvalues(0003,03,06,150,2002-6-12,无)insert into Building

22、values(0004,04,05,100,2005-10-2,无)insert into Buildingvalues(0005,05,05,100,2007-1-12,无)select * from Building -插入寝室信息insert into Dormvalues(0001,1-101,4,1000,45216535,01,无)insert into Dormvalues(0002,2-101,4,1000,45216534,01,无)insert into Dormvalues(0003,1-101,4,1000,45256535,02,无)insert into Dormv

23、alues(0004,2-101,4,1000,45816535,02,无)insert into Dormvalues(0005,1-101,6,1000,45258735,03,无)insert into Dormvalues(0006,2-101,6,1000,41256535,03,无)select * from Dorm-插入学生信息insert into Studentvalues(0001,20100001,张一,男,1991-1-2 ,信科,一班,45648922,01,1-101,无)insert into Studentvalues(0002,20100002,张二,男,1

24、991-10-2 ,信科,二班,45656922,01,2-101,无)insert into Studentvalues(0003,20100003,张三,男,1992-1-2 ,通信,一班,45848922,02,1-101,无)insert into Studentvalues(0004,20100004,张四,男,1994-1-12 ,计本,三班,45588922,02,1-101,无)insert into Studentvalues(0005,20100005,张五,女,1991-5-2 ,计本,一班,45658922,03,1-101,无)insert into Studentv

25、alues(0006,20100006,张六,女,1991-11-2 ,通信,一班,45468922,03,2-101,无)insert into Studentvalues(0007,20100007,张七,女,1990-4-2 ,信科,一班,45596922,03,1-101,无)insert into Studentvalues(0008,20100008,张八,女,1991-3-1 ,信科,二班,45648542,03,2-101,无)14insert into Studentvalues(0009,20100009,张九,男,1991-2-9 ,信科,一班,41248922,01,1

26、-101,无)insert into Studentvalues(0010,20100010,张十,男,1991-3-5 ,通信,一班,45641522,02,1-101,无)select * from Student -插入缴费信息insert into Payvalues(0001,01,1-101,2010-5-1,水电费,86 ,无)insert into Payvalues(0002,01,2-101,2010-5-1,水电费,70 ,无)insert into Payvalues(0003,02,1-101,2010-5-1,水电费,56 ,无)insert into Payval

27、ues(0004,03,1-101,2010-5-1,水电费,90 ,无)insert into Payvalues(0005,03,2-101,2010-5-1,水电费,80 ,无)select * from Pay-插入来访信息insert into Visitvalues(0001,李四,1 ,张四,朋友,2010-5-3,2010-5-3 ,玩, 王五)insert into Visitvalues(0002,赵六,2 ,张二,同学,2010-7-3,2010-7-5 ,玩, 王五)select * from Visit-插入操作员信息insert into Operator valu

28、es(0001,425001,李飞,001240,)select * from Operator4.9 设置触发器create trigger Insert_or_Update_Dnumbefore insert or update on Dormfor each rowas beginif (new.Sbuild=01) and (new.Dnum4) thennew.Dnum :=4;end if;end; 对寝室人数设置触发器,当人数超过 4 时自动改为 4,同样可对公寓楼02,03,04 设置,而对公寓楼 05 和 06 设置寝室人数为 6.15同时还可以对寝室费用的设置触发器,寝室费

29、用都是 1000 快,当输入数据不等于 1000 时,自动改为 1000.五 数据库运行1617六 人员分工徐爱娟同学主要负责选题,确定课设的目的以及课设的任务,还有对问题需求的分析,系统流程的设计,模块的分类和系统概念结构的设计,对 E-R 图的设计等工作,雷帅同学主要负责对系统逻辑结构的设计以及优化,还有对物理结构的设计以及实现和数据库的实现以及运行和维护等工作七 谢辞在整个课程设计过程中,我的指导老师严谨的治学精神、深厚的理论水平,特别是他独特的思路,使我获益匪浅;他孜孜不倦地解答我在课程设计中遇到的各种各样的问题,使我对数据库理论知识和实际应用有了进一步的结合,这里我对他表示衷心感谢。参考文献:1 王珊 萨师煊。 数据库系统概论高等教育出版社 2006.5 第 4 版2 伊文敏 刘峰 王颖。 Delphi+SQL Sever 数据库应用实例人民邮电出版社 2006.12 第 1 版

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报