数据库课程设计酒店管理信息系统Word下载.docx
《数据库课程设计酒店管理信息系统Word下载.docx》由会员分享,可在线阅读,更多相关《数据库课程设计酒店管理信息系统Word下载.docx(18页珍藏版)》请在冰豆网上搜索。
结算信息查询
结算信息修改
结算信息添加
订房信息查询
订房信息修改
订房信息添加
剩余客房信息查询
设置客房信息
设置客房标准
密码管理
用户管理
客房信息查询
客房信息修改
客房信息添加
客房标准修改
客房标准添加
图Ⅰ系统功能模块图
⒋数据库设计
数据库设计步骤:
●数据库需求分析
●数据库概念结构设计
●数据库逻辑结构设计
①数据库需求分析
分析调查有关宾馆管理信息需求的基础上得本系统所处理的数据流程
图Ⅱ宾馆管理信息系统数据流程图
针对一般宾馆管理信息系统的需求,通过对宾馆管理过程的内容和流程分析,设计如下面所示的数据项和数据结构:
●客房标准信息,包括的数据项有:
标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视、电话、单独卫生间等。
●客房信息,包括的数据项有:
客房编号、客房种类、客房位置、客房单价、备注等。
●订房信息,包括的数据项有:
订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等。
●结算信息,包括的数据项有:
订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等。
②数据库概念结构设计
本系统根据以上的设计规划出的实体有:
客房标准信息实体、客房信息实体、订房信息实体、结算信息实体。
各个实体具体的描述E-R图如下:
客房标准信息实体E-R图
客房信息实体E-R图
订房信息实体E-R图
结算信息实体E-R图
实体之间关系E-R图
③数据库逻辑结构设计
首先将宾馆管理信息系统的数据库概念结构转化为SQL2000数据库系统所支持的实际数据模型,即:
数据库的逻辑结构。
其各个表格的设计结果如下
列名
数据类型
可否为空
说明
Typeid
Varchar
NOTNULL
标准编号
Typename
标准名称
Area
Numeric
NULL
房间面积
Bednum
床位数量
Haircondition
是否有空调
Htelephone
是否有电话
Htelevision
是否有电视
Htoilet
是否有单独卫生间
Price
单价
Roomtype客房标准信息表
roomNO
客房编号
Roomtype
客房种类
Roomposition
客房位置
Roomprice
Putup
是否被预定
Roommemo
Text
备注
Rooms客房信息表
说 明
Bookno
订房编号
Customname
NOTNULL
顾客姓名
CustomID
身份证号码
Roomno
Indate
Datetime
入住日期
Discount
折扣
Inmeno
Checkdate
结算日期
Amount
金额
Bookin订房信息表
⒌数据库结构的实现
利用SQL2000数据库系统中的查询分析实现数据库的逻辑结构,其表格如下:
创建系统用户表格user_Info
CREATETABLE[dbo].[user_Info1](
[user_ID][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[user_PWD][char](10)COLLATEChinese_PRC_CI_ASNULL,
[user_Des][char](10)COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]
创建客房标准信息表格 roomtype
CREATETABLE[dbo].[roomtype](
[typeid][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[typename][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[area][numeric](5,0)NULL,
[bednum][numeric](2,0)NULL,
[haircondition][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[htelephone][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[htelevision][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[htoilet][char]
(2)COLLATEChinese_PRC_CI_ASNULL,
[price][numeric](10,2)NULL
创建客房信息表格 rooms
CREATETABLE[dbo].[rooms](
[roomNO][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[roomtype][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[roomposition][char](20)COLLATEChinese_PRC_CI_ASNULL,
[roomprice][numeric](10,2)NULL,
[putup][char]
(2)COLLATEChinese_PRC_CI_ASNOTNULL,
[roommemo][text]COLLATEChinese_PRC_CI_ASNULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
创建订房信息表bookin
CREATETABLE[dbo].[bookin](
[bookno][char](14)COLLATEChinese_PRC_CI_ASNOTNULL,
[customname][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[customID][char](18)COLLATEChinese_PRC_CI_ASNOTNULL,
[roomno][char](10)COLLATEChinese_PRC_CI_ASNOTNULL,
[indate][datetime]NULL,
[discount][numeric](2,0)NULL,
[inmemo][text]COLLATEChinese_PRC_CI_ASNULL,
[checkdate][datetime]NULL,
[ammount][numeric](10,2)NULL
)ON[PRIMARY]TEXTIMAGE_ON[PRIMARY]
⒍宾馆管理信息系统具体程序实现
客房信息管理模块的创建
客房信息管理模块主要实现如下功能:
·
添加客房信息
修改客房信息
删除客房信息
查询客房信息
具体实现代码如下:
PrivateSubFrom_Load()‘载入窗体时,自动添加客房信息种类
DimsSqlAsString
DimintCountAsInteger
DimMsgTextAsString
DimmrccAsADODB.Recordset
IfgintRmode=1Then‘判断是否处于添加状态
Me.Caption=me.Caption&
“添加”
txtSQL=”selectDISTINCTtypenamefromroomtype”
Setmrc=ExecuteSQL(txtSQL,MsgText)
IfNotmrc.EOFThen
DoWhileNotmrc.EOF
cboItem(0).AddItemTrim(mrc.Fields(0))
mrc.MoveNext
Loop
cboItem(0).ListIndex=0‘显示记录内容
Else
MsgBox“请先进行客房标准设置!
”,vbOKOnly+vbExclamation,“警告”
cmdSave.Enabled=False
ExitSub
EndIf
mrc.Close
ElseIfgintRmode=2Then‘判断是否处于修改状态
Setmrcc=ExecuteSQL(txtSQL,MsgText)‘设置SQL语句显示当前选择记录
Ifmrcc.EOF=FalseThen
Withmrcc
txtItem(0)=.Fields(0)
ForintCount=1To2
IfNotIsNull(.Fields(intCount+1))Then‘判断内容是否为空
txtItem(intCount)=.Fields(intCount+1)
EndIf
NextintCount
txtItem(3)=.Fields(5)
cboItem(0).ListIndex=0
MsgBox“请先进行客房标准设置!
EndWith
mrcc.Close
Me.Caption=Me.Caption&
“修改”
mblChange=False
EndSub
PrivateSubcmdSave_Click()‘单击保存按钮触发事件
DimsMegAsString
DimMsgtextAsString
ForintCount=0To3
IfTrim(TxtItem(intCount)&
””)=””Then
SelectCaseintCount
Case0
sMeg=“客房编号”
Case1
sMeg=“客房位置”
EndSelect
sMeg=sMeg&
“不能为空!
”
MsgBoxsMeg,vbOKOnly+vbExclamation,“警告”
txtItem(intCount).SetFocus
IfgintRmode=1Then‘判断是否有重复记录
txtSQL=”select*fromroomswhereroomNO=‘”&
Trim(txtItem(0))&
”’”
Setmrc=ExecuteSQL(txtSQL,msgText)
Ifmrc.EOF=FalseThen
MsgBox“已经存在此客房编号的记录!
txtItem(0).SetFocus
IfgintRmode=2Then‘判断是否处于修改状态
txtSQL=”deletefromroomswhereroomNO=‘”&
txtSQL=”select*fromrooms”‘再加入新记录
mrc.AddNew‘为数据库对象添加记录
mrc.Fields(0)=Trim(txtItem(0))
mrc.Fields
(1)=Trim(txtItem(0))
IfTrim(txtItem(intCount)&
mrc.Fields(intCount+1)=Null
Else
mrc.Fields(intCount+1)=Trim(txtItem(intCount))
mrc.Fields(4)=””
mrc.Fields(5)=Trim(txtItem(3))
mrc.Update
IfgintRmode=1Then
txtItem(intCount)=””
IfflagReditThen
UnloadfrmRoom
frmRoom.txtSQL=”select*fromrooms”‘重新显示数据
frmRoom.Show
ElseIfgintRmode=2Then
UnloadMe
frmRoom.txtSQL=”select*fromrooms”
·
PrivateSubmenuModifyroom_Click()‘选择修改房间信息,触menuModifyroom的Click事件,程序判断为修改状态后,首先删除原有记录,然后把新内容加入到数据库中
IfflagReditThen‘判断记录窗体是否打开
IffrmRoom.msgList.Rows>
1Then‘判断客房信息列表内容是否为空
gintRmode=2‘设置为修改状态
intCount=frmRoom.msgList.Row‘纪录当前记录位置
frmRoom1.txtSQL=”select*fromroomswhereroomNO=’”&
Trim(frmRoom.msgList.TextMatrix(intCount,1))&
frmRoom1.Show
CallmenuAddroom_Click‘添加记录
EndIf
Else
EndIf
EndSub
PrivateSubmenuDeleteroom_Click()
DimtxtSQLAsString
DimmrcAsADODB.Recordset
IfflagTeditThen
IfMsgBox(“真的要删除这条文件记录么?
”,vbOKCancel+vbExclamation,“警告”)=vbOKThen
intCount=frmRoom.msgList.Row‘记载当前记录位置
txtSQL=”deletefromroomswhereroomNO=‘”&
Trim(frmRoom.msgList.TextMatrix(intCount,1)&
Setmrc=ExecuteSQL(txtSQL,MsgText)‘执行删除操作
UnloadfrmRoom
PrivateSubFrom_Load()‘载入窗体时,将自动加入所有记录的入库时间
DimiAsInteger
DimjAsInteger
txtSQL=”selectDISTINCTtypenamefromroomtype”‘初始化客房种类
Combo1.AddItemTrim(mrc.Fields(0))
Mrc.MoveNext
Combo1.ListIndex=0
”,vbOKOnly+vbExclamation,”警告”
PrivateSubcmdOK_Click()‘设置完查询内容和方式后,单击cmdOk按钮查询
DimsQSqlAsString
IfchkItem(0).Value=vbCheckedThen
sQSql=”roomNO=’”&
Trim(txtItem(0)&
””)&
IfchkItem
(1).Value=vbCheckedThen
IfTrim(sQSql&
sQSql=”roomtype=’”&
Trim(Combo1&
IfTrim(sQSql)=””Then
MsgBox“请设置查询条件!
frmRoom.txtSQL=”select*fromroomswhere”&
sQSql
Me.Hide
7.小结
对于本次课程设计主要从三方面,即知识、技能和态度,学生采用自我评估方式来检查自己,这样可以产生这种日常性的,内省方式的自我评估,以检查自己的学习进度和成绩,改进学习方法和增强学习自信心。