宾馆住宿管理系统 1.docx
《宾馆住宿管理系统 1.docx》由会员分享,可在线阅读,更多相关《宾馆住宿管理系统 1.docx(20页珍藏版)》请在冰豆网上搜索。
宾馆住宿管理系统1
江西理工大学应用科学学院信息工程系课程设计说明书
课程名称:
数据库原理与技术
课题名称:
宾馆住宿管理系统
姓名:
班级:
班学号:
姓名:
班级:
班学号:
姓名:
班级:
班学号:
姓名:
班级:
班学号:
完成时间:
2012/7/3
指导老师:
指导老师评语:
得分:
目录
1系统概述1
1.1现状分析1
1.2系统目标1
2系统数据分析1
2.1数据库需求分析1
2.2数据库概念结构分析………………………………………………………………….2
2.3数据库逻辑结构分析4
2.4数据字典4
3数据操作部分5
3.1数据库创建5
3.2数据库的的更新操作7
3.3数据库的查询操作8
3.4数据库的备份和还原操作9
4系统规范化设计11
4.1数据库表的规范化设计11
4.2数据库的完整性设计11
4.3数据库的维护和安全性设计12
5总结14
5.1收获14
5.2不足和改进15
参考文献15
致谢15
1系统概述
1.1现状分析
随着外出人流因为生活,商业等方面的增多,宾馆的发展也日益的迅猛,由于顾客量的增多,客户登记时间的广泛,宾馆收益的日益增多,仅仅依靠手写的老式输入记账法,是无法满足宾馆的需求的,同时这也是浪费人力和时间的。
开发这个数据库,目的就在于能够更好的对客房的预订情况,空余情况,顾客信息,顾客住宿时间和所用费用,客房房态等进行精确的查询,以便更好的完善和更新宾馆信息系统。
1.2系统目标
建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。
从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。
面对酒店行业的高速发展和酒店行业信息化发展的过程中出现的各种情况,酒店客房管理系统在实施后,应能达到以下目标:
(1)实现多点操作的信息共享,相互之间的信息传递准确、快捷和顺畅。
(2)服务管理信息化,可随时掌握客人住宿、客房状态、客人挂帐等情况。
(3)系统界面友好美观,操作简单易行,查询灵活方便,数据存储安全。
(4)客户档案、挂帐信息、预警系统的结合,可对往来可户进行住宿监控,防止坏帐发生。
(5)通过酒店客房管理系统的实施,可逐步提高宾馆的管理水平,提升员工的素质。
(6)系统维护方便可靠、有较高的安全性,满足实用性、先进性的要求。
2系统数据分析
2.1数据库需求分析
本系统对《酒店管理系统》的开发需求进行描述,目的是明确酒店管理系
统对用户的功能要求.该文档对《酒店管理系统》做全面细致的用户需求分析,明确所要开发的系统应有的功能、性能与界面,使有关人士能够清楚的了解用户的需求,并在此基础上进一步提出概要设计说明书和完成后续设计与开发工作。
系统功能模块图:
2.2数据库概念结构分
概念性信息模型是一种面向问题的数据模型,是按照用户的观点来对数据和信息建模。
它描述了从用户角度看到的数据,它反映了用户的现实环境。
最常用的表示概念性数据模型方法,是实体——联系方法(Entity-RelationshipApproach)。
这种方法用E——R图描述现实世界中的实体,而不涉及这些实体在系统中的实现方法。
用这种方法表示的概念性数据模型又称为ER模型。
ER模型包含“实体”、“联系”、“属性”等三个基本成份。
2.1E-R图
各实体之间的E-R图,如图2-1所示。
图2-1实体之间的E-R图
2.2实体及属性的定义
2.2.1类别实体E-R图:
客户信息实体的E-R图,如图2-2所示。
图2—2客户信息实体的E—R图
客房信息实体的E-R图,如图2-3所示。
图2—3客房信息实体的E—R图
客户住宿实体的E-R图,如图2-4所示。
图2—4客户住宿实体的E—R图
客房物品信息实体的E-R图,如图2-5所示。
图2—5客房物品实体的E—R图
2.3数据库逻辑结构分析
具体的基本E-R图向关系模型的转化结果如下:
客户Travellers(Tno,Tname,Tsex,Tid)
客房Rooms(Rno,Rstyle,Rprice,Rstate,Rtel)
客户住宿Living(Tno,Rno,Tcomedate,Tleftdate,Ttime,Tamount)
客房物品Roomitem(Rno,Ritemno,Ritemname,Ritemprice,Ritemstate,Ritemnum)
2.4数据字典
表2-1. 客户(Travellers)信息:
表中列名
数据类型
可否为空
说明
Tno
Int
Notnull(主键)
客户编号
Tname
Char(10)
Notnull
客户姓名
Tsex
Char
(2)
Notnull
客户性别
Tid
Char(20)
Notnull
客户身份证号
表2-2.客房(Rooms)信息:
表中列名
数据类型
可否为空
说明
Rno
Int
Notnull(主键)
客房号
Rstyle
Char(10)
Notnull
客房类型
Rprice
Int
客房单价
Rstate
Char(10)
客房状态
Rtel
Char(15)
客房电话
表2-3.客户住宿(Living)信息:
表中列名
数据类型
可否为空
说明
Tno
Int
Notnull(主键)
客户编号
Rno
Int
Notnull(主键)
客房号
Tcomedate
Datetime
Notnull
入住日期
Tleftdate
Datetime
Notnull
结算日期
Ttime
Int
住宿时间
Tamount
Int
房费
表2-4.客房物品(Roomitem)信息:
表中列名
数据类型
可否为空
说明
Rno
Int
Notnull
客房号
Ritemno
Char(10)
Notnull(主键)
客房物品编号
Ritemname
Char(20)
Notnull
客房物品名称
Ritemstate
Char(10)
物品状态
Ritemprice
Int
客房物品单价
Ritemnum
Int
物品数量
3数据操作部分
3.1数据库创建
(1)客户基本信息表Travellers的建立。
Createtabletb_Travellers(
TnointCheck(Tno>=0andTno<=9999),
Tnamechar(10)notnull,
Tsexchar
(2)Check(Tsexin(‘男’,’女’)),
Tidchar(20)notnull,
Primarykey(Tno)
);
(2)客房基本信息表Rooms的建立。
Createtabletb_Rooms(
Rnointnotnull,
Rstylechar(10)notnull,
Rpriceint
Rstatechar(10)
Rtelchar(15)
PRIMARYKEY(Rno)
);
(3)客房物品信息表Roomitem的建立。
Createtabletb_Roomitem(
Ritemnointnotnull,
Rnointnotnull,
Ritemnamechar(20)notnull,
Ritempriceint
Ritemstatechar(10)
Ritemnumint
Primarykey(Ritemno)
Foreignkey(Rno)referencestb_Rooms(Rno)
);
(4)客户住宿信息Living的建立。
Createtabletb_Living(
Tnointnotnull,
Rnointnotnull,
Tcomedatedatetimenotnull,
Tleftdatedatetimenotnull,
Ttimeint
Tamountint
Primarykey(Tno,Rno),
Foreignkey(Tno)referencestb_Travellers(Tno),
Foreignkey(Rno)referencestb_Rooms(Rno)
)
关系图:
表3.1.1客户住宿信息Living
表3.1.2客户基本信息表Travellers
表3.1.3客房基本信息表Rooms
表3.1.4客房物品信息表Roomitem
3.2数据库的的更新操作
1.在Travellers中插入一条客户基本信息(’120115’,’黄强’,’男’,’360702199105213331’)
insert
intoTravellers
values(‘120115’,’黄强’,’男’,’360702199105213331’)
2.将客户120113的性别改为男
updateTravellers
setTsex=’男’
whereTno=’120113’
3.3数据库的查询操作
1.查询性别为’男’的所有客户
select*
fromTravellers
whereTsex=’男’
2.查询住宿时间为一天的客户
selectTno
fromLiving
whereTime=1
3.4数据库的备份和还原操作
1、备份数据库选择学生信息管理数据,右键选择“所有任务”,然后选择“备份数据库”,弹出对话框如图3.4.1所示,点击“添加”,弹出对话框如图3.4.2所示,选择要保存备份文件的路径和指定文件名,点击“确定”完成备份工作。
图3.4.1备份数据库
图3.4.2选择备份路径
2、还原数据库首先确保“数据库”下有“宾馆住宿管理”数据库,如果没有建立一个以“宾馆住宿管理”命名的数据库,然后选择“宾馆住宿管理”,右键选择“所有任务”,然后点击“还原数据库”,弹出对话框如图3.4.3所示,选择“从设备”还原,点击“选择设备”,谈车对话框如图3.4.4所示,点击“添加”,出现对话框如图3.4.5所示,选择数据库的备份文件,点击“确定”完成还原数据库的工作。
图3.4.3还原数据库
图3.4.4选择还原设备
图3.4.5选择还原路径
4系统规范化设计
4.1数据库表的规范化设计
此宾馆住宿管理系统属于第三范式。
4.2数据库的完整性设计
设计宾馆住宿信息表的触发器,防止数据库的异常操作。
用企业管理器为表Travellers创建一个级联更新触发器trrigger_s。
要求:
若修改Travellers表中一客户的编号,则表Travellers中与该客户相关的编号自动修改。
1、启动企业管理器,选择数据库宾馆住宿管理,将其展开,单击“表”对象。
2、打开“触发器属性”对话框。
在右窗格中,用鼠标右键单击表对象Travellers,在打开的快捷菜单中选择“所有任务”→“管理触发器”选项,打开“触发器属性”对话框,如图4.2.1所示。
图4.2.1触发器属性图
3、创建SQL语句。
在“文本”输入框内输入下面语句:
createtriggertrigger_sonTravellersforupdateas
ifupdate(Tno)begin
declare@Tno_newchar(4),@Tno_oldchar(4)
select@Tno_new=Tnofrominserted
select@Tno_old=Tnofromdeleted
4、单击“检查语法”按钮,检查语法正确、
5、单击“确定”按钮,保存创建的触发器。
图4.2.2创建触发器
4.3数据库的维护和安全性设计
设计user1对表Travellers的查询访问权限,防止非法的数据库操作。
在企业管理器中控制用户访问权限
(1)展开宾馆住宿管理数据库,选择“用户”,右键选择“新建数据库用户”,弹出如图4.3.1所示的对话框。
图4.3.1新建用户
(2)在登录名中选择“新建”,在“名称”中填写“user1”,身份验证选“SQLServer身份验证”,密码为“1”,数据库选择“宾馆住宿管理”,如图4.3.2所示,点击“确定”,重新输入一遍密码,如图4.3.3所示,点击“确定”。
图4.3.2新建登录
图4.3.3确认密码
2、在查询分析器中
控制用户访问权限
把查询Travellers表的权限授给用户user1
grantselect
onTravellers
touser1
验证结果如图4.3.4所示:
5总结
5.1收获
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,学以致用,自我创新,从中在学到用,从用又到学,不断修改,系统更新。
5.2不足和改进
在此次课程设计中,我们存在一些不足,其中我们对现实生活中的学生信息管理系统不是很了解,以至于在分析系统功能结构图时,遇到较多问题;其次,我们对专业课程了解学习不是很深,导致我们在设计过程中常遇到问题,如在画E-R图时,常会混淆实体与实体之间的联系类型;另外,在团队合作方面,小组成员讨论问题时,有时思想不一致,未能及时有效的解决该问题。
对于这些不足,我觉得要在以下几个方面加以注意:
首先,在学习专业课的时候要注意理论联系实际。
注意将课本上的知识应用到日常的操作中,真正做到学以致用。
只有这样,才能做到目的明确,才能有足够的学习动力。
其次,在学习过程中要经常与同学、老师进行交流,讨论所遇到的问题,并一起解决。
在讨论中解决问题,会节约很多时间,并且在交流的过程中,我们也可以学到更多的东西。
参考文献
(1)王珊,萨师煊等编著《数据库系统概论》(第4版).高等教育出版社
(2)邓小鸿编著.《数据库原理及应用实验指导》江西理工大学应用科学学院出版
致谢
本系统在设计和实现的过程中,得到魏炳辉师的大力支持和帮助。
在系统实现阶段,魏老师从需求分析一直到写论文,对我们严格要求,精心指导使我学到很多东西,并指出本系统的不足之处,提出我继续研究的方向。
此外,在本系统的实现阶段,得到其他同学的多次帮助和支持,还有其他组员的多次讨论,使我从中得到了很多的启发。
在此一并感谢