宾馆客房管理系统数据库设计报告_第1页
宾馆客房管理系统数据库设计报告_第2页
宾馆客房管理系统数据库设计报告_第3页
宾馆客房管理系统数据库设计报告_第4页
宾馆客房管理系统数据库设计报告_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、宾馆客房管理系统数据库设计报告摘要:本系统是宾馆客房管理系统,该报告主要介绍了数据库的设计,建立,主要功能的实现。数据库系统包括员工管理、客房管理、顾客管理几个大块。主要实现了登记功能,预订功能,多种方法查询顾客功能,查看客房状态功能,操作人员对系统的修改功能,以及结账报表功能。一、需求分析(1)具有方便的登记、结账功能,以及预订客房的功能,能够支持团体登记和团体结账。(2)能快速、准确地了解宾馆内的客房状态,以方便管理者决策。 (3)提供多种手段查询客人的信息。 (4)具备一定的维护手段,有一定权利的操作人员在密码的支持下才可以更改房价、房间类型、增减客房。 (5)完善的结账报表系统。 二、

2、E-R关系图三、关系表本系统有八个表,分别是职工信息表(staffinfo)、顾客信息表(custmerinfo)、经理信息表(managerinfo)、客房信息表(roominfo)、客房状态表(roomstatus)、入住表(checkin)、退房表(checkout)、结账订单表(orderinfo)。1,职工信息表(staffinfo)2,顾客信息表(custmerinfo)3,经理信息表(managerinfo)4,客房信息表(roominfo)5,客房状态表(roomstatus)6,入住表(checkin)7,退房表(checkout)8,结账订单表(orderinfo)四、范式

3、分析本系统所有的表均为BCNF,职工和经理表由各自的工作编号为主码,并且可以决定其他所有属性,顾客表由身份证号做为主码,同理,客房的房间号可以决定其他所有属性。五、功能分析1,登记功能本系统采用存储过程实现登记功能,顾客前来预订客房,由工作人员调用存储过程向顾客表中插入该顾客信息,完成登记。create procedure register身份证号 varchar(20),姓名 varchar(10),性别 char(5),电话 char(15), 员工编号 char(10)asinsert into custmerinfovalues(身份证号,姓名,性别,电话,员工编号)2,预订功能采用存

4、储过程实现,由工作人员调用存储过程,在入住表中插入相应信息,并且设计触发器,在预定的同时在客房状态表中修改客房状态为“已入住”。create procedure or_der身份证号 varchar(20),房间号 char(10),姓名 varchar(10),入住时间 nchar(10) -预定的同时在客房状态表里修改状态asinsert into checkinvalues(房间号,身份证号,姓名,入住时间)create trigger tri_orderon checkinfor insert,updateasdeclare 房间号 char(10)select 房间号=房间号 fro

5、m insertedupdate roomstatusset 状态='已入住'where 房间号=房间号3,修改功能当管理人员在密码的支持下,可以对数据库系统中房间的价格、类型、状态做适当修改。通过存储过程实现。create procedure up_date1工作编号 char(10),密码 varchar(10),房间号 char(10),价格 smallintasif 密码=(select 密码 from managerinfo where 工作编号=工作编号)beginupdate roominfoset 价格=价格where 房间号=房间号endcreate proc

6、edure up_date2工作编号 char(10),密码 varchar(10),房间号 char(10),类型 varchar(10)asif 密码=(select 密码 from managerinfo where 工作编号=工作编号)beginupdate roominfoset 类型=类型where 房间号=房间号endcreate procedure up_date3工作编号 char(10),密码 varchar(10),房间号 char(10),状态 char(10)asif 密码=(select 密码 from managerinfo where 工作编号=工作编号)beg

7、inupdate roomstatusset 状态=状态where 房间号=房间号end4,查询顾客信息存储过程,实现可以通过客户的姓名、房间号查询到客户的信息。 -1.根据姓名查询create procedure sel_name姓名 varchar(10)asselect * from custmerinfowhere 姓名=姓名-调用exec sel_name'lxt' -2.根据房间号查询create procedure sel_roomnumber房间号 char(10)asselect custmerinfo.* from custmerinfo,roomwhere

8、 custmerinfo.身份证号=room.身份证号 and 房间号=房间号5,查看客房状态设计函数,使得员工可以简单、快捷的查看当前客房的使用状态。create function room_status()returns tableasreturn select * from roomstatus6,结账报表系统采用触发器实现当一个顾客执行退房操作时,即往退房表中插入一条新的纪录时,触动触发器,往订单表中插入信息作为结账报表。create trigger account -退房信息表里增加一条记录,则打印订单on checkoutafter insertas declare 房间号 cha

9、r(10),身份证号 varchar(10),姓名 varchar(10),退房时间 nchar(10)declare 工作编号 char(10),价格 smallint,入住时间 nchar(10),总金额 int,天数 intselect 房间号=房间号 from insertedselect 身份证号=身份证号 from insertedselect 姓名=姓名 from insertedselect 工作编号=服务的员工编号 from custmerinfo where 身份证号=身份证号 select 入住时间=入住时间 from checkin where 房间号=房间号select 价格=价格 from roominfo where 房间号=房间号select 天数=天数 from checkout where 房间号=房间号select 总金额=天数*价格begin insert into orderinfo(身份证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论