




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据库设计报告酒店客房管理甲 方:乙 方:签订日期: 年 月酒店客房管理系统本学期学习了数据库系统概论这门课, 初步掌握了数据库的一般性知识, 获得 了一些基本的数据库操作技能, 能够对数据库进行一些简单的操作。 结合上星期 学习的 JAVA 基础这门课, 本次课程设计将通过 Java 利用 Mysql, MyEclipse 来 做一个实例练习掌握的知识。一系统概述1.系统目标 采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条 件,宾馆客房管理系统是各大中小型宾馆所需要使用的一个管理系统。 建立起一 套功能完善的管理信息系统, 既能满足业务人员日常处理的需要, 增强企业经营 全
2、过程的数字化管理水平; 又能满足管理人员决策分析的需要, 提高公司管理层 对公司经营反馈信息的响应速度。本实例将通过使用 Mysql, MyEclipse 设计软件,帮助酒店客房相关人员快 速方便地对客人信息,员工信息进行管理。 将原本散乱的客人信息系统化, 图形 化,建立一个运行稳定, 易于操作的酒店客房管理系统, 让工作人员能够方便快 捷地执行各项工作。2.具体需求1)功能需求系统初始化 对系统的基本信息的名称、编号的初始化,对系统管理员的密码以及其 他系统使用人员的用户名、权限、密码等的设定。客房信息管理实现房间基本信息的增、删、改、查等的维护工作。支持根据房间状态是预订、入住、空闲等类
3、型进行查询物品信息管理实现客房日常消耗物品信息的增删改查等维护工作。 支持物品存量查询、 入库登记、出库登记。员工信息管理实现员工基本信息的增删改查等维护工作。支持员工与入住、结账、物 品出入库等活动的登记,做到经手人负责。宾馆入住管理实现客房预订登记,主要是登记客人身份证、手机号码、预订房间类型 和天数等基本信息,实现入住登记,即根据登记的客人身份证信息查询到预 订的房间,修改房间状态,收取押金,实现房间调整,退房结账。客人消费管理实现客房收费物品、洗衣费、餐饮等服务项目登记,如果超过押金要及 时给出预警。最后退房时结算。系统安全管理实现对系统数据库进行备份和恢复的功能,以增强系统可靠性,并
4、对系 统用户进行权限管理,以增加系统的安全性。2)性能需求数据精确度:查询时应保证查全率,所有相应域包含查询关键字的记录都应能查到;时间特性:一般操作的响应时间应在 12s 内; 适应性: Windows2000 以上系统均可运行3)系统安全性一个功能完善的酒店客房管理系统,除了应保证能正常执行功能以外,还要 具备一定的数据保护能力, 以防止人为破坏或自然破坏。 为此,要做到以下内容: 要有严格的登录用户身份检查功能,防止非法用户的登录 对各用户的操作权限要有严格分工,不能因为分工不清造成数据的不安 全或损坏。对用户登录信息进行保护,防止泄露 对用户提交的数据进行预先的完整性检查,防止垃圾数据
5、进入数据库。 保证对数据库增加、删除、修改等操作的安全执行,保持数据库中各基 本表之间的数据完整性。另外还要注意网络安全和物理安全、数据备份等。二需求分析进行系统功能分析及数据流图分析 数据流程分析就是吧数据在组织内部的流动情况抽象出来,舍去了具体组织 结构、信息载体、 处理工作等, 单从数据流动过程来考察实际业务的数据处理模 式。数据流程分析主要包括对信息的流动、传递、处理、存储等的分析。以上为数据流图三数据库设计数据库结构设计的好坏对应用系统的效率以及实现的效果有很大的影响,一 个优秀的数据库结构设计会减少数据库的存储量,数据的完整性和一致性比较 高,系统具有较快的响应速度,简化基于此数据
6、库的应用程序的实现等。由于数据库设计的重要性,人们提出了许多数据库结构设计的技术。但是这些设计方法和设计者的工作经验有很大的关系。因此要从根本上解决所有数据库结构设计的问题,需要多实践,在实践中积累经验和教训,最终成为数据库结构设计的专家。1.数据库概念结构设计这一设计阶段是在需求分析的基础上,设计出能够满足用户需求的各种 实体,以及它们之间的关系,为后面的逻辑结构设计单下基础。这个阶段不用考虑所采用的数据库管理系统、操作系统类型和机器类型等问题。这阶段可用的工具很多,用的最多的是 E-R图,另外还有许多计算 机辅助工具,如CASE等可以帮助进行设计。在本次设计中,根据需求分析的结果,对系统中
7、涉及到的数据进行抽象,主要实体有预订,入住,客房,服务项目,客房,库房,员工,员工物品,权限等。据此,画出酒店客房管理系统的实体-联系图,如图所示。身份证手机房间类型2.数据库逻辑结构设计 吒(概念结构是独立于实预订计模型的信息结构,行数据库应用的设计。预订天数必须将其转化为逻辑结构后才能进就是要将概念上的结构转化为Mysql数据库系统所支持的实际数据模型。房间号是 转化原则:7%当前天数身份证押金一个实体型- 二 -个关系模式。f1(1应付总金额 实体的属性就是关系的属性,实体的码就是关系的码。房间状态天的价格客房/房间号实体间的联系分房房间类型员工员工号员工房间号1:N ,转换为一个独立的
8、关系模式,或与 N 端关系模式合并。M : N ,转换为一个独立的关系模式。 具有相同码的关系模式可合并。基于以上原则,转换之后的关系模式集为:秘钥信息(用户名,秘钥)注册信息(用户名,密码,用户类型) 客人信息:(姓名,身份证,手机) 客人预订:(身份证,房间号,房间类型,入住天数,违约金) 客人入住:(身份证,房间号,押金,应付总金额,目前入住天数) 客房信息:(房间号,房间类型,房间状态,房间价格) 员工信息:(姓名,员工号,员工房间号,月工资 ) 库房存储:(物品,物品单价,数量) 员工物品:(员工号,物品,数量) 服务项目:(服务物品,服务单价) 服务登记:(房间号,服务物品,服务数
9、量,服务总价)考虑因素: 每张表设置一到两个主键。 以客人信息表中的身份证为参照目标,在客人入住表中设置外键。 以员工信息表中的员工号,库房存储表中的物品为参照目标,在员工物品表 中设置外键。设置 3 个触发器,实现当向客人预订表中插入数据时,改客房信息中相应客 房状态为预订,当向客人入住表插入数据时,改客房信息中相应客房状态为 入住,当向客人入住表删除数据时,改客房信息中相应客房状态为空闲。 设置触发器,实现当向库房存储表中插入数据时,向服务物品表中插入相应 数据。3.数据库物理结构设计根据逻辑模型,为关系模式选择存取方法,并设计关系,索引等数据文 件的物理存储结构,如下:/* 秘钥信息 *
10、/create table秘钥信息 (用户名 char(10), 秘钥 char(10),primarykey(秘钥);/* 登录信息 */create table 注册信息 (用户名 char(10), 密码 char(10), 用户类型 char(10),primary key( 用户名 );/* 客人信息 */create table 客人信息 (姓名 char(20) not null, 身份证 char(20), 手机 char(16) not null,primary key( 身份证 );/* 客人预订 */create table 客人预订 (身份证 char(20), 房间号
11、 char(4) not null, 房间 类型 char(6) not null, 入住天数 int not null, 违约金 int not null,primary key( 身份证 );/* 客人入住 */ create table 客人入住 (身份证 char(20), 房间号 char(4) not null, 押金int not null, 应付总金额 int not null, 目前入住天数 int not null,primarykey(身份证),foreig n key (身份证 ) references 客人信息 (身份证),check(Pledge=100);/*客房
12、信息*/create table客房信息 (房间号 char(4), 房间类型 char(6) not null, 房房间号);间状态 char(4) not null, 房间价格 int not null,primary key(/*员工信息*/char(6), 员工房create table 员工信息 (姓名 char(20) not null, 员工号间号 char(4), 月工资 int not null,primary key( 员工号);/*库房存储*/create table 库房存储 (物品 char(30), 物品单价 int not null, 数量 intnot null
13、,primary key( 物品);/*员工物品*/create table 员工物品 (员工号 char(6), 物品 char(30), 数量 int notnull,primary key(员工号,ltem),foreign key ( 员工号)references 员工信息(员工号),foreign key (物品)references库房存储(物品),check(数量 =0);/*服务项目*/create table服务项目 (服务物品 char(30), 服务单价 int notnull,primary key(服务物品 );/*服务登记*/create table服务登记 (房间
14、号 char(4), 服务物品 char(30), 服务数量int not null, 服务总价 int not null,foreign key ( 房间号) references 客房信息(房间号),foreign key (服务物品)references 服务项目(服务物品),check(服务数量=0);/*插入仓库触发器*/create trigger 插入仓库 after insert on 仓库信息 for each rowinsert into服务项目 values(new.物品,new.单价);/*改变客房状态触发器 1*/create trigger 改变客房状态 1 aft
15、er insert on预订信息 for eachrow update 客房信息 set 房间状态= 预订 where客房信息 .房间号=new. 房间号;/*改变客房状态触发器 2*/create trigger 改变客房状态 2 after insert on入住信息 for eachrow update 客房信息 set 房间状态= 入住 where客房信息 .房间号=new. 房间号;/*改变客房状态触发器 3*/入住信息 for each客房信息.房间号=old.create trigger 改变客房状态 3 after delete onrow update 客房信息 set 房间
16、状态= 空闲 where房间号;四数据库实施在 Mysql 命令行中输入用户名,密码进入 Mysql ,在记事本上写一句操作,同时在命令行中运行一句, 确保成功。 这样也可以利用记事本里的语句段快速重建数据库,以便测试使用。数据库建好,所有表创建完毕后,添加初始化的数据Mysql中的数据库创建语句与初始化语句见编码部分。五.应用程序设计1系统功能模块设计在系统功能分析的基础上,设计系统功能模块划分如下图create table logi nin fo(Username char(10). Password char(10). Usertype char(10),primary key(User
17、name);create table guesti nfo(G name char(20) not n ull,ld char(20),Tel char(16) not nu ll,primary key(Id);create table preorder(Id char(20),R num char(4) not n ull,Rtype char(6) not nu ll,Pdays int not nu ll,Abse nt int not nu ll,primary key(Id);create table check in (Id char(20),R num char(4) not
18、n ull,Pledge int notnu ll,Gm oney int not nu ll,Ndays int not nu ll,primary key(Id),foreig n key (Id) refere nces guest in fo(Id),check(Pledge=100);create table roomi nfo(R num char(4),Rtype char(6) not n ull,Rstate char(4) not null,Rmoney int not null,primary key(Rnum);create table staffinfo(Sname
19、char(20) not null,SId char(6),SRnum char(4),Mwage int not null,primary key(SId);create table storage(Item char(30),Uprice int not null,Iamount int not null,primary key(Item);create table staffitem(SId char(6),Item char(30),Iamount int not null,primary key(SId,Item),foreign key (SId) references staff
20、info(SId),foreign key (Item) references storage(Item),check(Iamount=0);create table servitem(Servitem char(30),Uprice int not null,primary key(Servitem);create table service(Rnum char(4),Servitem char(30),Samount int not null,Servcost int not null,foreign key (Rnum) references roominfo(Rnum),foreign
21、 key (Servitem) references servitem(Servitem),check(Samount=0);create trigger insert_into_storage after insert on storage for each row insert into Servitem values(new.Item,new.Uprice);create trigger room_state_change1 after insert on preorder for each row update roominfo set Rstate=预订 where roominfo
22、.Rnum=new.Rnum;create trigger room_state_change2 after insert on checkin for each row update roominfo set Rstate=入住 where roominfo.Rnum=new.Rnum;create trigger room_state_change3 after delete on checkin for each rowupdate roominfo set Rstate=空闲 where roominfo.Rnum=old.Rnum;insert into roominfo value
23、s(1840, insert into roominfo values(1841, insert into roominfo values(1842, insert into roominfo values(0001, insert into roominfo values(0002, insert into roominfo values(0003, insert into roominfo values(0301, insert into roominfo values(0302, insert into roominfo values(0303, insert into roominfo
24、 values(1001, insert into roominfo values(1002, insert into roominfo values(1003, insert into roominfo values(1501,insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( insert into guestinfo values( inser
25、t into guestinfo values( insert into guestinfo values( 张三,3,333);李四,4,444);王五,5,555);赵六,6,666);魏七,7,777);朱八,8,888);张三一 ,31,999);张三二 ,32,000);套房,空闲,500);套房,空闲,500);套房,空闲,500);标准间 ,空闲,200)标准间 ,空闲,200)标准间 ,空闲,200)单人间 ,空闲,100)单人间 ,空闲,100)单人间 ,空闲,100)三人间 ,空闲,300)三人间 ,空闲,300)三人间 ,空闲,300)大床间 ,空闲,250)insert
26、 into roominfo values(1503,大床间 ,空闲,250);insert into preorder values(3,1840,套房,3,20);insert into preorder values(4,0001,标准间 ,1,20);insert into preorder values(5,0002,标准间 ,1,20);insert into preorder values(6,1002,三人间 ,7,20);insert into roominfo values(1502,大床间 ,空闲,250);insert into checkin values(3,184
27、0,100,1500,0);insert into checkin values(4,0001,100,200,0);insert into checkin values(5,0002,100,200,0);insert into staffinfo values( insert into staffinfo values( insert into staffinfo values( insert into staffinfo values( insert into staffinfo values( insert into storage values( insert into storag
28、e values( insert into storage values( insert into storage values( insert into storage values( 小明,000001,1908,50000);小刚,000002,1908,50000);小红,000003,1908,50000);小胖,000004,1908,50000);小瘦,000005,1908,50000);自行车 ,10,10);梯子,10,15);五金工具箱 ,10,23);打印机 ,10,15);订书机 ,10,45);insert into staffitem values(000001,
29、 自行车 ,2);insert into staffitem values(000003, 梯子 ,1);insert into staffitem values(000004, 订书机 ,2);insert into servitem values(足疗,80);insert into servitem values(理发,30);insert into servitem values(按摩,233);insert into servitem values(洗衣,80);insert into servitem values(餐饮,30);insert into servitem value
30、s(睡衣,100);insert into servitem values(香烟,50);insert into service values(1840,足疗,2,160);insert into service values(0001,香烟,1,50);insert into logininfo values(1,1,前厅部 );insert into logininfo values(2,2,客房部 );insert into logininfo values(3,3,人力资源部 );insert into logininfo values(4,4,采购部 );insert into lo
31、gininfo values(5,5,管理员 );insert into code values( 前厅部 ,111);insert into code values( 客房部 ,222);insert into code values( 人力资源部 ,333); insert into code values( 采购部 ,444);insert into code values( 管理员 ,555); 2)应用程序部分主要代码连接数据库 LoadDriver.javapackage db;import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException;import java.sql.PreparedStatement;import java.sql.*;/ Notice, do not import com.mysql.jdbc.*,否则/ or you will have problems! (注意,不要导入 com.mysql.jdbc.*/ 将出现问题!)public class LoadDriver private Connection conn;private PreparedStatement pstat;private St
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 个人借款借款合同标准文本
- 光伏电池转让合同样本
- 保险协议合同标准文本
- 交换 早餐 住宿合同标准文本
- 2024年8月份船舶主机故障远程诊断技术服务合同
- 代理安装合同样本
- 上海买房佣金合同样本
- 借款合同样本利息
- 仪器售后维修合同样本
- 个人楼房转让合同样本
- GB/T 45236-2025化工园区危险品运输车辆停车场建设规范
- 中考语文文学批注-病句表达欠妥(含答案)
- 2025年河南经贸职业学院单招职业技能测试题库完整
- 春夏季疾病预防
- 二年级课间安全
- 法律、法规、规章、规范性文件和标准的区别
- 《哮喘的规范化治疗》课件
- 2025年四川省绵阳市住房公积金服务中心招聘5人历年高频重点提升(共500题)附带答案详解
- 短视频运营(初级)营销师-巨量认证考试题库(附答案)
- 社区儿童托管服务收费方案
- 初中生心理健康课件
评论
0/150
提交评论