收藏 分销(赏)

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

上传人:天**** 文档编号:4063488 上传时间:2024-07-26 格式:DOC 页数:14 大小:144.04KB
下载 相关 举报
数据库课设-学生公寓管理系统.doc_第1页
第1页 / 共14页
数据库课设-学生公寓管理系统.doc_第2页
第2页 / 共14页
数据库课设-学生公寓管理系统.doc_第3页
第3页 / 共14页
数据库课设-学生公寓管理系统.doc_第4页
第4页 / 共14页
数据库课设-学生公寓管理系统.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

1、数据库课程设计题目: 学生公寓管理系统学院: 信息科学与技术学院 专业:信息与计算科学姓名:雷帅 徐爱娟学号:目录一引言11.1课题背景11。2课程设计目的11。3课程设计任务1二 需求分析1三 系统数据库设计4 3。1概念结构设计.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。4 3.2逻辑结构设计.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。7 3。3物理结构设计。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。8四数据库实现.。.。.。.。.。.。.。.。.。.。.。

2、.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.10五数据库运行与查询.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。15六 人员分工 。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。17六谢辞。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.17参考文献。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。.。1701 引言1.1

3、课题背景目前,校园内的学生住宿已经逐步开始进行公寓化管理。在管理过程中,入住学生信息、来访登记等各种信息内容复杂、数据量大,传统的手工记录方式很难完成快速、准确的查询、统计等管理工作.开发学生公寓管理系统,利用计算机实现管理的信息化,不仅可以节省人力、物力资源,提高管理人员的工作效率,同时也加强了信息的安全性和可靠性。1.2课程设计目的(1)通过实践更加深入理解所学数据库理论,通过实际操作巩固所学知识.(2)熟练掌握对于给定结构的数据库的创建、基本操作、程序系统的建立和调试以及系统评价。(3)实践和巩固在课堂教学中学习的关于关系数据库原理的有关知识和数据库系统的建立方法,熟练掌握对于给定实际问

4、题,为了建立一个关系数据库信息管理系统,必须得经过系统调研、需求分析、概念设计、逻辑设计、物理设计、系统调试、维护以及系统评价的一般过程,为毕业设计以及将来的系统开发打下基础.1。3课程设计任务本课程设计任务是通过开发一个数据库特价机票抢购系统,深入学习和理解数据库系统的设计与开发,开发工具为SQL相关软件。通过对计算机硬件和软件解决方案的论证,对应用领域进行调查分析,参考各种资料和进行数据库系统开发实践。在指导老师的帮助下,已经基本上成功地实现了设计任务书的要求,使得设计的数据库系统能够实现一般数据库的管理和查询功能等。2需求分析本系统的用户是学生公寓管理人员和负责老师,他们在日常公寓管理的

5、主要主要工作有:入住学生信息的查询与管理、寝室分配及调整、来访登记等。根据上述需求进行分析,本系统在实现上应该具有如下功能: 学生基本信息管理,包括学生姓名、学号、所属院系班级、公寓楼号、寝室号等数据。 寝室使用情况统计,例如房源使用情况、空床统计情况等. 学生每学期的注册登记,以及住宿费、电费等缴纳情况管理。 人员来访登记及结束访问的详细记录。 提供多条件查询功能,以及方便用户对学生基本信息及楼房信息的查询. 添加、删除、修改用户账户的功能。根据上述分析,可以设计出此系统的系统体系结构图学生公寓管理系统来访登记管理公寓 管 理学 生 管 理系 统 管 理公寓寝室管理学生缴费管理公寓楼房管理学

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

7、 公寓公寓号房间数楼层数图3.2公寓信息ER图(3)寝室信息的E-R图,如图3.3所示。公寓号寝室号寝室 电话可住人数住宿费用图3.3寝室信息ER图(4) 交费信息的ER图,如图3。4所示。金额交费公寓号交费管理寝室号交费时间图3。4交费信息ER图值班人(5)来访信息的E-R图,如图3。5所示。来访人姓名来访信息 人数 事由 来访 时间被访人姓名 结束 访问 所属 关系图3.5来访信息ER图 权限(6) 操作员信息的E-R图,如图3.6所示. 操作 员ID操作员操作员姓名 密码图3。6操作员信息ER图(7)根据分E-R图和需求分析,可得总的基本E-R图,我又通过分析实际情况,对总的ER图继续进

8、行优化,消除不必要的冗余以及我认为一些不必要的信息后得到最终总的E-R图,如图3。7所示交费时间房间数楼层数联系方式交费管理公寓号班级启用时间出生日期姓名专业进行公寓交费 学生住在 11nn学号1住在金额属于 n1进行性别 n 1寝室寝室号 1 电话住宿费用可住人数图3.7系统总体结构E-R图32 逻辑结构设计(1) 将图3。7总体概念结构ER图转化成关系模型.关系模型:学生(学号,id,姓名,性别,出生日期,专业,班级,联系方式,公寓号,寝室号)公寓(公寓号,id,楼层数,房间数,启用时间)寝室(寝室号,公寓号,id,可住人数,住宿费用,电话)交费(id,公寓号,寝室号,交费时间,交费类型,

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

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

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

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

13、2 公寓信息表的结构 编号 字符名称 数据类型 长度 说明1idint4记录编号,不允许空2公寓号nvarchar10公寓楼编号,主键3楼层数int4允许空4房间数int4允许空5启用时间smalldatetime4允许空6备注nvarchar50允许空表3.3 寝室信息表的结构编号字段名称数据类型长度说明1idint4记录编号,不空2寝室号nvarchar10主键3可住人数int4允许空4住宿费用float8允许空 5电话nvarchar10允许空6公寓号nvarchar10主键7备注nvarchar50允许空表3。4 交费信息表的结构 编号字段名称数据类型长度说明1idint4编号,主键2

14、公寓号nvarchar10允许空3寝室号nvarchar10允许空4交费时间smalldatetime4允许空5交费类型smalldatetime10允许空6金额nvarchar8允许空7备注nvarchar50允许空表3。5 来访信息表的结构 编号字段名称数据类型长度说明1idint4记录编号,主键2来访人姓名nvarchar10允许空3人数int4允许空4被访者姓名nvarchar10允许空5所属关系nvarchar10允许空6来访时间smalldatetime4允许空7结束时间smalldatetime4允许空8事由nvarchar50允许空9值班人nvarchar10允许空表3。6 操

15、作员信息表的结构编号字段名称数据类型长度说明1idint4编号,主键2操作员IDnvarchar10允许空3操作员姓名nvarchar10允许空4密码nvarchar10允许空5权限char6允许空6备注nvarchar50允许空四数据库实现4.1创建学生信息表createtableStudent创建学生信息表(idintnotnull,记录编号,不空Snonvarchar(30)primarykey,-学号,主键Snamenvarchar(20),-姓名Ssexchar(2)notnull,,-性别Sbirthsmalldatetime,出生日期Sdeptnvarchar(20),专业Scl

16、assnvarchar(20),班级Sphonenvarchar(20),-联系方式Sbuildnvarchar(10),-公寓号Sroomnvarchar(10),寝室号Sothernvarchar(50),-备注foreignkey(Sbuild)referencesBuilding(Sbuild),学生公寓关系FOREIGNKEY(Sroom,Sbuild)REFERENCESDorm(Sroom,Sbuild),-学生寝室关系)4。2创建公寓信息表createtableBuilding公寓信息表(idintnotnull,-记录编号,不空Sbuildnvarchar(10)primar

17、ykey,-公寓号,主键floornumint,-楼层数roomnumint,-房间数usetimesmalldatetime,-启用时间Bothernvarchar(50),-备注)4。3创建寝室信息表createtableDorm-寝室信息表(idintnotnull,-记录编号Sroomnvarchar(10),-寝室号Dnumint,可住人数Dfeefloat(8),-住宿费用Dphonenvarchar(10),-电话Sbuildnvarchar(10),公寓号Dothernvarchar(50),-备注primarykey(Sroom,Sbuild),-主键)4.4创建交费信息表c

18、reatetablePay交费(idintprimarykey,-记录编号,主键Sbuildnvarchar(10),-公寓号Sroomnvarchar(10),-寝室号paytimesmalldatetime,交费时间paytypenvarchar(10),交费类型Pfeefloat(8),金额Pothernvarchar(50),-备注foreignkey(Sroom,Sbuild)referencesDorm(Sroom,Sbuild),-交费公寓关系)4。5创建来访信息表createtableVisit来访登记表(idintprimarykey,-记录编号,主键Vnamenvarcha

19、r(10),-来访人姓名Vnumint,-来访人数Vnamednvarchar(10),-被访人姓名relatnvarchar(10),-所属关系Vtimesmalldatetime,-来访时间Vendsmalldatetime,-结束时间reasonnvarchar(50),-事由watchnvarchar(10),值班人)4.6创建操作员信息表createtableOperator操作员信息表(idintprimarykey,-记录编号,主键Oidnvarchar(10),操作员idOnamenvarchar(10),-操作员姓名Opassnvarchar(10),-密码Olimitcha

20、r(6),权限Oothernvarchar(50),备注)4。7关系图如下4。8插入数据-插入公寓楼insertintoBuildingvalues(0001,01,05,100,20001-2,无)insertintoBuildingvalues(0002,02,05,100,2001-42,无)insertintoBuildingvalues(0003,03,06,150,2002612,无)insertintoBuildingvalues(0004,04,05,100,2005-10-2,无)insertintoBuildingvalues(0005,05,05,100,2007-112

21、,无)selectfromBuilding-插入寝室信息insertintoDormvalues(0001,1-101,4,1000,45216535,01,无)insertintoDormvalues(0002,2101,4,1000,45216534,01,无)insertintoDormvalues(0003,1-101,4,1000,45256535,02,无)insertintoDormvalues(0004,2101,4,1000,45816535,02,无)insertintoDormvalues(0005,1-101,6,1000,45258735,03,无)insertint

22、oDormvalues(0006,2101,6,1000,41256535,03,无)select*fromDorm-插入学生信息insertintoStudentvalues(0001,20100001,张一,男,19911-2,信科,一班,45648922,01,1101,无)insertintoStudentvalues(0002,20100002,张二,男,1991-10-2,信科,二班,45656922,01,2-101,无)insertintoStudentvalues(0003,20100003,张三,男,1992-12,通信,一班,45848922,02,1-101,无)ins

23、ertintoStudentvalues(0004,20100004,张四,男,19941-12,计本,三班,45588922,02,1101,无)insertintoStudentvalues(0005,20100005,张五,女,199152,计本,一班,45658922,03,1-101,无)insertintoStudentvalues(0006,20100006,张六,女,1991112,通信,一班,45468922,03,2-101,无)insertintoStudentvalues(0007,20100007,张七,女,1990-4-2,信科,一班,45596922,03,110

24、1,无)insertintoStudentvalues(0008,20100008,张八,女,199131,信科,二班,45648542,03,2-101,无)insertintoStudentvalues(0009,20100009,张九,男,199129,信科,一班,41248922,01,1-101,无)insertintoStudentvalues(0010,20100010,张十,男,199135,通信,一班,45641522,02,1-101,无)select*fromStudent-插入缴费信息insertintoPayvalues(0001,01,1-101,201051,水电

25、费,86,无)insertintoPayvalues(0002,01,2101,2010-51,水电费,70,无)insertintoPayvalues(0003,02,1101,201051,水电费,56,无)insertintoPayvalues(0004,03,1101,201051,水电费,90,无)insertintoPayvalues(0005,03,2101,2010-51,水电费,80,无)selectfromPay-插入来访信息insertintoVisitvalues(0001,李四,1,张四,朋友,2010-5-3,201053,玩,王五)insertintoVisitv

26、alues(0002,赵六,2,张二,同学,2010-7-3,2010-75,玩,王五)selectfromVisit插入操作员信息insertintoOperatorvalues(0001,425001,李飞,001240,,)selectfromOperator4。9设置触发器createtriggerInsert_or_Update_DnumbeforeinsertorupdateonDormforeachrowasbeginif (new。Sbuild=01)and(new。Dnum4)thennew。Dnum:=4;endif;end;对寝室人数设置触发器,当人数超过4时自动改为4,

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

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 教育专区 > 其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服