宾馆客房管理系统

更新时间:2023-08-18 17:38:01 阅读量: 资格考试认证 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

宾馆客房管理设计,工具sql和vs2008.

《信息系统与数据库技术》技术实践

1.课程设计目的和要求 1.1 设计目的

本课程设计是信息系统设计的实践性环节之一,是在学习完《信息系统与数据库》课程后进行的一次全面的综合技术实践。通过数据库课程设计,旨在检验和提高学习数据库的能力,有助于培养学习兴趣。

1.2 设计要求

本次课程设计选择宾馆客房管理系统为设计题目,要求设计出可适用于宾馆客房的各项管理要求.通过本系统,能够实现完成客户入住信息登记、会员注册、电话订单生成、客户退房结账和宾馆内部客房管理等相关功能。要求结合课堂所学知识和生活中的信息管理和应用需求,完成本次宾馆客房管理系统的设计和实现。

2.需求分析

为提高宾馆客房管理效率,合理配置各种信息资源,可以对客房管理系统进行分模块设计。设计应该综合参考其简捷、高效和便于操作的特性以及安全无漏洞的基本要求。宾馆客房管理系统可以分为客户开房登记(含退房结账)、客房查询管理、会员服务以及电话预定等模块。

图1-数据流图

宾馆客房管理设计,工具sql和vs2008.

通过数据流图可以知道,宾馆客房管理系统的结构功能可以分为开房/结账部分、客房管理、会员管理、电话预定四个基本部分。客户通过入住时开房登记,可以完成客人入住时客人基本信息的登记,与此同时生成入住信息。同时,入住信息同步到会员管理模块,自动对用户进行会员身份登记。在下一次客户入住时,将自动调用会员信息;客户入住信息传递到客房管理部分,可以进行入住查询和宾馆客房查询;同时,客户可以通过电话渠道预定客房,通过电话预定处理部分,生成预定信息表。系统将通过核实预定的房间更改客房信息,确保该预定的客房不再被其他客户入住。在客户退房结账的时候,将自动调用入住信息和会员信息,为客户进行账务计算和相应的会员特惠,该部分与开房入住部分合并为开房/结账模块。

系统的功能模块图如下:

图2-功能模块图

系统的功能模块图全面概括了客房管理系统的需求要点。四个基本模块下分别含有各自的详细功能。宾馆工作人员通过操作这些最详细的功能来实现宾馆的日常经营管理。

3.数据库设计 3.1 概念设计

这里确定用自底向上的方法进行概念结构设计,即首先定义个局部应用的概念结构,然后将他们集成起来,得到全局概念结构。通过对系统的数据分析,可以具体确定设计出客人、房间、预订房间和会员四个实体,以及客人、宾馆房间、预订房间和会员之间的关系。对于每个实体,根据生活中的经验和实际需求可以设置出其对应的属性。如客户的属性有姓名、客户证件号、联系电话、客户类型等,宾馆房间有房间号、价格、房间楼层、

宾馆客房管理设计,工具sql和vs2008.

房间类型等,预订房间的属性有订单/预定号、房间号、客户证件号、姓名、预付款、入住时间、退房时间等。会员的属性有姓名,会员号,优惠额度等。实体之间的联系也可以确定下来,客人入住房间是一个联系,注册会员也是一个联系。以下是聚集型数据抽象方式:

宾馆客房管理设计,工具sql和vs2008.

实体联系模型(E-R图)如下:

图3-概念结构设计

图4-(E-R)图

3.2 逻辑设计

通过对系统的概念设计,可以具体整理出所需要的各个实体的属性及其对应属性。为了更直接的确定出系统的基本关系模式,就需要进行逻辑设计。为方便个数据表之间的连接,更好地管理系统,这里决定插入一张新表,用于结算账目。通过逻辑设计,将概念模式图转换为如下四个基本关系模式,且另外再添加一个新插入的关系模型:

客户(证件号,姓名,电话,客户类型) 客房(房间号,房间类型,价格,房间楼层)

预订客房(预订号,客户姓名,入住时间,预付款,证件号,房间号)

宾馆客房管理设计,工具sql和vs2008.

会员(会员号,姓名,优惠度)

账目(打印号,消费,月结,总计,预定号,天数)

3.3 物理设计

在做好概念设计和逻辑设计的工作后,就可以对系统进行实际的上机操作了。但在进行系统的实际设计之前,为了能够更好的理清所需要创建的实体的属性及每个属性对应的取值范围,还需要对系统进行物理设计。

通过物理设计,需要创建一个宾馆Hotel1数据库,在Hotel1数据库下面,可以创建出与实体对应的t_guest(客户信息表)、t_room(客房信息表)、t_book(预订客房表),t_vip(会员信息表)和t_check(账目表)。每一个表中包含的信息要与实体的对应属性相一致,再根据表中每一个字段的信息特性确定出字段的类型定义,以及各个表的主键、索引的创建工作。当然,每一个表之间的关系在E-R图中已经确定,外键关系也可以在物理设计环节确定下来。

1.t_guest(客户信息表)

2.t_book(预定客房表)

宾馆客房管理设计,工具sql和vs2008.

其中,预付款默认值为’0’,表示没有预付房款。

3.t_room(客房信息表)

4.t_vip(会员信息表)

5.t_check(账目表)

宾馆客房管理设计,工具sql和vs2008.

4.系统开发

通过对数据库设计的理论分析,进行了概念设计、逻辑设计、物理设计的相关工作,在此基础上就可以对系统上机进行开发设计了。首先,在SQL2005中创建一个Hotel1数据库,并为Hotel1数据库新建出t_guest(客户信息表)、t_room(客房信息表)、t_book(预订客房表),t_vip(会员信息表)和t_check(账目表)。然后,按照物理设计部分的分析结果为每个表添加内容。具体上机实践结果如下:

图5-1客户信息表结构

图5-2客户信息表实例数据

客户信息表实例数据

图5-3预定信息表结构

预订信息表结构

宾馆客房管理设计,工具sql和vs2008.

图5-4预定信息表实例数据

图5-5房间信息表结构

图5-6房间信息表实例数据

宾馆客房管理设计,工具sql和vs2008.

图5-7会员信息表结构

图5-8会员信息表实例数据

图5-9账目表结构

图5-10账目表实例数据

宾馆客房管理设计,工具sql和vs2008.

程序设计界面如下:

图6-1开房界面

图6-2会员信息管理界面

宾馆客房管理设计,工具sql和vs2008.

图6-3退房结账界面

图6-4客房查询界面

宾馆客房管理设计,工具sql和vs2008.

图6-5入住查询界面

图6-6电话订房管理界面

宾馆客房管理设计,工具sql和vs2008.

5.课程设计总结

在本次课程设计中,我首先对项目做了整体的计划,前期准备比较充分,这为后期的设计、实施奠定了基础。当然,在实施过程中也遇到了很多问题,以至于拖延了计划时间。比如,用sql设计数据库时,经常遇到各种数据库软件提示的未知名错误,经过多次重新创建表才面前解决。在用visual studio 200设计程序时,在检查数据库和连接数据库代码以及各项操作代码都没有问题的情况下(可以显示数据库中已有的记录),无法显示基础设计出的表单页面,运行中也没有提示错误;基本构架不能对数据库进行除查看外的一切操作;在不同电脑运行结果不同等问题。另外,在寻找第三方软件时也花费了诸多功夫,因为要寻找到匹配设计方案的软件,并且在功能上能够最大限度的实现。虽然过程中出现了诸多问题,但是在老师和同学大量的帮助下,最终完成了项目。

经过这段时间的精心设计,系统的基本功能已经实现,并能实践于一些业务管理过程中,但是宾馆客房管理系统我也并不是完全了解业务的流程。虽然,住过酒店但是内部的操作不是特别清楚具体步骤,因此在设计上也许存在一定的缺陷。个人认为,在劳动密集型的服务性企业中,宾馆业是较早应用了计算机管理系统的行业。随着酒店业务的扩展,服务的增加,宾馆客房管理系统也逐渐发展、完善。如果没有一套可靠的宾馆客房管理系统,但凭手工操作,不仅效率低下,而且会极大地形象到宾馆酒店的服务质量。要在酒店服务中选择好适合自己酒店实际情况的业务管理系统不仅要考虑该系统在宾馆的实用性,还要考虑宾馆对该系统所能够承担费用的能力,以及这个系统对操作员来说的操作难易程度。

感谢老师和同学的帮助,在这次课程设计中,让我再次感觉到课上认真听讲的重要性!

6.附录

1. 参考文献

[1]visual basic 课程设计案例精编 清华大学出版社 白晓勇,余健等 [2]信息系统与数据库技术 机械工业出版社 上海市教委等

2. 程序清单

创建数据库的sql语句代码如下:

图7-1创建数据库

hotel1

宾馆客房管理设计,工具sql和vs2008.

在创建各数据表时,参考了如下的创建顺序:t_guest > t_room > t_book > t_check > t_vip ,这样创建符合逻辑思考,且容易创设外键关系。创建各数据表的具体sql代码如下:

创建t_guest表

图7-2创建t_guest 表

图7-3创建t_room表

图7-4创建t_book表

宾馆客房管理设计,工具sql和vs2008.

图7-5创建t_check表

图7-6创建t_vip表

在数据库和各数据库的表创设之后,为t_room表录入宾馆客房各项数据。这些工作完成后,开始在visual studio 2008软件中用开发宾馆客房管理系统的应用程序,即可操作界面。

以下为该具体代码:

Imports System.Data.SqlClient Public Class Form1

Dim sql As New SqlConnection("data source =zheng-hp\sqlexpress;initial catalog =hotel1;integrated security=true") Dim yuju As String

Dim spq As SqlDataAdapter Dim sjj As New DataSet()

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load

Dim yuju9 As String = "select * from t_room " Dim spq9 As SqlDataAdapter

spq9 = New SqlDataAdapter(yuju9, sql) Dim sjj9 As New DataSet() spq9.Fill(sjj9, "inn1"

)

宾馆客房管理设计,工具sql和vs2008.

ComboBox1.DataSource = sjj9.Tables("inn1")

ComboBox1.DisplayMember = sjj9.Tables("inn1").Columns(0).ToString ComboBox2.DataSource = sjj9.Tables("inn1")

ComboBox2.DisplayMember = sjj9.Tables("inn1").Columns(2).ToString ComboBox3.DataSource = sjj9.Tables("inn1")

ComboBox3.DisplayMember = sjj9.Tables("inn1").Columns(1).ToString ComboBox4.DataSource = sjj9.Tables("inn1")

ComboBox4.DisplayMember = sjj9.Tables("inn1").Columns(0).ToString End Sub

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim yuju1 As String = "insert into t_guest values('" & TextBox1.Text & "','" & ListBox1.Text & "','" & TextBox2.Text & "','" & TextBox3.Text & "')"

Dim yuju2 As String = "insert into t_book values('" & TextBox2.Text & "','" & TextBox6.Text & "','" & ComboBox4.Text & "','" & TextBox4.Text & "'" & _ ",' ','" & TextBox15.Text & "')"

Dim yujuz As String = "update t_room set status='false' where roomid='" & ComboBox4.Text & "'"

Dim cmmd As New SqlCommand(yuju1, sql) Dim cmmd2 As New SqlCommand(yuju2, sql) Dim i As Integer Dim d As Integer sql.Open() Try

i = cmmd.ExecuteNonQuery() d = cmmd2.ExecuteNonQuery() Catch wx As Exception MsgBox(wx.Message)

End Try sql.Close()

MsgBox("客户入住成功!")

End Sub

Private Sub Button9_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button9.Click

Dim yuju3 As String = "insert into t_vip values('" & TextBox21.Text & "','" & TextBox22.Text & "','" & TextBox23.Text & "','" & TextBox25.Text & "')" Dim cmmd3 As New SqlCommand(yuju3, sql)

宾馆客房管理设计,工具sql和vs2008.

Dim ee As Integer sql.Open() Try

ee = cmmd3.ExecuteNonQuery() Catch wx2 As Exception MsgBox(wx2.Message)

End Try sql.Close()

MsgBox("欢迎您,尊贵的会员!") End Sub

Private Sub Button10_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button10.Click yuju = "select * from t_vip"

spq = New SqlDataAdapter(yuju, sql) spq.Fill(sjj, "001")

DataGrid4.DataSource = sjj.Tables("001") End Sub

Private Sub Button11_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button11.Click

Dim yuju4 As String = "insert into t_guest values('" & TextBox5.Text & "','','" & TextBox8.Text & "','" & TextBox7.Text & "')"

Dim yuju6 As String = "insert into t_book values('" & TextBox8.Text & "','','" & TextBox9.Text & "','','','" & TextBox10.Text & "')"

Dim cmmd4 As New SqlCommand(yuju4, sql) Dim cmmd6 As New SqlCommand(yuju6, sql) Dim ee2 As Integer Dim ee6 As Integer sql.Open() Try

ee2 = cmmd4.ExecuteNonQuery() ee6 = cmmd4.ExecuteNonQuery() Catch wx3 As Exception MsgBox(wx3.Message)

End Try sql.Close()

MsgBox("预订成功!") End Sub

Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As

宾馆客房管理设计,工具sql和vs2008.

System.EventArgs) Handles Button3.Click

Dim yuju7 As String = "select guestname,intime from t_book and t_guest where t_book.guestid=t_guest.guestid and orderno='" & TextBox14.Text & "' " Dim spq7 As SqlDataAdapter

spq7 = New SqlDataAdapter(yuju7, sql) Dim sjj7 As New DataSet() spq7.Fill(sjj7, "inn")

DataGrid1.DataSource = sjj7.Tables("inn")

End Sub

Private Sub Button4_Click(ByVal sender As System.Object, System.EventArgs) Handles Button4.Click

Dim yuju8 As String = "select * from t_book and t_book.guestid=t_guest.guestid " Dim spq8 As SqlDataAdapter

spq8 = New SqlDataAdapter(yuju8, sql) Dim sjj8 As New DataSet() spq8.Fill(sjj8, "inn3")

DataGrid1.DataSource = sjj8.Tables("inn3")

End Sub

Private Sub Button6_Click(ByVal sender As System.Object, System.EventArgs) Handles Button6.Click

Dim yujua As String = "select * from t_room where ComboBox2.Text & "' "

Dim spqa As SqlDataAdapter

spqa = New SqlDataAdapter(yujua, sql) Dim sjja As New DataSet() spqa.Fill(sjja, "inna")

DataGrid2.DataSource = sjja.Tables("inna") End Sub

Private Sub Button7_Click(ByVal sender As System.Object, System.EventArgs) Handles Button7.Click

Dim yuju9 As String = "select * from t_room " Dim spq9 As SqlDataAdapter

spq9 = New SqlDataAdapter(yuju9, sql) Dim sjj9 As New DataSet() spq9.Fill(sjj9, "inn1")

DataGrid2.DataSource = sjj9.Tables("inn1") End Sub

ByVal e As t_guest where ByVal e As position='" & ByVal e As

宾馆客房管理设计,工具sql和vs2008.

Private Sub Button12_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button12.Click

Dim yuju10 As String = "select orderno,bookmoney,discount from t_book , t_vip where t_book.guestid=t_vip.guestid and roomid='" & TextBox16.Text & "' " Dim spq10 As SqlDataAdapter

spq10 = New SqlDataAdapter(yuju10, sql) Dim sjj10 As New DataSet() spq10.Fill(sjj10, "inn2")

DataGrid2.DataSource = sjj10.Tables("inn2") Dim mybind As BindingManagerBase mybind = BindingContext(sjj10, "inn2")

TextBox17.DataBindings.Add("text", sjj10.Tables("inn2"), "orderno") TextBox18.DataBindings.Add("text", sjj10.Tables("inn2"), "discount") TextBox19.DataBindings.Add("text", sjj10.Tables("inn2"), "bookmoney")

End Sub

Private Sub Button8_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button8.Click

Dim yuju11 As String = "select orderno,bookmoney,discount,intime,bookmoney from t_room and t_vip where t_room.guestid=t_vip.guestid and roomid='" & TextBox16.Text & "' " Dim spq11 As SqlDataAdapter

spq11 = New SqlDataAdapter(yuju11, sql) Dim sjj11 As New DataSet() spq11.Fill(sjj11, "inn5")

TextBox20.Text = sjj11.Tables("inn5").Columns(4).ToString

Dim yujus As String = "update t_room set status='true' where roomid='" & TextBox16.Text & "'"

Dim cmmds As New SqlCommand(yujus, sql)

Dim yuju15 As String = "insert into t_check values('" & TextBox17.Text & "','','','" & TextBox20.Text & "','','" & TextBox17.Text & "')"

Dim cmmd15 As New SqlCommand(yuju15, sql)

Dim yuju16 As String = "delete from t_book where roomid='" & TextBox16.Text & "'"

Dim cmmd16 As New SqlCommand(yuju16,sql) Dim ii As Integer Dim ff As Integer Dim tt As Integer sql.Open() Try

ii = cmmds.ExecuteNonQuery() ff = cmmds.ExecuteNonQuery() tt = cmmds.ExecuteNonQuery()

宾馆客房管理设计,工具sql和vs2008.

《信息系统与数据库技术》技术实践

Catch wxs As Exception MsgBox(wxs.Message) End Try sql.Close()

MsgBox("退房成功!欢迎再次光临!") End Sub

Private Sub Button2_Click(ByVal sender As System.Object, System.EventArgs) Handles Button2.Click End End Sub

Private Sub Button13_Click(ByVal sender As System.Object, System.EventArgs) Handles Button13.Click

Dim yujub As String = "select * from t_room where ComboBox1.Text & "' "

Dim spqb As SqlDataAdapter

spqb = New SqlDataAdapter(yujub, sql) Dim sjjb As New DataSet() spqb.Fill(sjjb, "innb")

DataGrid2.DataSource = sjjb.Tables("innb") End Sub

Private Sub Button14_Click(ByVal sender As System.Object, System.EventArgs) Handles Button14.Click

Dim yujuc As String = "select * from t_room where ComboBox3.Text & "' "

Dim spqc As SqlDataAdapter

spqc = New SqlDataAdapter(yujuc, sql) Dim sjjc As New DataSet() spqc.Fill(sjjc, "inna")

DataGrid2.DataSource = sjjc.Tables("innc") End Sub

End Class

20

ByVal e As

ByVal e As position='" &

ByVal e As position='" &

本文来源:https://www.bwwdw.com/article/btpj.html

Top