




已阅读5页,还剩7页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
酒店客房管理系统设计一、 需求分析1.1 系统需求分析 “客房管理信息系统”以实现宾馆客房各种信息的系统化、规范化、自动化为目标,具体要达到以下几个基本要求:(一)客户入住管理通过该管理功能,系统可以通过计算机对客户的一些基本信息进行录入,成为客房管理信息系统查询的数据资料。(1)新客人信息的录入。(2)客人信息的修改。(3)客人信息的查询。(4)客人信息的删除。(5)客人信息的保存。(6)客房信息的查询。(二)结算管理(1)退房结算:输入客户房号,查找该客户信息、住房信息以及费用情况。(2)收银处理:确认客户总费用,并自动登记总费用帐。同时,自动将房间用房标志(占)改为(空);并将客户信息保存。1.2数据分析通过进行系统调查,了解用户需求、分析应用软件系统的功能需求。总结出了系统逻辑模型,即系统业务流程图、数据流图、应用软件功能结构图和数据字典等。各流程图如下面的图所示:客房管理系统操作员客房客户操作查询返回信息1.2.1 客房管理系统业务流程图客户操作员返回结果交钱结账结账费用入住登记返回信息返回结果查询要求核对账单返回账单信息入住管理结算处理结算账单入住信息客房信息P1P2D1D2D3要求1.2.2 客房管理系统数据流图客房管理系统入住管理结算管理信息查询客户登记退房结算收银处理1.2.3 客房管理系统功能模块客户查询客房查询二、数据库概念结构设计 客户姓名客户编号经考察和分析,本案例客房管理系统包括以下实体:客户实体、客房实体、操作员实体、退房实体,它们的E-R图如以下所示。年龄 客房价格性别离宿日期押金客户身份证号客户姓名客户编号退房身份证号 账单编号客房号离宿时间客房类型住宿时间户籍退房登记客房号住宿日期总额客房价格 客房类型住宿日期返回入住 登记宿费住宿时间 电费水费 住宿天数客房状态 客房客房号 客房价格客房类型三、数据库逻辑结构设计根据E-R图,将图转换为关系模型即:将实体、实体的属性和实体之间的联系转换为关系模式,然后对数据模型进行优化得到如下关系数据表。客户入住登记:客户编号,客户姓名,年龄,性别,身份证号,户籍,客房号,客房类型,客房价格,住宿日期住宿时间,离宿日期,离宿时间,押金,账单编号客房表:客房号,客房类型,客房价格,房间状态退房登记表:客户编号,客户姓名,身份证号,客房号,客房类型,客房价格,住宿日期,住宿价格, 住宿天数,宿费,水费,电话费,总额关系数据表确定后要进行数据表的逻辑结构设计,即定义关系数据表中字段名称、数据结构、是否允许为空、关键字、说明等。(1)客户入住登记表用于存放客户的入住信息,例如:客户名,房号等。表3.1 客户入住登记字段名称数据结构是否允许为空说明客户编号IntNOT NULL ,主键客户姓名Varchar(8)Not null入住客户的姓名年龄IntNot null性别CharNot null身份证号Varchar(20)Not null客户的身份证号户籍Varchar(50)Not null客户的户籍地址客房号IntNot null客房类型TextNot null客房价格MoneyNot null住宿日期DatetimeNot null住宿时间Varchar(15)Not null离宿日期DatetimeNot null离宿时间Varchar(15)Not null押金MoneyNot null账单编号IntNot null字段名称数据结构是否允许为空说明客房号IntNOT NULL,主键唯一标识每个房间客房类型TextNOT NULL客房价格MoneyNOT NULL客房状态Varchar(2)NOT NULL(2)客房表 用于存放客房的相关信息,例如:房号,房间类型,房间状态等。表3.2 客房表(3)退房登记表退房登记表表用于存放客户消费的信息。表3.3 退房登记表字段名称数据结构是否允许为空说明客户编号IntNot null唯一标示每个客户客户姓名Varchar(8)Not null身份证号Varchar(20)Not null客房号Int Not null客房类型TextNot null客房价格MoenyNot null住宿日期DatetimeNot null住宿时间Varchar(15)Not null住宿天数IntNot null宿费MoneyNot null水费MoneyNot null电话费MoneyNot null总额MoneyNot null4、 数据库物理结构设计 根据代码自动生成表,其物理结构表如下1.“客房”表的物理结构“客房”表的物理结构如图4.1所示,关键字为”客房号” 图4.12. “客户入住登记”表的物理结构 “客户”表的物理结构如图4.2所示,关键字为”客户编号”,利用”客房号”可与”退房登记”表和”客房号”表建立联系。 图4.23.“退房登记”表的物理结构“退房登记”表的物理结构如图4.3所示,关键字为”客户编号”。 图4.3五、数据库的实施根据以上所进行的调查、设计和进行方案,建立并实施数据库。此系统运用SQL Server 2000进行数据库的开发。1.数据库建表语句 名称: 客户入住登记 标示:客户编号建表语句如下: create table 客户入住登记 ( 客户编号 int not null, 客户姓名 varchar(8) not null, 年龄 int constraint C1 check(年龄 between 1 and 80), 性别 char(2) check(性别 in(男,女), 身份证号 varchar(20) not null, 户籍 varchar(50) not null, 客房号 int check(客房号=1 and 客房号=100), 客房类型 text not null, 客房价格 money not null, 住宿日期 datetime not null, 住宿时间 varchar(15) not null, 离宿日期 datetime not null, 离宿时间 varchar(15) not null, 押金 money not null, 账单编号 int not null, primary key (客户编号), foreign key (客房号) references 客房表(客房号) on delete cascade on update cascade,); 名称: 客房表“客房” 标识:客房号 建表语句如下: create table 客房表 ( 客房号 int check(客房号 between 1 and 100), 客房类型 text not null, 客房价格 money not null, 客房状态 varchar(2) check(客房状态 in(满,空), primary key (客房号);(3) 名称: 结算账单表“结算账单” 标识:客户编号建表语句如下: create table 退房登记表 (客户编号 int not null, 客户姓名 varchar(8) not null, 身份证号 varchar(20) not null, 客房号 int not null, 客房类型 text not null, 客房价格 money not null, 住宿日期 datetime not null, 住宿时间 varchar(15) not null, 住宿天数 int not null,宿费 money not null,水费 money not null,电话费 money not null,总额 money not null,primary key (客户编号),foreign key (客房号) references 客房表(客房号) on delete cascade on update cascade,)2. 数据库的建立触发器语句(1)建立触发器名“登记”CREATE TRIGGER 登记ON 客户入住登记FOR INSERTASdeclare id intdeclare state varchar(2)beginset id=(select 客房号 from inserted)set state=(select 客房状态 from 客房表 where 客房号=id)if state=空 begin update 客房表 set 客房状态=满 where 客房号=id print 登记成功 endelse print 登记失败,已有人end (2)建立触发器名“登记”CREATE TRIGGER 退房ON 客户入住登记FOR deleteASdeclare id intdeclare name varchar(8)declare cardId varchar(20)declare houseNo intdeclare houseType varchar(15)declare housePrice intdeclare registerDate datetimedeclare leaveDate datetimedeclare registerTime varchar(15)declare sumDay intdeclare homePay moneydeclare waterPay moneydeclare phonePay moneydeclare payCheck moneybeginselect id=客户编号,name=客户姓名,cardId=身份证号,houseNo=客房号,houseType=客房类型,housePrice=客房价格,registerDate=住宿日期,registerTime=住宿时间,leaveDate=离宿日期,homePay=客房价格 from deletedset sumDay=abs(datediff(dd,registerDate,leaveDate)set phonePay=cast(20 as money)set waterPay=cast(10 as money)set payCheck=housePrice*sumDayInsert into 退房登记表 values (id,name,cardId,houseNo,houseType,housePrice,convert(varchar(10),registerDate,101),registerTime,sumDay,payCheck,waterPay,phonePay,(waterPay+phonePay+housePrice)*sumDay)update 客房表 set 客房状态=空 where 客房号=houseNoEnd6、 数据库的操作备注(1-5普通单人间,6-10豪华单人间,11-15豪华套房,16-30总统套房)-数据库设计功能调试步骤-(1) 首先创建触发器名为“登记”,然后调试插入新客户信息- 代码如下-创建触发器代码CREATE TRIGGER 登记ON 客户入住登记FOR INSERTASdeclare id intdeclare state varchar(2)beginset id=(select 客房号 from inserted)set state=(select 客房状态 from 客房表 where 客房号=id)if state=空 begin update 客房表 set 客房状态=满 where 客房号=id print 登记成功 endelse print 登记失败,已有人end -插入新客户信息 则显示成功insert into 客户入住登记values (7,钱想,20,男,342690199082312311,江苏泰州,30,总统套房,500,2011-1-07,convert(varchar(5),getdate(),108),2011-8-23,18:09,50,2011002)-查询客户入住登记以及客房信息select * from 客户入住登记 where 客户编号=7 -查询客房表信息select * from 客房表 where 客房号=30-删除触发器drop TRIGGER 登记-如果重复分配客房号,则显示错误,因为违背完整性定义insert into 客户入住登记values (22,李二,20,男,342690199082312311,江苏泰州,30,总统套房,500,2011-1-07,convert(varchar(5),getdate(),108),2011-8-23,18:09,50,2011002)delete from 客户入住登记 where 客户编号=22-(2) 创建触发器名为“退房”,然后退房信息-创建触发器“退房”代码CREATE TRIGGER 退房ON 客户入住登记FOR deleteASdeclare id intdeclare name varchar(8)declare cardId varchar(20)declare houseNo intdeclare houseType varchar(15)declare housePrice intdeclare registerDate datetimedeclare leaveDate datetimedeclare registerTime varchar(15)declare sumDay intdeclare homePay moneydeclare waterPay moneydeclare phonePay moneydeclare payCheck moneybeginselect id=客户编号,name=客户姓名,cardId=身份证号,houseNo=客房号,houseType=客房类型,housePrice=客房价格,registerDate=住宿日期,registerTime=住宿时间,leaveDate=离宿日期,homePay=客房价格 from deletedset sumDay=abs(datediff(dd,r
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年室内装饰装修设计师职业技能知识考试题与答案
- 城乡低保政策培训资料
- 会计做账实操培训
- 城市交通规划合同管理软件咨询重点基础知识点
- 【培训课件】构建企业法律风险防控策略体系
- 车位抵押借款合同协议
- 海螺合作协议书
- 进购物店合同补充协议
- 转让成果协议书范本
- 正式分家协议书
- 北京2025年中国环境监测总站招聘(第二批)笔试历年参考题库附带答案详解
- 定额〔2025〕1号文-关于发布2018版电力建设工程概预算定额2024年度价格水平调整的通知
- 2021年妊娠期血压管理中国专家共识
- 一种基于STM32的智能门锁系统的设计-毕业论文
- 湖南省2023年普通高等学校对口招生考试电子电工
- 叉车产品数据表
- 交通工程设施设计设计报告
- 高填方、深挖路堑边坡和软基监测方案
- 机器人学导论(课堂PPT)
- Kappa量测能力测评及评价
- 机电设备维修与管理专业毕业论文30442
评论
0/150
提交评论