酒店管理系统数据库的设计与实现设计.docx
《酒店管理系统数据库的设计与实现设计.docx》由会员分享,可在线阅读,更多相关《酒店管理系统数据库的设计与实现设计.docx(20页珍藏版)》请在冰豆网上搜索。
酒店管理系统数据库的设计与实现设计
酒店管理系统数据库的设计与实现设计
课程设计说明书
(数据库系统)
题目:
酒店管理系统
院系:
计算机科学与工程学院
专业班级:
电子信息技术及仪器11-2
安徽理工大学课程设计(论文)任务书
计算机科学与工程院系教研室
学号
学生姓名
专业(班级)
电子仪器11-2班
设计题目
酒店管理系统数据库的设计与实现
设
计
技
术
参
数
1、概念结构设计:
绘制酒店管理系统详细的E-R图。
2、逻辑结构设计:
将E-R图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。
3、物理结构设计:
选定实施环境,存取方法等。
4、数据实施和维护:
用DBMS建立数据库结构,加载数据,实现各种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简单的维护操作。
设
计
要
求
通过设计一个完整的数据库,使学生掌握数据库设计各阶段的输入、输出、设计环境、目标和方法。
熟练掌握两个主要环节——概念结构设计与逻辑结构设计;熟练的使用SQL语言实现数据库的建立、应用和维护,对数据库进行各种操作。
工
作
量
各步骤要清晰明了,每一步要有详细注释文字,系统分析是要包含数据字典等表格,系统设计时要有详细的E-R图,系统操作时要有完备的截图显示
工
作
计
划
5月中旬为数据库大作业做好准备
5月下旬做好数据库的基本设计
6月上旬完成数据库的后绪工作与完善
参
考
资
料
[1].数据库系统概论.萨师煊王珊高等教育出版社1999年第3版
指导教师签字
教研室主任签字
年月日
指导教师评语:
成绩:
指导教师:
年月日
安徽理工大学课程设计(论文)成绩评定表
摘要
随着近几年我国经济持续稳步的发展,人们的物质生活不断提高,旅游出行已成为了人们生活中重要的一部分,因此社会中的酒店等行业得到了极大的发展。
对于一个酒店而言,重要的不仅仅有服务、住宿条件、价格等,还有一个重要因素及时酒店管理,酒店管理的好坏直接影响到酒店的效率与效益,而在酒店管理中酒店管理系统又起着举足轻重的作用,因此拥有一个简便、快捷、高效的酒店管理系统对酒店来说是非常有必要的。
1系统分析1
1.1问题描述1
1.2需求分析1
2系统设计4
2.1概念结构设计4
2.2逻辑结构设计5
2.3物理结构设计7
3系统实现8
3.1建立数据库8
3.2功能操作9
3.3操作显示14
4总结16
4.1设计体会16
4.2系统改进16
参考文献17
1系统分析
1.1问题描述
题目名称:
酒店管理系统数据库的设计与实现
描述:
设计一个酒店管理系统,实现下列功能:
1.酒店客房信息维护(包括录入,修改和删除);
2.客人信息维护(包括录入,修改和删除);
3.入住信息登记;
4.退房信息登记;
5.客人消费信息查询;
1.2需求分析
需求分析的任务是调查应用领域,对应用领域中的信息要求和操作要求进行详细分析,形成需求分析说明书。
重点是调查,收集与分析用户在数据管理中的信息要求,处理要求,数据的安全性与完整性要求。
为了完成需求分析的任务,要详细调查待开发的数据库应用部门的情况,了解原系统工作概况,分析用户的各种需求,在此基础上确定新系统的功能。
新系统必须考虑今后的扩充和改变,不能仅仅按当前应用需求来设计数据库。
分析过程为:
1.询问调查并分析用户需求;
2.了解分析酒店情况,与客人需求结合起来;
3.根据分析做出合理数据库的设计方案;
1.2.1功能分析
酒店管理系统就是对客人以及酒店住房进行管理的数据库系统,应该具备以下功能:
1.对客人基本信息进行录入修改和删除等基本操作;
2.对客房信息进行录入修改和删除等基本操作;
3.对客人与客房间的联系信息登记;
4.对客人与他的消费信息的统计;
功能模块包括:
1.登记信息模块(将客人的编号、姓名、性别、证件号存储在系统中)
2.查询功能模块(包括客人信息查询、客人与房间对应关系查询、房间,消费信息查询)
3.退房功能模块(将客人信息从系统中删除并还原房间状态)
1.2.2数据字典
表1.1.数据项
数据名
含义说明
类型
长度
客人编号
标志每位客人
int
4
客人姓名
标志每位客人名称
char
15
客人性别
标志每位客人性别
char
6
客人证件号
标志每位客人特征
int
18
入住时间
标志客人的入住
char
20
退房时间
标志客人的离开
char
20
入住天数
标志客人的入住天数
char
10
房间编号
标志每个房间
int
4
房间状态
标志房间状态
char
4
房间类型
标志房间特征
char
15
房间单价
标志房间价格
float
4
房间消费
标志房间消费
float
4
用餐消费
标志客人的用餐消费
float
4
其他项目消费
标志客人的其他消费
float
4
总消费
标志客人的总消费
Float
4
表1.2数据流
数据流名
说明
数据来源
数据去向
组成
客人登记
把客人信息输入
客人
房间
包括姓名性别证件号等信息
客人退房
把客人信息删除
房间
删除
包括姓名性别证件号等信息
表1.3数据结构
数据结构名
含义说明
组成
客人
信息输入与删除的对象
客人编号姓名性别证件号
房间
客人新存储的载体
房号房间类型状态价格
消费
客人消费信息存储
客人各类消费信息统计
表1.4数据存储
数据存储名
说明
组成
登记
客人的基本信息输入
客人编号姓名性别证件号
退房
客人基本信息删除
客人编号姓名性别证件号
表1.5处理过程
处理过程名
说明
输出
处理
登记处理
将客人信息输入系统
输入信息
将客人的基本信息输入
退房处理
将客人信息从系统中删除
删除信息
将退房客人的信息删除
结账处理
将客人的消费信息统计并打印
输出信息
将客人的消费信息输出
2系统设计
2.1概念结构设计
概念结构设计就是将需求分析得到的应用需求抽象为信息结构。
设计概念结构通常有四类方法:
自顶向下,自底向上,逐渐扩张以及混合策略。
本教学系统采用的是自底向上的方法。
即首先定义全局的概念结构的框架,然后逐步细化。
根据自顶向上地进行需求分析然后再自底上上地进行概念设计。
2.1.1数据抽象与局部视图设计
概念结构是对现实世界的一种抽象。
所谓抽象是对实际人物事和概念进行人为处理,抽取所关心的共同特征,忽略非本质的细节并把这些特征用各种概念精确的加以描述。
1.分类
客人1客人2客人3……客房1客房2客房3……
2.聚集
2.1.2E-R图
1.全局E-R图
2.1.视图集成
视图集成分为两种方式:
1.多个分E-R图一次集成;
2.逐步集成,用累加的方式一次集成两个分E-R图;
集成步骤:
1.合并;
2.修改与重构;
2.2逻辑结构设计
逻辑结构设计就是把概念结构设计阶段设计好的基本E-R图转换为与选用DBMS产品所支持的数据模型相符合的逻辑结构。
2.2.1E-R图向关系模型的转换
客人(客人编号,姓名,性别,证件号)
客房(房号,房间类型,单价,状态)
入住(客人编号,房号,入住时间,退房时间,入住天数)
消费(客人编号,房间消费,用餐消费,其他各项消费,总消费)
2.2.1数据库的结构
表2-1客人表的结构
字段名
数据类型
长度
约束
描述
客人编号
Char
10
主键
客人编号
客人姓名
char
15
不为空
客人姓名
客人性别
char
4
不为空
客人性别
证件号
Char
20
不为空
身份证号
表2-2客房表的结构
字段名
数据类型
长度
约束
描述
房号
Char
4
主键
客房编号
状态
char
4
不为空
是否为空
类型
char
15
不为空
房间类型
单价
Float
4
不为空
房间每天价格
表2-3入住表的结构
字段名
数据类型
长度
约束
描述
房号
Char
5
主键
客房编号
客人编号
char
10
不为空
客人编号
入住时间
char
20
不为空
客人入住登记时间
退房时间
Char
20
可为空
客人退房时间
入住天数
Int
2
可为空
客人入住天数
表2-4消费表的结构
字段名
数据类型
长度
约束
描述
客人编号
Char
10
主键
客人编号
房间消费
Smallint
4
不为空
入住房间费用
用餐消费
Float
4
可为空
客人用餐消费
其他项目消费
Float
4
可为空
游泳健身等项目
总消费
Float
4
不为空
客人总消费
2.3物理结构设计
为一个给定的逻辑数据模型选取一个最适应用的物理结构的过程,就是数据库的物理结构设计。
3系统实现
3.1建立数据库
3.1.1建立客房信息,客人信息,入住信息,消费信息表四个数据表
1.利用SQLserver2008R2创建新数据库“酒店管理系统表”
2.开始新建四个表:
客房信息表
客人信息表
入住信息表
消费信息表
3.设置外键
3.2功能操作
3.1.1查询酒店当前客房信息,客人信息,入住信息,消费信息
显示结果见3.3
3.1.2查询当前所有客人在酒店基本信息
显示结果:
3.1.3查询某客人当前消费情况(例如客人张强)
显示效果:
续(假如张强现在在酒店用餐花费125.5元,游泳等其他项目花费花了285.8元,需更新他的消费记录)即:
显示效果为:
再次查询结果变为:
3.1.4入住登记(例如新客人王明,住房要求豪华总统房,入住4天,提供用餐,游泳健身等项目(另收费))。
1.首先根据客人的需求查看客房信息(看是否有空的豪华总统房)
显示结果只有一间:
2.再根据客人选择的房间和要求,办理客人的入住登记:
显示结果为
说明客人的入住登记已经完成。
显示效果为:
客人所住的房间‘3001’的状态变成‘有’
客人王明(VIP003)的个人信息载入了数据库;
客人王明(VIP003)的入住信息载入了数据库;
客人王明(VIP003)的消费信息载入了数据库;
3.1.5退房登记(例如顾客李勇退房)
1.通过顾客李勇的房卡了解到他的编号为(VIP001),然后再用SQL语言查询他的消费信息,将他所住的房间状态置为‘空’,删除他的客人信息和入住信息,消费信息。
顾客李勇的退房登记完成。
执行后的效果为
客人李勇的消费情况
2.在数据库中顾客所坐的房间状态变为空,客人信息和入住信息删除即:
客人房间3002的状态变成了‘空’
客人李勇(编号VIP001)的顾客信息被删除;
客人李勇(编号VIP001)的入住信息被删除;
客人李勇(编号VIP001)的消费信息被删除;
3.3操作显示
(1)查询当前客房信息,客人信息,入住信息显示结果(最初始状态)
客房信息:
客人信息:
入住信息:
消费信息:
4总结
4.1设计体会
这个数据库为酒店管理系统,用SQLserver2008编成;在新建数据库时遇到了一些问题,设置权限和链接时自己要注意,防止自己建好的数据库丢失。
建表时,自己注意到了数据类型不能滥用,几个表要协调统一;麻烦在于对表设置外键,几个表之间有联系,要注意主键与外建的关系与连接。
对表进行查询时,要注意表的连接和子查询以及嵌套查询;对酒店管理系统输入新数据时,要注意用SQL语言对几个表同时操作,防止出现破坏表的完整性约束;删除数据时,注意到表与表的联系与关系,不要遗漏要删除的信息,或者破坏表的完整性。
4.2系统改进
本次做的酒店数据库管理系统比较初级,只能实现基本功能,比如:
查询酒店客房信息、查询入住信息、查询入住客人信息,查询客人消费信息等基本查询功能,还有入住登记,退房登记功能。
所以对现实中的酒店来说,缺陷还是很多。
没有考虑客人在酒店中途退房或者换房等意外情况,没有考虑酒店人员的分配系统等酒店管理系统的功能。
本次实验查询和建立、删除功能都用的是SQL语言,所以比较低级,也没有什么实用性,而且特别容易造成数据库出错,导致数据出错或者丢失;难免重新建立数据库。
最好的是建立好数据库,然后用vc++中的MFC的文档格式用类库的方法调用数据库和修改数据库,既安全又方便,不容易出错,而且具备一定的实用性,简洁大方,一般的服务人员就能操作。
参考文献
[1]王珊,萨师煊.数据库系统概论(第四版).北京:
高等教育出版社,2006
[2]赵斯思.VisualBasic数据库编程技术与实例.北京:
人民邮电出版社,2004
[3]占维刘伟编.VisualBasic6.0数据库实用编程100例.北京:
中国铁道出版社,2004
[4]张海藩.软件工程.北京:
人民邮电出版社,2002