《酒店客房管理系统》.doc

上传人:精*** 文档编号:859500 上传时间:2023-09-23 格式:DOC 页数:25 大小:829.05KB
下载 相关 举报
《酒店客房管理系统》.doc_第1页
第1页 / 共25页
《酒店客房管理系统》.doc_第2页
第2页 / 共25页
《酒店客房管理系统》.doc_第3页
第3页 / 共25页
《酒店客房管理系统》.doc_第4页
第4页 / 共25页
《酒店客房管理系统》.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

1、浙江金融职业学院 数据库原理与应用期末课程项目考核报告 课程项目考核报告(1) 课程项目考核要求学生自主调研分析确定一个应用系统作为考核项目,并描述项目背景、画出系统功能结构图、完成概念结构设计(用E-R图描述)、表设计(五张表,每张表都需定义主键);利用SQL Server创建相应的库、表,再增加必要的约束,并分别利用T-SQL命令向表中插入记录,根据要求设计视图、触发器、存储过程等。二、课程项目考核环境PC机+Windows XP操作系统+SQL Server 2000;三项目背景(共5分)随着计算机技术的普及及应用,越来越多的商家开始对自己的业务采用计算机管理。一个好的管理系统能帮助我们

2、更好的管理各项业务,而只有不断提高经营效率、更新管理模式、及时把握企业的经营状况、先人一步制订经营决策,才能提高自身的竞争能力。在应用之余,总希望有好的业务管理软件来帮助我们提高工作效率和效益。由此,我们特开发这个客房管理系统,客房管理系统的开发充分利用了计算机信息技术提高了客房的管理水平、服务水平。系统实现了顾客住宿登记、退房结帐、查询统计等功能,可明显提高对住宿人员住宿的有效管理。将动态实时的住宿登记、销售报表等有机地联系在一起,对客房进行全方位的管理。而本软件主要是为某小型酒店定制开发的。四、系统功能结构(共5分)系统主要实现对客房的管理功能。主要有客户登记、房间管理、客户查询、订房管理

3、、收入统计、操作员信息管理。其中各部分及其包括的具体功能如图1所示。操作员信息管理1.1客房管理系统系统功能图精确查询概况查询删除操作员修改密码添加操作员客户登记退房结算订房管理增加修改订房信息房间查询收入统计收入统计房间管理增加房间修改房间删除房间客房管理系统五、概念结构设计(共10分)根据对客房管理系统(KFGL)分析和设计,确定数据库的实体主要有客户实体、客房实体、管理员实体、账单实体等,各实体之间的管理系统如图1.2所示。nm预计退房时间订房编号客户身份证号性别年龄姓名客户编号密码职称操作员编号操作员姓名操作员房号账单编号总费用住店天数结算账单结算房间价格房间类型房号房间状态客房押金住

4、店时间离店时间1.2客房管理系统E-R图1入住登记1n111返回 退房六、数据库设计(各10分)(1)表设计(不少于4张表,且需在数据库中完成所有表的设计)根据E-R图,将图转换为关系模型即:将实体、实体的属性和实体之间的联系转换为关系模式,然后对数据模型进行优化得到如下关系数据表。客户:客户编号,姓名,性别,年龄,身份证号,房号,账单编号客房:房号,房间类型,房间状态,房间价格预订房:订房日期,客户编号,客户姓名,客户电话,入住时间,预计退房时间,操作员编号操作员:操作员编号, 操作员姓名,职称,密码结算账单:账单编号,押金,入住日期,退房日期,住房天数,房间价格,总费用,操作员编号,房号关

5、系数据表确定后要进行数据表的逻辑结构设计,即定义关系数据表中字段名称、数据结构、是否允许为空、关键字、说明等。一、客户表用于存放客户的入住信息,例如:客户名,房号等。字段名称字段含义数据类型长度备注k_id客户编号char10唯一,且不可为空,主键k_name姓名char20k_sex性别char2k_age年龄smallint默认k_sid身份证号char25f_name房号char10z_id账单编号char10表2.1 kehu(客户表)二、客房表 用于存放客房的相关信息,例如:房号,房间类型,房间状态等。字段名称字段含义数据类型长度备注f_name房号char10唯一,且不可为空,主键

6、f_lx房间类型char15f_pc房间价格money默认f_zt房间状态char10表2.2 kefang(客房表)三、结算账单表 结算帐单表用于存放客户消费的信息。字段名称字段含义数据类型长度备注z_id账单编号char10唯一,且不可为空,主键f_name房号char10z_yj押金money默认z_rdate入住时间datetime默认z_ldate离店时间datetime默认z_day住店天数int默认f_pc房间价格money默认z_fine总费用money默认c_id操作员编号char10表2.3 zhangdan(结算账单表)四、操作员表 用于存放操作员的的信息,例如:操作员的

7、编号,密码等。字段名称字段含义数据类型长度备注c_id操作员编号char10唯一,且不可为空,主键c_name操作员姓名char20不可为空c_zc职称char20c_mm密码char15表2.4 caozy(操作员表)五、预订房信息表 用于存放客户预定房间的信息,例如:客户的订房日期,客户姓名等。字段名称字段含义数据类型长度备注d_day订房日期datetime默认d_kid预约客户编号char10d_name预约客户姓名char20z_rdate入住时间datetime默认d_date预计退房时间datetime默认d_id订房编号char20唯一,且不可为空,主键d_tel订房客户电话c

8、har20c_id操作员编号char10表2.5 dfxx(订房信息表)2.6 kehu(客户表)2.7 caozy(操作员表)(2) 视图设计(至少一个视图)使用查询分析器在KFGL数据库中建立有客户的姓名、编号、房号、房间类型和房间价格信息的视图kehu1_view。 要求k_name(姓名)字段非空。1、利用视图创建向导 创建视图视图定义,如图3.1所示:图3.12、利用TSQL的CREATE VIEW语句 创建视图视图定义,如图3.2所示:图3.23、利用企业管理器 创建视图视图定义,如图3.3所示:图3.34、视图目录视图目录,如图4.1.1所示:图4.1.1执行select* fr

9、om kehu1_view,查询视图结果如图4.1.2:如图4.1.2(3) 约束设计 (至少完成一个主键约束、Check约束条件、一个外健约束)1、主键约束定义:(使用T_SQL语句定义)为kehu表创建主键,主键字段为k_id。如图4.1.1与4.1.2所示:图 4.1.1图 4.1.22、Check约束条件 (使用T_SQL语句定义)在KFGL数据库的kehu 表中建立k_sex的check约束,要求k_sex只能输入 “男”或“女”。Check约束设计如图4.2.1与4.2.2所示:图4.2.1图4.2.23、外键约束定义: (使用企业管理器定义)建立zhangdan表中 z_id (

10、账单编号)和kehu表中z_id (账单编号)之间的参照关系,如图4.3:图4.34、DEFAULT约束设计(使用企业管理器定义)在KFGL数据库中为kehu 表建立DEFAULT约束,约束字段为:k_sex列的默认值为“男”。其设计如图4.4所示:图4.4总关系图:(4) 存储过程设计(至少一个带输入参数的存储过程)1、存储过程设计用CREATE PROCEDURE语句创建存储过程getkehu ,要求根据k_id(客户编号)返回客户的k_name(姓名)、k_sid(身份证号)。存储过程定义,如图5.1所示:create proc getkehuk_id char(10),k_name c

11、har(20) output,k_sid char(25) outputasselect k_name=k_name,k_sid=k_sid from kehu where k_id=k_id图5.1带输入参数存储过程设计执行编号为客户编号为KH120的存储过程查询的结果如图5.2所示:declare k_name char(20),k_sid char(25)exec getkehuKH120,k_name output,k_sid outputprint 客户编号为KH120的人的房号是+k_nameprint 客户编号为KH120的人的是+k_sid图5.2执行结果2、存储过程设计用CR

12、EATE PROCEDURE语句创建存储过程getkefang,要求根据f_lx(房间类型)返回房间的f_name(房名)、f_pc(房间价格)、f_zt(房间状态)。存储过程定义,如图5.3所示:create proc getkefangf_lx char(15),f_name char(10) output,f_pc money output,f_zt char(10) outputasselect f_name=f_name,f_pc=f_pc ,f_zt=f_zt from kefang where f_lx=f_lx图5.3带输入参数存储过程设计执行房间类型为单人房的存储过程查询的结

13、果如图5.4所示:declare f_name char(10),f_zt char(10)exec getkefang 单人房,f_name output,f_zt outputprint 单人房的房号是+f_nameprint 单人房的状态是+f_zt图5.4执行结果(5) 触发器设计(至少用到一张临时表)1、 触发器设计:(1)、使用T-SQL的CREATE TRIGGER语句在KFGL数据库的kehu表上创建一个删除触发器kehu_ delete,当在kehu表中删除一条记录时,激活该触发器,显示被删除客户的姓名和身份证号和房间号。触发器定义如图6.1.1所示:create trigg

14、er kehu_deleteon kehuinstead of deleteasdeclare k_id char(10) select k_id=k_id from deleted print instead of触发器开始执行. print k_id + 的记录不允许删除.图6.1.1 (2)、输入删除记录验证该触发器的运行。图6.1.22、 触发器设计: (1)、使用T-SQL的CREATE TRIGGER语句在KFGL数据库的caozy表上创建一个更新触发器caozy_updata,当在caozy表中更新操作员姓名时,激活该触发器,显示被更改操作员的姓名。触发器定义如图6.2.1所示:

15、create trigger caozy_updateon caozyfor updateasif update(c_name)begin declare new char(20),old char(20),msg char(60) select new=c_name from inserted select old=c_name from deleted set msg=本表中的操作员姓名+old+被改为+new+. raiserror(msg,16,2) end图6.2.1(2)、验证是否成功修改了触发器,将姓名为“李丽”的操作员改成姓名“张丽” 。图6.2.2所示图6.2.2(3)、查看

16、触发器的相关信息,包括名称、所有者、创建日期、类型。图6.2.3所示图6.2.3(6) 多表(复杂)查询设计1、 查询客户名为“云溪”的人的房号、房间类型和房间价格,设计如图7.1所示:select f_name,f_lx,f_pc from kefang where f_name=(select f_name from kehu where k_name=云溪)图7.12、查询账单编号为“100001”的客户所住的房间类型、房间价格、房间状态,设计如图7.2所示select f_lx as 房间类型,f_pc as 房间价格,f_zt as 房间状态 from kefang where f_

17、name=(select f_name from zhangdan where z_id=100001)图7.2(7) 数据库创建数据库创建参数如表8所示,创建如图8.1、8.2所示表8 数据库参数参数参数值数据库名KFGL逻辑数据文件名KFGL_Data数据物理文件名KFGL_Data_MDF数据文件的初始大小2MB数据文件的最大大小10MB数据文件增长长度10%事务日志逻辑文件名KFGL_Log事务日志物理文件名KFGL_Log_LDF日志文件初始大小1MB日志文件增长幅度10%图8.1图8.2七、课程学习小结(共10分)(1)课程学习的体会;刚开始几天,我查找了有关客房管理系统的资料,对

18、课程进行文档的设计,还没有开始编程设计实现,对这些资料我还只能是大概的了解,并笼统的介绍了课程设计的背景及相关课题的基本情况和基本思路;接下来,我对宾馆信息管理系统的需求分析及各个功能模块分析,并详细阐述了系统的开发任务及要求。设计管理流程图以及做图表查询。 在做这些功能的测试时,经常出错,让人感到很愤怒,但是,我还得做下去,所以只能一步一步来。总之,我在这次综合实验设计,学到的还是蛮多的,能够将以前所学知识进行应用,加深我对SQL Server 2000的了解和应用,我们正是需要这样综合实验设计,来巩固我们所学知识。(2)课程学习的收获;通过一学期的学习,我对数据库原理与应用有了更多的了解,

19、收获的挺多的。不但学会了利用连接查询和嵌套查询来进行多表查询,也学习了用企业管理器和T-SQL来进行视图、存储过程以及触发器的建立,特别是在利用T-SQL语句来建立表时, 熟悉了语句结构,字段类型等。同时,也学会了如何来创建数据库中各表之间的各种约束,在学习这一章时,总不分清何为主键,何为外键,后来老师很简单简洁的告诉我们如何来区分主外键。有了主外键的关系,我们才能更好地建立好表之间的关系与约束。在学习视图的时候,才明白视图是一个虚拟表,可以将多个表中的关系集中成一个虚拟表上,然后再进行查询,这样一来使得表使用既简洁又方便。在学习触发器的那章时,我们知道了触发器的概念,使用触发器的优点。我们在

20、学习之后能根据给定的应用需求,通过企业管理器和T-SQL语句来使用触发器了。平常当中数据的管理与维护也是非常重要的,在课程的最后,我们也学习了数据库备份和恢复的方法,同时介绍了数据库分离以及附加的方法,具体讲解了利用企业管理器、数据库备份和恢复向导备份和恢复数据库,以及利用T_SQL语句来进行备份恢复等内容。通过这学期的学期,我们可能独自设计一个小系统了,我们的动手能力与思维能力都有了很大的提升。(3)对课程教学的改进建议;徐老师的教学方式,我觉得挺好的,简单易懂。上课之间也与同学有互动,当然,自己也被抽到了好多次。在练习中遇到了问题,老师也会来耐心的帮我们来解答。除了课本的内容外,老师也会引入课外的小知识,让我们学的更广一些。但是,我还觉得老师的教学进度分配上有一点小问题。我们更希望老师能在简单的地方讲的稍微快一点,感觉难的地方多引用实例来进行讲解。说实话,这个课程跟我们高中学的VB或者C语言有那么一点相似之处,所以在学的过程中,接受的还是很快的。所以我们能再接受点没学过的内容,再难点的内容。希望以后能接着与老师进行很好的沟通。- 25 -

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 学术论文 > 毕业设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922