数据库课程设计宾馆客房管理.docx
《数据库课程设计宾馆客房管理.docx》由会员分享,可在线阅读,更多相关《数据库课程设计宾馆客房管理.docx(28页珍藏版)》请在冰点文库上搜索。
数据库课程设计宾馆客房管理
课程设计说明书
题目:
宾馆管理系统
课程设计任务书
学号
学生姓名
专业(班级)
设计题目
人事管理系统
设
计
技
术
参
数
后台数据库选用SQLServer2000
开发语言:
isualBasic
应用程序与数据库的连接方式可以采用ADO、ODBC等。
设
计
要
求
开发的系统要能够实现对数据库的添加、删除、修改、查询四项基本功能。
工
作
量
说明书10000字
VB
数据库
工
作
计
划
论文不少于8000
完成VB模块与代码
完成数据库建表和代码
完成说明书部分
参
考
资
料
[1]作者:
李平一《VisualBasic6.0程序设计参考手册》出版社:
工业出版社出版日期:
2003.5.1
[2]作者:
王磊《VisualBasic开发指南》出版社:
邮电出版社出版日期:
2002.7.1
[3]作者:
蔡万坤编《新编酒店客房管理》出版社:
广东旅游出版社出版日期:
2003-1-1
[4]作者:
王磊《VisualBasic数据库开发指南》出版社:
清华大学出版社出版日期:
2001.8.1
年月日
目录
1、系统概述……………………………………………..................5
1.1题目设计与目的……………………………………………………………………….5
1.2开发背景……………………………………………………………………………….5
1.3开发环境………………………………………………………………………………..5
2.系统分析与设计………………………………………………….6
2.1编写目的………………………………………………………………………………..6
2.2系统功能分析…………………………………………………………………………..6
2.3功能概述………………………………………………………………………………..6
2.4实现目标………………………………………………………………………………..6
2.5业务流程…………………………………………………………………………………7
2.6系统功能模设计………………………………………………………………………..7
2.6.1系统功能模块图………………………………………………………………..8
2.7数据字典..............................................................8
3.数据库设计………………………………………………………...9
3.1数据库设计步骤…………………………………………………………………………9
3.11数据库需求分析图……………………………………………………………….10
宾馆管理信息系统数据流程图…………………………………………………….10
3.12数据库概念结构设计...............................................11
客房标准信息实体E-R图………………………………………………………..11
客房信息实体E-R图................................................11
订房信息实体E-R图结算信息实体E-R图…………………………………….12
实体之间关系E-R图……………………………………………………………..13
3.13数据库逻辑结构设计………………………………………………………………13
客房标准信息表…………………………………………………………………..13
客房信息表………………………………………………………………………….14
订房信息表………………………………………………………………………….14
数据库的选择和部分重要的SQL代码与VB代码………………………………..14
4.前台开发………………………………………………………..24
5.开发心得………………………………………………………..27
一、系统概述
一、题目设计意义及目的:
随着我国经济的迅速发展,人们的生活水平有了显著提高,假日经济和旅游经济已成为人们消费的热点。
各地也把旅游业当作本地经济发展的重要支柱之一,从而促进了宾馆酒店业的快速发展。
同时,随着宾馆酒店越来越多,人们的要求越来越高,宾馆酒店业的竞争也愈来愈激烈。
如何在激烈的竞争中生存发展,是每一个宾馆酒店必须面临的问题。
对宾馆的经营状况起决定作用的是宾馆的服务管理水平。
如何利用先进的管理手段,提高宾馆的管理水平,已成为宾馆酒店业发展的当务之急。
面对信息时代的机遇和挑战,利用科技手段提高企业管理无疑是一条行之有效的途径。
虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供强有力的支持。
因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆的管理效率、改善服务水准的重要手段之一。
在某种意义上,宾馆客房管理方面的信息化已成为现代化宾馆的重要标志。
所以我们需要更完善的数据库宾馆管理系统。
二、开发背景:
阳光海岸座落在美丽的三亚海滨,占地面积12000多平方米,建筑面积122000多平方米,职工800多人。
该宾馆设有豪华套间、标准间、普间、双人间,房间共388间。
有闭路电视、宽带100M、程控电话、国内国际直拨电话、电梯、中央空调、现代消防设施、大小餐厅2个、停车场、大小会议室2个,同时能接待120人住宿、50人以内的中小型会议,提供代购火车、汽车、飞机票等各种旅游观光服务。
随着信息技术的发展和人们对宾馆酒店的要求越来越高,该宾馆已明显觉得手工管理已不能适应当前宾馆高速发展的需要,已意识到使用计算机网络和计算机管理的重要性,决定首先在客房部采用宾馆客房管理系统。
三、开发环境:
CPU:
IntelPentium42GHz
内存:
512MB
操作系统:
MicrosoftWindowsServer2000+IIS5
后台数据库在MicrosoftSQLServer2000中文企业版
前台最终用户接口程序在InspriseDelphi7.0Enterprise英文版
二、系统分析与设计
一、编写目的:
宾馆在正常的运营中需要对客房资源、顾客信息、结算信息进行管理,利用宾馆管理信息系统及时了解各个环节中信息的变更,有利于提高管理效率。
二、系统功能分析:
系统开发的总体任务是实现宾馆各种信息的系统化、规范化和自动化。
主要完成功能:
● 有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等。
● 客房标准信息的修改、查询等。
● 客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。
● 客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。
● 剩余客房信息的查询等。
● 订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。
● 订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等。
● 结算信息的输入,包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等。
● 结算信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等。
三、功能概述:
该系统应充分利用信息技术提高宾馆客房的管理水平、服务水平。
宾馆客房管理系统要实现客房预定、住宿登记、宿费提醒、追加押金、调房登记、退房结账、挂账、查询统计、预收销售报表等等功能。
其中宿费提醒可以在住宿费超过押金时预警,提示前台要客人补交押金,该功能可明显提高对住宿人员宿费的有效管理。
将动态实时的住宿登记、客房调整、销售报表、追加押金等有机地联系在一起,对宾馆客房进行全方位的管理。
四、实现目标:
1>可轻松管理多楼号及数百间客房.
2>可完全定制的房态图. 能及时方便地查询实时房态,并处理打扫好的房间状态
3>灵活的复杂业务处理能力.业务规则可以由用户根据酒店实际情况自行设置,以
提高操作效率.
4>内置多种统计.提供各种明细查询.
5>对宾客预定,入住,续住,离店结账等业务进行处理。
6>能对宾客的消费等账务进行修理
7>对于处理好团队订房事务
8>能对客房消费对行相关处理,及时快速的查询和统计客房物品的消耗情况
五、业务流程
六、系统功能模块设计:
图Ⅰ系统功能模块图
七、数据字典:
本程序设计主要用于宾馆的客房管理,各部分具体功能如下:
欢迎界面.scx:
显示界面,并用命令按钮调用其他子表单;
主表单.scx:
为调用其他表单建立快捷菜单,方便使用;
预定登记.scx:
录入预定人的基本资料,查寻空房;
入住登记.scx:
登记已入住人的基本资料,查寻空房;
后台管理.scx:
浏览客房状态,并能调出:
客房资料维护、帐目浏览、月结算;
客房帐目.scx:
计算客房的帐目资料;
客房资料维护.scx:
对客房资料进行查寻、修改、添加、删除;
退出界面.scx:
退出系统。
三、数据库设计
1、数据库设计步骤:
●数据库需求分析
●数据库概念结构设计
●数据库逻辑结构设计
①数据库需求分析
分析调查有关宾馆管理信息需求的基础上得本系统所处理的数据流程
图Ⅱ 宾馆管理信息系统数据流程图
②数据库概念结构设计
本系统根据以上的设计规划出的实体有:
客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。
各个实体具体的描述E-R图如下:
客房信息实体E-R图
③数据库逻辑结构设计
首先将宾馆管理信息系统的数据库概念结构转化为SQL 2000数据库系统所支持的实际数据模型,即:
数据库的逻辑结构。
其各个表格的设计结果如下
客房标准信息表
列名 数据类型可否为空
客房编号 charNOT NULL (主键)
标准名称 charNOT NULL
房间面积 numericNULL
房间类型 charNULL
是否有空调 charNULL
是否有电话 charNULL
是否有电视 char NULL
是否有宽带 charNULL
单价 numericNULL
备注textNULL
客房信息表
列名 数据类型可否为空
客房编号 charNOT NULL (主键)
客房种类 charNOT NULL
客房位置 charNULL
是否被预定 charNOT NULL
备注 textNULL
订房信息表
列名 数据类型可否为空
客房编号 charNOT NULL (主键)
顾客姓名 charNOT NULL
身份证号码 charNOT NULL
入住日期 datetimeNULL
折扣 numericNULL
结算日期 datetimeNULL
金额 numericNULL
备注 textNULL
2、数据库的选择和部分重要的SQL代码与VB代码
创建系统用户表格 user_Info
CREATE TABLE [dbo].[user_Info1](
[user_ID][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[user_PWD] [char] (10) COLLATE Chinese_PRC_CI_AS NULL,
[user_Des] [char](10) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
创建客房标准信息表格 roomtype
CREATE TABLE [dbo].[roomtype](
[客房编号][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[标准名称][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[房间面积][numeric](5,0) NULL,
[是否有空调][char]
(2) COLLATE Chinese_PRC_CI_AS NULL,
[ 是否有电话][char]
(2) COLLATE Chinese_PRC_CI_AS NULL,
[是否有电视][char]
(2) COLLATE Chinese_PRC_CI_AS NULL,
[是否有宽带][char]
(2) COLLATE Chinese_PRC_CI_AS NULL,
[单价][numeric](10,2)NULL
[备注][text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
创建客房信息表格 rooms
CREATE TABLE [dbo].[rooms](
[客房编号][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[客房种类][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[客房位置][char](20) COLLATE Chinese_PRC_CI_AS NULL,
[是否被预定][char]
(2) COLLATE Chinese_PRC_CI_AS NOT NULL,
[备注][text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
创建订房信息表bookin
CREATE TABLE [dbo].[bookin](
[客房编号][char](18)COLLATE Chinese_PRC_CI_AS NOT NULL,
[顾客姓名][char](10) COLLATE Chinese_PRC_CI_AS NOT NULL,
[身份证号码][char](18) COLLATE Chinese_PRC_CI_AS NOT NULL,
[入住日期][datetime] NULL,
[折扣][numeric](2,0) NULL,
[结算日期][datetime] NULL,
[ 金额][numeric](10,2) NULL
[备注][text] COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
⒍宾馆管理信息系统具体程序实现
⑴创建公用模块 Module1.bas
添加公共数据操作函数,用以执行各种SQL语句。
添加函数ExecuteSQL,代码如下:
Public Function ExecuteSQL(ByValSQL As String,MsgString AsString)_ As ADODB.Recordset
‘执行SQL语句,并返回记录集对象
Dim cnn As ADODB.Connection
Dim rst As ADODB.Recordset
Dim sTokens() As String
‘异常处理
On Error GoTo ExecuteSQL_Error’
‘用Split函数产生一个包含各个子串的数组
sTokens=Split(SQL)
Set cnn=NEW ADODB.Connection
‘打开连接
cnn.Open ConnectString
If InStr(“INSERT,DELETE,UPDATE”,UCase$(sTokens(0))) Then
Cnn.Execute SQL
MsgString=sTokens(0)&”query successful”
Else
Set rst=NEW ADODO.Recordset
rst.Open Trim$(SQL),cnn,adOpenKeyset,adLockOptimistic
rst.MoveLast
get RecordCount
‘返回记录集对象
Set ExecuteSQL=rst
MsgString=”查询到”&rst.RecordCount&”条记录”
End If
ExecuteSQL_Exit:
Set rst=Nothing
Set cnn=Nothing
Exit Function
ExecuteSQL_Error:
MsgString=”查询错误:
”&Err.Description
Resume ExecuteSQL_Exit
End Function
Public Sub EnterToTab(Keyasc As Integer)
‘判断是否为回车键
If Keyasc=13 Then ‘ Keyasc用来保存当前按键
‘转换成Tab键
SendKeys”{TAB}”
End If
End sub
‘添加全局变量,用来记录各个窗口的读写状态,代码如下:
Public flagTedit As Boolean ‘ 标示是否进入修改的窗体
Public flagRedit As Boolean
Public flagBedit As Boolean
Public flagCedit As Boolean
Public gintCmode As Integer
Public gintTmode As Integer ’记录是添加还是修改状态,1为添加,2为修改
Public gintRmode As Integer
Public gintBmode As Integer
Public flagSedit As Boolean
⑵系统用户管理模块的创建
用户管理模块主要实现:
•用户登陆。
•添加用户。
•修改用户
具体客房标准添加代码:
Private Sub Form_Load() ‘载入窗体后,判断所处状态
Dim intCount As Integer
Dim MsgText As String
Dim i As Integer
If gintTmode=1 Then ‘判断是否属于添加状态
Me.Caption=Me.Caption & ”添加”
For i=0 To 3
Combo1(i).AddItem ”否”
Combo1(i).AddItem ”是”
Combo1(i).ListIndex=0
Next i
ElseIf gintTmode=2 Then ‘判断是否处于修改状态
Set mrc=ExecuteSql(txtSQL,MsgText)
If mrc.EOF=false Then
With mrc
For intCount=0 To 3
txtItem(intCount)=.Fields(intCount)
Next intCount
txtItem(4)=.Fileds(8)
For i=0 To 3
Combo1(i).Additem ”否”
Combo1(i).Additem ”是”
Combo1(i).ListIndex=0
Next i
End With
txtItem(0).Enabled=False
End If
Me.Caption=Me.caption&”修改”
End If
mblChang=False
End Sub
Private Sub cmd_Click()’用户输入内容完毕后,单击cmdSave按钮触发Click事件
Dim intCount As Integer
Dim sMeg As String
Dim MsgText As String
For intCount=0 To 4 ‘判断是否输入内容
If Trim(txtItem(intCount)&””)=”” Then
Select Case intCount
Case 0
sMeg=”客房
编号”
Case 1
sMeg=”标准名称”
Case 2
sMeg=”房间面积”
Case 3
sMeg=”房间类型“
Case 4
sMeg=”床位单价”
End Select
sMeg=sMeg&”不能为空!
”
MsgBox sMeg,vbOkOnly+vbExclamation,”警告”
txtItem(intCount).SetFocus
Exit Sub
End if
Next intCount ‘判断输入内容是否为数字
For intCount=2 To 4
If Not IsNumeric(Trim(txtItem(i