数据库 宾馆客房管理系统.doc_第1页
数据库 宾馆客房管理系统.doc_第2页
数据库 宾馆客房管理系统.doc_第3页
数据库 宾馆客房管理系统.doc_第4页
数据库 宾馆客房管理系统.doc_第5页
免费预览已结束,剩余15页可下载查看

下载本文档

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

文档简介

天津理工大学中环信息学院数据应用技术课程设计说明书数据库应用技术课程设计设计说明书河西宾馆客房管理系统起止日期: 2010 年 12 月 21 日 至 2010 年 12 月 31 日学生姓名班级成绩指导教师(签字)一、河西宾馆客房管理信息系统问题综述1、 问题提出 随着计算机技术的应用与发展,计算机作为一种工具已经越来越多地被使用在日常生活中的各个方面。其中,近年来流行的管理软件以其良好的用户界面,较高的可靠性、实用性等特性受到了使用者的好评。作为服务之一的宾馆业也在不断地完善服务体制。如今一些宾馆客房信息的管理软件使用混乱,人为的操作失误造成许多客房闲置或客房被重复预订。每当遇到客流高峰时,客房的利用率受到限制,造成宾馆损失客源,利润下降。2、 河西宾馆客房管理信息系统基本背景随着计算机应用的日益普及,数据库技术已成为越来越重要的技术基础。数据库是保证应用软件质量的重要环节,专业化、高效的应用系统对于数据库技术的要求也越来越高。在当今经济和商务交往日益频繁的状况下,宾馆服务行业正面临客流量骤增的压力。越来越多的宾馆饭店都认识到传统的管理方法已经不能适合当今社会的需要,必须借助先进的计算机信息技术对宾馆服务进行管理。“客房管理系统”可以说是整个宾馆计算机信息系统的中心子系统,因为宾馆最主要的功能就是为旅提供客房客。为了使河西宾馆在客房管理与客房预定上能够高效的完成,我将制作河西宾馆客房管理信息系统。2、 系统需求分析1、经过综合分析,确定了该系统应该包括如下功能: 1) 客房信息管理:提供有关客房类型状况的规范,如标准间、单人间、普间等的价格以及现在状态。 2) 客户信息管理:入住宾馆的顾客的基本个人信息、所住房间号以及入住时间。3) 查询功能:对所有房间信息的查询、可使用房间信息查询以及按房间号对房间信息的查询。 4) 入住管理功能:登记入住信息等。 5) 结算功能:管理员负责退房收款。 6) 管理员信息管理:添加、删除管理员以及管理员更改密码。2、 数据字典:2.1数据项:房间信息表:数据项名数据类型数据长度备注房间号char5不能为空类型char10允许为空价格char10允许为空状态char20允许为空顾客信息表:数据项名数据类型数据长度备注顾客姓名char10不能为空性别char2允许为空手机号varchar50允许为空身份证号varchar50允许为空房间号char5不能为空入住时间datetime8允许为空管理员:数据项目别名数据类型数据长度备注ID用户名char10不能为空password密码char10允许为空结账实体:数据项目数据类型数据长度备注顾客姓名char10不能为空房间号char5不能为空入住时间datetime8允许为空退房时间datetime8允许为空住宿费char10允许为空2.2数据结构:数据结构反映了数据之间的组合关系。一个数据结构可以由若干个数据项组成,也可以由若干个数据结构组成,或由若干个数据项和数据结构混合组成。本系统中对数据结构的具体描述如下:1) 数据结构名:房间 含义说明:是客房管理系统的主体数据结构,定义了房间的有关信息 组成:房间号、类型、价格、状态2) 数据结构名:顾客 含义说明:是客房管理系统中顾客的数据结构,定义了顾客的有关信息 组成:顾客姓名、性别、手机号、身份证号、房间号、入住时间3) 数据结构名:管理员 含义说明:是客房管理系统中管理员的数据结构,定义了管理员的有关信息 组成:ID、password4) 数据结构名:结账实体 含义说明:是客房管理系统中结账实体的数据结构,定义了结账的有关信息 组成:顾客姓名、房间号、入住时间、退房时间、住宿费2.3数据流:数据流是数据结构在系统内传输的路径。本系统中对数据流的具体描述如下:1) 数据流“添加”可描述如下: 数据流:添加顾客信息 说明:对宾馆中顾客的基本信息进行登记 数据流来源:顾客 数据流去向:添加信息2) 数据流“删除”可描述如下: 数据流:删除顾客信息 说明:对宾馆中顾客的基本信息进行删除 数据流来源:顾客信息 数据流去向:删除信息3) 数据流“添加”可描述如下: 数据流:添加管理员信息 说明:对宾馆中管理员的基本信息进行登记 数据流来源:管理员 数据流去向:添加信息4) 数据流“删除”可描述如下: 数据流:删除管理员信息 说明:对宾馆中的管理员基本信息进行删除 数据流来源:管理员信息 数据流去向:删除信息5)数据流“修改”可描述如下: 数据流:修改管理员信息 说明:对管理员的基本信息进行修改操作 数据流来源:管理员 数据流去向:修改信息6)数据流“修改”可描述如下: 数据流:修改房间信息 说明:对宾馆中的房间基本信息进行修改 数据流来源:房间 数据流去向:修改信息7)数据流“查询”可描述如下: 数据流:查询房间 说明:对宾馆中房间的基本信息进行查询 数据流来源:房间 数据流去向:查询处理8)数据流“删除”可描述如下: 数据流:删除房间 说明:对宾馆中房间的基本信息进行删除 数据流来源:房间 数据流去向:删除信息2.4数据存储:数据存储是数据结构停留或保存的地方,也是数据流的来源和去向之一。它可以手工文档或手工凭单,也可以是计算机文档。本系统中对数据存储的具体描述如下:1)顾客信息 简述:用来存储顾客的信息。 输入数据:顾客 输出数据:删除信息。2)房间信息 简述:用来存储房间的信息。 输入数据:房间 输出数据:删除信息。3)管理员信息 简述:用来存储管理员的信息。 输入数据:管理员 输出数据:删除信息。3、 数据流图:数据流图(Data Flow Diagram,DFD)是用来描绘软件系统逻辑模型的图形工具,用于描绘信息在系统中的流动和处理情况。设计DFD只需考虑软件系统必须完成的基本逻辑功能,完全不需考虑如何具体地实现这些功能,即只考虑软件“做什么”,而不必考虑“怎么做”。数据流图是结构系统分析的主要工具,它表示了系统内部信息的流向,并表示了系统的逻辑处理的功能,是一种功能模型。在数据流图中有四种基本符号,如表2-1所示。符号说明加工,输入数据在此进行变换产生输出数据,中间要注明加工的名字数据输入的源点和数据输出的终点,在其中要注明源泉点或终点的名字数据流,被加工的数据及数据流向,在箭头边要用名词或名词性短语给出数据流的名字数据存储文件,要用名词或名词性短语给出数据文件的名字表2-1 数据流图基本符号的意义宾馆客房管理系统数据流图如图2-1所示:图2-1 顶层数据流图图2-2 0层数据流图三、系统总体设计1、宾馆客房管理系统功能模块图如下:图3-1 系统总体结构图四、数据库设计1、数据库概念结构设计,E-R图如下:图4-1 E-R图逻辑结构设计,将上述概念模型转换为关系模式,并进行优化分析。2.1根据上述系统功能分析,针对各功能模块的需求,总结出各信息之间的联系如下:顾客与房间之间的联系:一名顾客入住一间房间,一间房间允许一名顾客入住,所以顾客与房间之间是一对一的联系。管理员与顾客之间的联系:一名管理员可以管理多名顾客,一名顾客被一名管理员管理,所以管理员与顾客之间是一对多的联系。管理员与房间之间的联系:一名管理员可以管理多个房间,一个房间被一名管理员管理,所以管理员与房间之间是一对多的联系。管理员与结账实体之间的联系:一名管理员可以负责多个用户的退房收款工作,一名用户结账时有一名管理员负责,所以管理员与结账实体之间是一对多的联系。2.2依照该规则将宾馆客房管理系统的E-R图转换为关系模型如下: 顾客信息表(顾客编号,姓名,性别,身份证号,手机号,房间号,入住时间) 房间信息表(房间号,类型,价格,状态) 管理员(ID,password) 结账实体(顾客编号,房间号,入住时间,退房时间,住宿费)2、 物理设计选择SQLServer2000作为本信息系统的数据库管理系统。选择Visual Studio2008中对合同信息和档案信息进行设计。五、系统详细设计系统模块包括登录窗口的设计,房间信息的修改、查询、删除;顾客信息的录入、删除;管理员信息的录入、修改、删除;结账实体的查询窗口的设计。1、连接数据库代码Imports System.Data.SqlClientPublic Class Form1 Inherits System.Windows.Forms.Form Dim conn As New SqlConnection(Server=.;Database=李雯08070033;Integrated Security=SSPI) Dim comm As New SqlCommand Dim ds As New DataSetDim da As New SqlDataAdapterEnd Class2、登陆界面(界面设置了用户登录的确认机制)确定按钮的单击事件代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim user As String Dim password As String user = TextBox1.Text password = TextBox2.Text Dim str As String str = select ID,Password from 管理员 where ID= & user & and Password= & password & comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm Try conn.Open() da.Fill(ds) If ds.Tables(0).Rows.Count 0 Then Dim frm1 As New Form5 frm1.Show() Me.Hide() Else MessageBox.Show(密码或用户名错误,请重新输入, 提示信息) TextBox1.Text = TextBox2.Text = TextBox1.Focus() End If Catch ex As Exception MessageBox.Show(登陆失败, 提示信息) End Try End Sub退出按钮的单击事件代码: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Application.Exit()End Sub3、 宾馆客房管理系统界面顾客信息登记按钮的单击事件代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim frm5 As New Form3 frm5.Show() Me.Hide() End Sub房间信息查询按钮的单击事件代码: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim frm5 As New Form2 frm5.Show() Me.Hide()End Sub信息更新按钮的单击事件代码: Private Sub Button5_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button5.Click Dim frm5 As New Form6 frm5.Show() Me.Hide()End Sub结账按钮单击事件的代码: Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim frm5 As New Form4 frm5.Show() Me.Hide()End Sub退出按钮单击事件的代码: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim frm5 As New Form1 frm5.Show() Me.Hide() End Sub3、顾客信息登记界面登记按钮单击事件的代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim str As String str = insert into 顾客信息表 values( & TextBox1.Text & , & TextBox2.Text & , & TextBox3.Text & , & TextBox4.Text & , & TextBox5.Text & , & TextBox6.Text & ) If conn.State = ConnectionState.Closed Then conn.Open() End If comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds, 顾客信息表) str = select * from 顾客信息表 where 顾客姓名= & TextBox1.Text & comm.CommandText = str da.SelectCommand = comm da.Fill(ds, 顾客信息表) DataGridView1.DataSource = ds.Tables(顾客信息表) conn.Close() End Sub重置按钮单击事件的代码: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click TextBox1.Text = TextBox2.Text = TextBox3.Text = TextBox4.Text = TextBox5.Text = TextBox6.Text = End Sub返回按钮单击事件的代码: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click Dim frm3 As New Form5 frm3.Show() Me.Hide() End Sub4、房间信息查询界面房间使用查询按钮单击事件的代码: Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If conn.State = ConnectionState.Closed Then conn.Open() End If Dim a As String a = select * from 房间信息表 comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = a da.SelectCommand = comm ds.Tables.Clear() DataGridView1.Invalidate() da.Fill(ds, 房间信息表) DataGridView1.DataSource = ds.Tables(房间信息表) If conn.State = ConnectionState.Open Then conn.Close() End If End Sub可用房间查询按钮单击事件的代码: Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click If conn.State = ConnectionState.Closed Then conn.Open() End If Dim a As String a = select * from 房间信息表 where 状态=未使用 comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = a da.SelectCommand = comm ds.Tables.Clear() DataGridView1.Invalidate() da.Fill(ds, 房间信息表) DataGridView1.DataSource = ds.Tables(房间信息表) If conn.State = ConnectionState.Open Then conn.Close() End If End Sub房间号查询按钮单击事件的代码: Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button3.Click If conn.State = ConnectionState.Closed Then conn.Open() End If Dim a As String a = select * from 房间信息表 where 房间号= & TextBox1.Text & comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = a da.SelectCommand = comm ds.Tables.Clear() DataGridView1.Invalidate() da.Fill(ds, 房间信息表) DataGridView1.DataSource = ds.Tables(房间信息表) If conn.State = ConnectionState.Open Then conn.Close() End If End Sub返回按钮单击事件的代码:Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click Dim frm1 As New Form5 frm1.Show() Me.Hide()End Sub5、信息更新界面房间信息更新按钮单击事件的代码: Private Sub 修改房间信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 修改房间信息ToolStripMenuItem.Click Dim frm6 As New Form10 frm6.Show() Me.Hide() End Sub Private Sub 删除房间信息ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 删除房间信息ToolStripMenuItem.Click Dim frm6 As New Form11 frm6.Show() Me.Hide() End Sub管理员信息更新按钮单击事件的代码: Private Sub 添加管理员ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 添加管理员ToolStripMenuItem.Click Dim frm6 As New Form7 frm6.Show() Me.Hide() End SubPrivate Sub 修改管理员ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 修改管理员ToolStripMenuItem.Click Dim frm6 As New Form8 frm6.Show() Me.Hide() End SubPrivate Sub 删除管理员ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 删除管理员ToolStripMenuItem.Click Dim frm6 As New Form9 frm6.Show() Me.Hide() End Sub返回按钮单击事件的代码:Private Sub 返回ToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles 返回ToolStripMenuItem.Click Dim frm6 As New Form5 frm6.Show() Me.Hide() End Sub6、删除房间信息界面查询按钮单击事件的代码:Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If conn.State = ConnectionState.Closed Then conn.Open() End If Dim a As String a = select * from 结账实体 where 房间号= & TextBox1.Text & comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = a da.SelectCommand = comm ds.Tables.Clear() DataGridView1.Invalidate() da.Fill(ds, 结账实体) DataGridView1.DataSource = ds.Tables(结账实体) If conn.State = ConnectionState.Open Then conn.Close() End If End Sub删除按钮单击事件的代码:Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click Dim str As String str = DELETE 顾客信息表 WHERE 房间号= & TextBox1.Text & If conn.State = ConnectionState.Closed Then conn.Open() End If comm.Connection = conn comm.CommandType = CommandType.Text comm.CommandText = str da.SelectCommand = comm da.Fill(ds, 顾客信息表) DataGridView1.DataSource = ds.Tables( 顾客信息表) conn.Close()End Sub返回按钮单击事件的代码:Private Sub Button3_Click(ByVal sender As System.Object

温馨提示

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

评论

0/150

提交评论