数据库课程设计宾馆信息管理系统.docx
- 文档编号:6763823
- 上传时间:2023-01-10
- 格式:DOCX
- 页数:10
- 大小:24.55KB
数据库课程设计宾馆信息管理系统.docx
《数据库课程设计宾馆信息管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计宾馆信息管理系统.docx(10页珍藏版)》请在冰豆网上搜索。
数据库课程设计宾馆信息管理系统
数据库课程设计报告宾馆信息管理系统
数据库课程设计报告
-------宾馆信息管理系统
计算机科学与技术学院08级电子商务专业
一、系统开发平台
题目:
酒店信息管理预订系统开发语言:
JavaEclipse/netbeans
后台数据库管理系统:
SQLServer2000操作系统:
windowsxp
二、数据库规划
2.1任务陈述
引言客房管理系统是典型的信息管理系统的一部份,而且是必不可少的一部份。
其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。
对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好的数据库。
而对于后者则要求应用程序功能完备,易使用等特点。
酒店客房管理系统的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如:
效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。
在当今时代,这些完全可以改用计算机来代替人的手工操作。
作为计算机及网络应用的一部分,使用计算机对客房信息进行管理,具有手工管理所无法比拟的优点。
例如:
检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。
且办事效率也是决定收入的一个关键因素。
因此,我选择的酒店客房管理系统设计,力求开发出一套界面友好,功能强大,使用简单的适用于各大、中、小规模的酒店客房的管理系统。
同时也是一款完全适合宾馆或旅馆酒店客房管理傻瓜式日常业务管理的软件。
酒店系统由前台和后台管理两个部分组成。
前台作为与前台服务员直接交互的可视化界面,由于使用方便,能将系统的各个功能提供给他们,以帮助服务员进行客房管理。
前台在考虑功能实现的同时,也考虑了操作的简洁和方便性,目的是让大多数客户能够轻松地享受电子商务给他们带来的便利。
为了确保客户和酒店的信息具有更好的安全性,前台管理和后台管理是分离的。
前台的各管理模块只有部分功能和权限,我为此设计了两个角色:
一是酒店管理员,二是前台服务员。
其中:
酒店管理员享有最高权限,可以使用酒店客房管理系统所提供的所有功能,包括员工信息修改、客房类型维护、客房信息维护、客户信息查询。
前台服务员的主要职能是负责订房,入住和退房,以及查询和修改订单,查询房间信息和查询预订及入住的客户信息。
所有该角色只可以使用部分功能,后台管理主要由数据库系统作为支持,后台管理的维护工作主要由系统管理员进行。
数据库管理系统
由于酒店管理系统是一个典型的数据库应用系统,因而选择一个良好的DBMS是系统实现的另一个重要环节。
DBMS访问数据库。
一般来说现代的DBMS具备以下几个功能:
(1)事务的恢复功能:
为尽可能减少由于故障而引起的数据库数据失效的损失,现代的DBMS通常具备恢复功能。
(2)完整性约束检查:
由于数据库中的数据是持久和共享的,其正确性十分重要,为保证数据的正确性,DBMS提供对数据库数据的语法和语义的检查,数据在语义上的约束称为完整性约束。
(3)访问控制:
并不是任何用户可以不加限制的访问任何数据库中的数据,DBMS应有控制用户访问权限的功能,即所谓的访问控制功能,访问控制不但可以限制用户的访问范围,而且可以限制用户可进行的操作。
(4)数据目录管理:
数据库中保留的是持久和共享的数据,对数据的定义应不同于一般的程序设计语言,应独立于应用程序,长期保留在数据库中,这就构成了数据目录,数据目录的管理是DBMS的基本功能。
2.2任务目标
设计目标
(1)操作简单方便、界面简洁美观,方便中小型酒店人员使用。
(2)前台服务员功能:
住宿管理:
客房预订(能实现散客和团体客户预订,团体预订可预订多间不同类型的房间,并在这些房间中选择一个作为主房间号)客人入住(能实现散客和团体客户入住,团体入住可选择多间不同类型的房间,并在这些房间中选择一个作为主房间号)客户信息录入(在订单生成页面将录入客户信息,团体客户只记录一位主客户信息,而不需所有客户依次登记)入住押金管理(押金设为住宿总费用的百分之五十,在开入住订单时系统自动计算并显示)信息管理:
预订和入住订单查询(可按订单号、客户身份证号、入住类型查询)团体订单细则(对团体订单中每一个房间信息显示)修改预订订单和入住订单(可修改主客的基本信息及订单信息)取消预订订单(直接删除预订订单,恢复房间的可用状态)将预订订单直接转为入住(省去了再次生成入住订单的程序)房间查询(可按照房间号、房间类型、房间状态查询)客户查询(可按照客户姓名、客户身份证号、入住类型查询)入住客户中途换房(只能换同种类型房间,消费金额不变)入住客户正常退房(根据入住时间计算消费金额,最后客户应缴费用为总费用与
已交押金之差)(3)管理员功能:
除了前台接待的功能之外,还包括房间信息设定及修改(包括客房类型,客房分机号,楼层,备注)个人信息修改(包括个人密码,联系方式,住址)增加客房类型(包括类型号,单价,床位数,房间设施,面积等)增加客房信息(包括房间号,房间类型,房间分机,楼层,备注)(4)酒店介绍等信息:
介绍酒店的地址,房间价格标准,联系电话等信息
三、系统定义
3.1系统边界
酒店信息管理系统
住宿管理
客房管理
退换房管理
后台管理员
散客客房预订散客客房入住团体客房预订团体客房入住押金管理客户信息录入
预订订单查询入住订单查询预订订单修改入住订单修改取消预订订单房间信息查询客户信息查询
已住订单换房已住订单退房及结账
个人信息维护增加客房类型增加客房信息修改已有房间信息
3.2用户视图
前台服务员散客客房预订与入住前的房间查询散客预订生成订单,录入客户基本信息散客入住生成订单,录入客户基本信息团体客房预订与入住前房间查询,设置主房间号团体预订生成订单,录入主客户基本信息团体入住生成订单,录入主客户基本信息预订订单信息查询预订订单修改团体预订订单所有房间信息细则取消预订订单入住订单信息查询入住订单修改团体入住订单所有房间信息细则客房信息查询客户信息查询入住换房管理入住正常退房及消费结账管理后台管理员后台管理员登陆管理员个人功能主页个人信息修改增加客房类型增加客房信息修改已有客房信息
四、需求分析
4.1用户需求分析
4.1.1数据需求前台服务员用户视图
预订信息:
预订订单号(唯一),客户身份证号,客户姓名,主客房间号,预订房间数,入住类型(散客/团体),预订时间,入住时间,入住天数,主客电话。
预订登记:
预订登记号(唯一),所属预订订单号,房间号,房间类型号,房间类型,预订时间,入住时间,入住天数,房间单价。
入住信息:
入住订单号(唯一),客户身份证号,客户姓名,主客房间号,预订房间数,入住类型(散客/团体),入住时间,入住天数,主客电话,房间总费用,需收押金。
入住登记:
入住登记号(唯一),所属入住订单号,房间号,房间类型号,房间类型,预订时间,入住时间,入住天数,房间单价。
客户信息:
客户身份证号(唯一),客户姓名,客户电话,性别,备注客房信息:
房间号,房间类型号,房间类型(标准间/高级套房/普通单间/总统套房),房间状态(可用/预订/入住),楼层,分机号,备注换房信息:
房间号,房间类型,客户姓名,客户身份证号,订单号退房信息:
订单号,客户姓名,客户身份证号,入住时间,入住天数,房间单价,已交押金,房间总费用,还需缴纳费用
后台管理员用户视图管理员登陆:
管理员账号,管理员密码管理员个人信息维护:
管理员姓名,管理员账号,管理员密码,联系电话,住址,职务增加房间类型:
房间类型号,房间类型名称,房间单价,床位数,面积,房间设施
增加客房:
房间号,房间类型,房间状态,楼层,分机,备注
4.1.2事务需求前台服务员视图:
数据查询:
现有各类房间的详细信息以供预订或入住列出已有所有预订订单列出已有所有入住订单列出所有客房信息(可用/已住/预订)列出所有客户信息(预订/入住)列出某客户的订单情况列出某团体的所有登记房间情况列出需要换房的房间信息以及所有同种类型当前可用房间信息列出需要退房的房间信息,已交金额及需交金额显示酒店详细信息数据录入:
录入客户需要的房间信息(选择房间类型及房间数目)录入客户的基本信息(姓名,身份证号,电话等)录入订单信息(时间,入住天数)录入订单修改信息(修改预订及入住订单,及取消订单)录入换房信息录入退房信息数据输出:
输出酒店现有有所类型房间的数目自动输出预订订单及入住订单的订单号和登记号(每一个订单有一个订单号,一个订单中的每个房间有一个登记号,一个登记号对应一个订单号,一个订单号对应一个或多个登记号。
订单号和登记号按系统时间自动生成)自动输出退房信息,退房所需交的金额后台管理员视图数据录入:
录入管理员账号,密码录入个人修改信息(密码,电话,住址)录入新增加房间类型(类型号,类型名称,单价等)
录入新增加房间信息(房间号,房间类型,分机,楼层)录入已有房间修改信息(房间号,房间类型等)数据查询:
列出现有所有房间信息列出个人所有信息列出修改后的房间信息数据输出:
输出增加的房间类型输出增加的房间信息
4.2系统需求说明
4.2.1软件环境软件环境需要支持Window操作系统,及SQLServer2000商业数据库4.2.2硬件环境Inter(R)Core(TM)2DuoCPUT56701.80GHz4.2.3初始数据库大小客房信息40条员工信息4条客户信息15条预订订单信息8条入住订单信息7条预订登记信息15条入住登记信息15条4.2.4数据库增长速度住宿信息每天增长大约50条预订信息每天增长大约50条退宿信息每天增长大约30条1.79GHz,504MB内存
换房信息每天增长大约10条其他信息增长速度不定4.2.5记录查找的类型和平均数量查询客房信息大约每天50次查询住宿信息大约每天50次查询客户信息大约每天50次查询退宿信息大约每天50次4.2.64.2.6安全性管理员和服务员有不同的权限每个管理员登录系统是需要身份验证(前台服务员不需要)
五、数据库逻辑设计
5.1ER图
预订登记表订单号预订订单登记登记号所属订单号
客户
预订
客房
有
房间类型
入住
属于
酒店
管理登记入住订单登记号管理员
所属登记号
5.2数据字典
5.2.1实体和联系属性客房信息(房间号,房间类型号,房间类型,房间状态,楼层,房间分机,备注)房间类型(房间类型号,类型名称,房间单价,面积,床位数,房间设施)客户信息(身份证号,客户姓名,联系电话,性别,备注)预订订单(预订订单号,主客姓名,主客身份证号,主客房间号,入住类型,房间数目,预订时间,入住时间,入住天数,客户电话)预订登记表(预订登记号,所属预订订单号,房间号,房间类型号,房间类型,预订时间,入住时间,入住天数,入住类型,房间单价)入住订单(入住订单号,主客姓名,主客身份证号,主客房间号,入住类型,房间数目,入住时间,入住天数,客户电话,房间总费用,需交押金)入住登记表(入住登记号,所属入住订单号,房间号,房间类型号,房间类型,入住时间,入住天数,入住类型,房间单价)
团体入住信息(团体入住订单号,主客姓名,主客身份证号,客户人数,主客房间号,入住时间,入住天数,主客电话,房间总费用,需收押金)管理员(管理员账号,密码,管理员姓名,职位,联系电话,住址)
5.2.2属性描述实体客户信息属性身份证号(key)客户姓名联系电话性别备注房间号(key)客房信息房间类型号房间类型房间状态房间分机楼层备注管理员账号(key)管理员密码职位联系方式住址预订订单号(key)预订订单主客姓名类型及大小char(10)varchar(50)varchar(50)varchar(50)varchar(50)char(10)char(10)verchar(50)verchar(50)char(10)char(10)varchar(10)char(10)char(10)varchar(50)char(10)varchar(50)char(10)varchar(50)否否否否否否否否否否否否空否否否否
主客身份证号入住类型预订房间数目主客房间号预订时间入住时间入住天数主客电话预订登记号(key)预订登记表所属预订订单号房间号房间类型号房间类型预订时间入住时间入住天数入住类型房间单价入住订单号(key)入住订单主客姓名主客身份证号入住类型入住房间数目主客房间号入住时间入住天数主客电话房间总费用需交押金
char(10)varchar(50)char(10)char(10)DatetimeDatetimeChar(10)Char(10)char(10)char(10)char(10)char(10)varchar(50)datetime(8)datetime(8)char(10)varchar(50)char(10)char(10)varchar(50)char(10)varchar(50)char(10)char(10)DatetimeChar(10)Char(10)Char(10)Char(10)
否否否否否否否否否否否否否否否否否否否否否否否否否否否否否
入住登记号(key)所属入住订单号入住登记表房间号房间类型号房间类型入住时间入住天数入住类型房间单价房间类型号(key)房间类型类型名称床位数单价房间设施面积
char(10)char(10)char(10)char(10)varchar(50)datetime(8)char(10)varchar(50)char(10)char(10)varchar(50)char(10)char(10)varchar(50)char(10)
否否否否否否否否否否否否否否否
5.3关系表
六、数据库物理设计
6.1索引
使用查询分析器运行:
USE酒店管理系统DBCCSHOWCONTIGWITHTABLERESULTS,ALL_INDEXES可以得到“酒店管理系统”数据库中全部索引的相关信息,其中用户所建表的部分信息如下:
ObjectNam
ID
IndexName
AverageFreeByt
LogicalFragementat
e
入住订单入住登记表客户信息房间类型客房信息管理员预订订单18099105210099789837578022933578364166958098619095818412021582240PK_团体入住信息PK_团体入住登记表PK_客户信息PK_房间类型PK_客房信息PK_高级管理PK_团体预订信息
es6384.05240.04730.07422.03876.07617.06278.00.00.0100.00.0100.00.00.0
ion
预订登记表
2085582468
PK_团体预订登记表
4280.0
100.0
以上都是主键索引。
6.2安全机制
(1)后台管理员登录必须要通过身份验证,当数据库中有此账号并且权限与用户类型一致是,才能成功登录。
保证了系统的安全性。
(2)前台工作人员没有权利访问经理的工作空间,对一些宾馆的基本信息和重要数据,如房间类型、客房信息,没有全部查询或者修改的权利。
保证了数据的安全性。
七、应用程序设计
7.1功能模块前台服务员
(1)散客的预订和入住房间可按照房间类型(如单人间,标准间等)选择房间,该房间必须为空闲,即未被预订,并且目前无人入住的房间,登记客户的基本信息,包括客户姓名、电话、登记入住时间、预定时间。
在预订后,会自动生成一个订单号和一个登记号,客房状态即为“预订”,从而在其他客户登记查询房间的时候此房间不会被查询到。
同时,如果客户在预订订单中的入住时间之后三天仍未到达,则视为放弃,此时房间状态恢复“可用”。
(2)团体的预订和入住登记页面首先显示酒店现在剩余的各类空闲房间数,客户可选择其中的各种类型数目,并设定一个主房间。
登记入住客户的基本信息,包括客户姓名、通讯地址、电话、登记预定时间和入住时间以及准备入住天数,对于已经预定过房间的情况,根据房间号直接找出其预定信息,修改需变动的信息后做入住登记。
每一个订单有一个订单号,一个订单中包括了该团体中的所有房间,且每个房间有一个登记号。
即一个订单对应多个登记号,一个登记号只对应一个订单号。
团体预订只需记录主客的姓名电话等信息即可。
入住之后的房间状态为“已住”,从而在其他客户登记查询房间的时候此房间不会被查询到。
(3)退宿结账根据订单号查询客户的入住订单信息,包括住宿天数、退宿时间,根据单价、已交押金和入住天数等信息自动计算费用。
(4)入住换房根据房间号可查询到该房间及订单的所有信息,同时会显示该类房间的其他剩余房间,选择其中一间确定换房后,订单表和登记表中的数据都会改变。
(5)房间管理与查询查询预订订单:
可以直接查询所有订单,也可根据订单号、主客身份证号,入住类型查询。
对每一个订单,可以显示其登记的所有房间信息。
修改预订订单:
可以对预订订单中的客户信息和预订信息修改,其中客户信息包括除了身份证号之外的所有信息,预订信息包括入住天数和入住时间。
查询入住订单:
可以直接查询所有订单,也可根据订单号、主客身份证号,入住类型查询。
对每一个订单,可以显示其登记的所有房间信息。
修改入住订单:
可以对入住订单中的客户信息和预订信息修改,其中客户信息包括除了身份证号之外的所有信息,预订信息包括入住天数和入住时间。
查询房间信息:
可以直接查询所有房间的房间号,房间状态,房间楼层,房间类型等信息,也可以根据房间号,房间类型,房间状态查询。
查询客户信息:
可以直接查询所有客户,也可以根据客户姓名,客户身份证号,订单类型查找。
(6)关于我们对酒店的简介及联系方式等信息。
后台管理员
(1)高级管理查询、增加、删除、修改客房信息,还包括修改个人信息,修改密码等功能。
修改房间的各项数据信息,包括房间号、房间类型、位置、状态、备注。
修改个人信息,包括个人登录密码,联系方式,住址等。
(2)房间类型维护增加房间类型信息,包括类型号、名称、面积、床位数、设施(是否有沙发、是否有电视、是否有电话、是否有卫生间),房间价格。
对该类信息的修改只有高级管理员才有权限。
7.2界面设计
使用了Netbeans设计界面。
主界面
散客预订与入住界面:
选择房间类型可以查询当前剩余此类房间数
生成预订订单。
点击预订,自动生成预订订单号和登记号。
生成入住订单。
点击入住,自动生成入住订单号和登记号,及需交押金。
团体预订与入住。
选择房间类型,点击添加可以增加房间,并可以设定一个主房间。
生成预订订单和入住订单,填写客户信息。
查询订单信息,可以全部查询,按订单号、主客身份证号,入住类型查询。
点击详情,可查看该订单的详细登记信息
点击修改,可以修改预订订单,也可以取消订单
查询入住订单,和预订订单类似。
入住信息修改
查询房间信息和客户信息
换房。
输入房间号可查询同类房间,点击确定可以换房。
退房结账。
输入订单号可以显示应缴金额。
管理员登陆界面
点击修改,可以显示自己个人信息并修改。
点击增加,可以增加房间类型和房间信息。
输入房间号或房间类型,可以查询房间信息。
修改房间信息后选择确定修改。
酒店简介。
7.3事务设计
自动生成订单号和登记号。
publicstaticsynchronizedStringnextCode(StringPREFIX){//产生序列号GregorianCalendarcalendar=newGregorianCalendar();intmonth=calendar.get(Calendar.MONTH)+1;intday=calendar.get(Calendar.DAY_OF_MONTH);inthour=calendar.get(Calendar.HOUR_OF_DAY);intminute=calendar.get(Calendar.MINUTE);intseconds=calendar.get(Calendar.SECOND);longm=month*100000000+day*1000000+hour*10000+minute*100+seconds;Stringn=((Long)m).toString();returnPREFIX+n;}调用时预订订单参数为“a”,入住订单为“b”。
登记号为入住号加后缀。
//需要自动生成散客入住订单号和登记号Xuliehaoxulie=newXuliehao();comeno=xulie.nextCode("b");//订单号registerno=comeno+"0";//登记号
//需要自动生成团体入住订单号和登记号Xuliehaoxulie=newXuliehao();comeno=xulie.nextCode("b");//订单号registerno=newString[message.length];//登记号registerno[i]=comeno+String.valueOf(i);
自动计算现在剩余各类房间数目
privateStringrest(Stringtypno){Stringsql1="selectcount(房间号)from客房信息where房间状态='可用'and房间类型号='"+typno+"'";Stringrest=null;ResultSeta;try{sc=newDBconnect();stat=DBconnect.getStatement();a=stat.executeQuery(sql1);while(a.next()){rest=a.getString
(1);}//System.out.print(a);
}catch(SQLExceptione){//TODOAuto-generatedcatchblocke.printStackTrace();}return}rest;
自动计算退房时应缴金额
try{PreparedStatementprs=conn.prepareStatement("select需收押金from
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 宾馆 信息管理 系统