酒店管理系统SQL数据库实验设计
酒店管理信息系统数据库设计

《数据库原理及应用》课程设计报告设计题目:酒店管理信息系统数据库设计目录目录 (1)1数据库需求分析 (2)1.1调查对象基本情况说明 (2)1.2数据库系统设计目标及具体功能 (2)2数据库概念结构设计 (2)2.1实体及属性说明 (2)2.2 E-R图设计 (3)3数据库逻辑结构设计 (4)3.1数据库逻辑结构设计 (4)3.2主要表的作用说明及内容图示 (5)4主要视图设计 (6)5安全体系设计 (9)6典型需求的处理过程及命令 (10)7总结 (11)7.1 设计中遇到的主要问题及解决方法 (11)7.2 设计方案的主要优点及不足 (12)7.3 收获及建议 (12)参考文献 (12)酒店管理信息系统数据库设计1数据库需求分析1.1调查对象基本情况说明酒店有总经理、会计和前台工作人员。
总经理总管各类事务,会计负责对酒店收入统计管理,前台负责客人的入住、退房以及一般的查询等事务办理。
酒店有各种标准的房间。
房间数据包括房间号、房间级别、房间床位数目、房间价位以及房间的状态(是否已经有客人)。
房间编号唯一表示一个房间,房间级别决定房间价格,房间有四种级别分别表示:四人标准间、二人标准间,单人标准间,豪华间。
房间状态表示此房间是否入住或者转房。
酒店要求了解顾客的一般信息,能够为顾客提供入住、换房、退房、随时交费服务,并能够满足顾客对自身消费以及酒店房间状况等各类信息的查询要求。
酒店在正常运营中需要对客房资源、顾客信息、顾客住宿情况、收费信息进行管理。
一套功能强大而又使用简便实用的酒店管理系统有利于提高管理效率。
1.2数据库系统设计目标及具体功能1、系统设计的总体目标:实现酒店各种信息的系统化、规范化和自动化,提供客户、客房信息录入和查询修改,客户住宿情况的变动管理以及酒店与客户的费用统计查询。
进一步的提高酒店的管理效率。
2、主要功能:不同等级客房信息的录入与记录,客人的信息登记,客人的入住、换房、退房、交费信息记录,有关客人交费情况、酒店住宿收入情况、客房状态、客人各类信息等各种强大的统计报表,另外还提供各类统计查询。
数据库课程设计酒店管理信息系统

酒店管理信息系统系统平台: Windows 2000数据库服务器: MicrosoftSQL Server 2000开发工具: Visual Basic 6.0系统开发人员:⒈编写目地酒店在正常地运营中需要对客房资源、顾客信息、结算信息进行管理 , 利用宾馆管理信息系统及时了解各个环节中信息地变更, 有利于提高管理效率 . b5E2RGbCAP⒉系统功能分析系统开发地总体任务是实现宾馆各种信息地系统化、规范化和自动化.主要完成功能:●有关客房标准地制定、标准信息地输入 , 包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、电话以及单独卫生间等 . p1EanqFDPw●客房标准信息地修改、查询等.●客房基本信息地输入 , 包括客房编号、客房类型、客房位置、客房单价、备注等 .●客房基本信息地查询、修改 , 包括客房编号、客房类型、客房位置、客房单价、备注等 .●剩余客房信息地查询等 .●订房信息地输入 , 包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等 . DXDiTa9E3d●订房信息地修改和查询, 包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、备注信息等 . RTCrpUDGiT●结算信息地输入 , 包括客房编号、客房种类、位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结算日期、备注信息等 . 5PCzVD7HxA●结算信息地修改和查询 , 包括客房编号、客房种类、客房位置、客房单价、顾客姓名、顾客身份证号码、入住日期、折扣、结日期、备注信息等 . jLBHrnAILg⒊系统功能模块设计按结构化程序设计思想 , 分析得出如下系统功能模块图宾馆管理信息系统结订客算房房系信信信统息息息管管管管理理理理剩结结结订订订余设设算算算房房房客置置密用信信信信信信房客客码户息息息息息息信房房管管查修添查修添息信标理理询改加询改加查息准询客客客客客房房房房房信信信标标息息息准准查修添修添询改加改加xHAQX74J0X图Ⅰ系统功能模块图⒋数据库设计数据库设计步骤:●数据库需求分析●数据库概念结构设计●数据库逻辑结构设计①数据库需求分析分析调查有关宾馆管理信息需求地基础上得本系统所处理地数据流程客房标准设置客房登记基本信息输入基本信息录入客房信息管理顾客登记订房信息管理订房信息管理客房信息返回结算信息输入结算信息管理LDAYtRyKfE图Ⅱ 宾馆管理信息系统数据流程图针对一般宾馆管理信息系统地需求, 通过对宾馆管理过程地内容和流程分析,设计如下面所示地数据项和数据结构:Zzz6ZB2Ltk●客房标准信息 , 包括地数据项有:标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视、电话、单独卫生间等 . dvzfvkwMI1●客房信息 , 包括地数据项有:客房编号、客房种类、客房位置、客房单价、备注等 .●订房信息 , 包括地数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、备注等 . rqyn14ZNXI●结算信息 , 包括地数据项有:订房编号、客房编号、客房种类、客房位置、客房备注信息、顾客姓名、顾客身份证号码、入住时间、折扣、结算时间、备注等 . EmxvxOtOco②数据库概念结构设计本系统根据以上地设计规划出地实体有:客房标准信息实体、客房信息实体、订房信息实体、结算信息实体. 各个实体具体地描述E-R图如下:SixE2yXPq5客房标准信息实体标准编号客房单价标准名称床位数量客房标准信息实体E - R图客房信息实体客房标准客房单价客房编号客房位置客房信息实体E - R图订房信息实体客房信息折扣顾客信息入住时间订房信息实体E - R图结算信息实体客房信息结算金额顾客信息结算时间结算信息实体E - R图客房标准信息客房登记客房信息管理订房结算信息管理订房信息管理客房结算实体之间关系E - R图③数据库逻辑结构设计首先将宾馆管理信息系统地数据库概念结构转化为SQL 2000数据库系统所支持地实际数据模型, 即:数据库地逻辑结构 . 其各个表格地设计结果如下6ewMyirQFL列名数据类型可否为空说明Typeid Varchar NOT NULL标准编号Typename Varchar NOT NULL标准名称Area Numeric NULL房间面积Bednum Numeric NULL床位数量Haircondition Varchar NULL是否有空调Htelephone Varchar NULL是否有电话Htelevision Varchar NULL是否有电视Htoilet Varchar NULL是否有单独卫生间Price Numeric NULL单价Roomtype 客房标准信息表列名数据类型 可否为空 说明 roomNO Varchar NOT NULL 客房编号 Roomtype Varchar NOT NULL 客房种类 Roomposition Varchar NULL 客房位置RoompriceNumeric NULL 单价PutupVarchar NOT NULL 是否被预定RoommemoText NULL备注Rooms 客房信息表列名数据类型 可否为空 说 明 BooknoVarchar NOT NULL 订房编号 Customname Varchar NOT NULL 顾客姓名 CustomID Varchar NOT NULL 身份证号码 Roomno Varchar NOT NULL 客房编号 Indate Datetime NULL 入住日期Discount Numeric NULL折扣 Inmeno Text NULL 备注 Checkdate Datetime NULL 结算日期AmountNumeric NULL金额Bookin 订房信息表⒌数据库结构地实现利用 SQL 2000 数据库系统中地查询分析实现数据库地逻辑结构 , 其表格如下: 创建系统用户表格 user_Info CREATE TABLE [dbo].[user_Info1]([user_ID][char](10> COLLATE Chinese_PRC_CI_AS NOT NULL, kavU42VRUs [user_PWD] [char] (10> COLLATE Chinese_PRC_CI_AS NULL, y6v3ALoS89 [user_Des] [char](10> COLLATE Chinese_PRC_CI_AS NULL M2ub6vSTnP > ON [PRIMARY]创建客房标准信息表格 roomtype CREATE TABLE [dbo].[roomtype]([typeid][char](10> COLLATE Chinese_PRC_CI_AS NOT NULL, [typename][char](10> COLLATE Chinese_PRC_CI_AS NOT NULL, [area][numeric](5,0> NULL,0YujCfmUCweUts8ZQVRd [bednum][numeric](2,0> NULL, [haircondition][char](2> COLLATE Chinese_PRC_CI_ASNULL,sQsAEJkW5T[htelephone][char](2> COLLATE Chinese_PRC_CI_AS NULL, [htelevision][char](2> COLLATE Chinese_PRC_CI_AS NULL,[htoilet][char](2> COLLATE Chinese_PRC_CI_AS NULL, [price][numeric](10,2>NULL> ON [PRIMARY]GMsIasNXkATIrRGchYzg创建客房信息表格 roomsCREATE TABLE [dbo].[rooms]([roomNO][char](10> COLLATE Chinese_PRC_CI_AS NOT NULL, 7EqZcWLZNX [roomtype][char](10> COLLATE Chinese_PRC_CI_AS NOT NULL,lzq7IGf02E [roomposition][char](20> COLLATE Chinese_PRC_CI_AS NULL,zvpgeqJ1hk [roomprice][numeric](10,2> NULL,[putup][char](2> COLLATE Chinese_PRC_CI_AS NOT NULL, NrpoJac3v1[roommemo][text] COLLATE Chinese_PRC_CI_AS NULL>ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]创建订房信息表 bookin CREATETABLE [dbo].[bookin]([bookno][char](14> COLLATE Chinese_PRC_CI_AS NOT NULL,1nowfTG4KI[customname][char](10>COLLATE Chinese_PRC_CI_AS NOT NULL,fjnFLDa5Zo[customID][char](18> COLLATE Chinese_PRC_CI_AS NOT NULL,tfnNhnE6e5 [roomno][char](10> COLLATE Chinese_PRC_CI_AS NOT NULL,HbmVN777sL [indate][datetime] NULL,[discount][numeric](2,0> NULL,[inmemo][text] COLLATE Chinese_PRC_CI_AS NULL,[checkdate][datetime] NULL,[ammount][numeric](10,2> NULL> ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]⒍宾馆管理信息系统具体程序实现⑴创建公用模块Module1.bas添加公共数据操作函数 , 用以执行各种 SQL 语句 . 添加函数 ExecuteSQL, 代码如下:Public Function ExecuteSQL(ByValSQL As String,MsgString AsString>_ As ADODB.Recordset V7l4jRB8Hs‘执行 SQL语句 , 并返回记录集对象Dim cnn As ADODB.ConnectionDim rst As ADODB.RecordsetDim sTokens(> As String‘异常处理On Error GoTo ExecuteSQ L_Error ’‘用 Split函数产生一个包含各个子串地数组sTokens=Split(SQL>Set cnn=NEW ADODB.Connection‘打开连接cnn.Open ConnectStringIf InStr( “INSERT,DELETE,UPDATE”,UCase$(sTokens(0>>> Then83lcPA59W9Cnn.Execute SQLMsgString=sTokens(0>& ”query successful”ElseSet rst=NEW ADODO.Recordsetrst.Open Trim$(SQL>,cnn,adOpenKeyset,adLockOptimisticmZkklkzaaP rst.MoveLastget RecordCount‘返回记录集对象Set ExecuteSQL=rstMsgString= ”查询到” &rst.RecordCount& ”条记录”End IfExecuteSQL_Exit:Set rst=NothingSet cnn=NothingExit FunctionExecuteSQL_Error:MsgString= ”查询错误 : ”&Err.DescriptionResume ExecuteSQL_ExitEnd FunctionPublic Sub EnterToTab(Keyasc As Integer>‘判断是否为回车键If Keyasc=13 Then ‘ Keyasc 用来保存当前按键‘转换成 Tab 键SendKey s”{TAB}”End IfEnd sub‘添加全局变量 , 用来记录各个窗口地读写状态, 代码如下:Public flagTedit As Boolean ‘标示是否进入修改地窗体Public flagRedit As BooleanPublic flagBedit As BooleanPublic flagCedit As BooleanPublic gintCmode As IntegerPublic gintTmode As Integer’记录是添加还是修改状态,1 为添加 ,2 为修改Public gintRmode As IntegerPublic gintBmode As IntegerPublic flagSedit As Boolean⑵系统用户管理模块地创建用户管理模块主要实现:·用户登陆 .·添加用户 .·修改用户具体客房标准添加代码:Private Sub Form_Load(>‘载入窗体后,判断所处状态Dim intCount As IntegerDim MsgText As StringDim i As IntegerIf gintTmode=1 Then‘判断是否属于添加状态Me.Caption=Me.Caption& ”添加”For i=0 To 3Combo1(i>.AddItem”否”Combo1(i>.AddItem”是”Combo1(i>.ListIndex=0Next iElseIf gintTmode=2 Then‘判断是否处于修改状态Setmrc=ExecuteSql(txtSQL,MsgText>If mrc.EOF=false ThenWith mrcFor intCount=0 To 3txtItem(intCount>=.Fields(intCount>Next intCounttxtItem(4>=.Fileds(8>For i=0 To 3Combo1(i>.Additem ”否”Combo1(i>.Additem ”是”Combo1(i>.ListIndex=0Next iEnd WithtxtItem(0>.Enabled=FalseEnd IfMe.Caption=Me.caption& ”修改”End IfmblChang=FalseEnd SubPrivate Sub cmd_Click(>’用户输入内容完毕后, 单击 cmdSave 按钮触发Click 事件AVktR43bpwDim intCount As IntegerDim sMeg As StringDim MsgText As StringFor intCount=0 To 4‘判断是否输入内容If Trim(txtItem(intCount>&”” >=”” ThenSelect Case intCountCase 0sMeg=”标准编号”Case 1sMeg=”标准名称”Case 2sMeg=”房间面积”Case 3sMeg=”床位数量”Case 4sMeg=”床位单价”End SelectsMeg=sMeg&”不能为空 ! ”MsgBox sMeg,vbOkOnly+vbExclamation, ”警告”txtItem(intCount>.SetFocusExit SubEnd ifNext intCount ‘判断输入内容是否为数字 ForintCount=2 To 4If Not IsNumeric(Trim(txtItem(intCount>>> ThenSelect Case intCountCase 2sMeg=”房间面积”Case 3sMeg=”床位数量”Case 4sMeg=”床位单价”End SelectsMeg=sMeg&”请输入数字 ! ”MsgBox sMeg,vbOKOnly+vbExclamation, ”警告”txtItem(intCount>.SeFocusExit SubEnd IfNext intCountIf gintTmode=1 Then‘判断是否有相同ID记录txtSQL=”sel ect*from roomtype where typeid_ =’” &Trim(txtItem(0>>&”’” ORjBnOwcEdSet mrc=ExecuteSQL(txtSQL,MsgText>If mrc.EOF=False ThenMsgBox“已经存在此标准编号地记录! ”,vbOKOnly+vbExclamation, ”警告”txtItem(0>.SetFocusExit SubEnd IfMrc.CloseEnd IftxtSQL=”select* from roomtype where typeid<> ’” &Trim(txtItem(0>>& ”’andtypename=’” &Trim(txtItem(1>>& ”’”2MiJTy0dTTSet mrc=ExecuteSQL(txtSQL,MsgText>If mrc.EOF=False ThenMsgBox”已经存在相同客房标准地记录! ”,vbOKOnly+vbExclamation,“警告”txtItem(1>.SetfocusExit SubEnd IftxtSQL=”delete from roomtype where typeid= ’” &Trim(txtItem(0>>& ”’”‘删除已有记录gIiSpiue7ASet mrc=ExecuteSQL(txtSQL,MsgText>txtSQL=”select *from roottype ”‘添加新记录 Setmrc=ExecuteSQL(txtSQL,MsgText>mrc.AddNewFor intCount=0 To 3mrc.Fields(intCount>=Trim(txtItem(intCount>>Next intCountFor intCount=0 To 3mrc.Fields(intCount+4>=Trim(Combo1(intCount>>Next intCountmrc.Fields(8>=Trim(txtItem(4>>mrc.Update‘更新数据库mrc.Closeif gintTmode=1 Then‘判断是否属于添加状态MsgBox “添加纪录成功 ! ”,vbOKOnly+vbExclamtion, “添加记录”For intCount=0 To 4txtItem(intCount>= ”” ‘清除已经输入地内容Next intCountFor intCount=0 To 3Combo1(intCount>.ListIndex=0Next intCountmblChange=False’判断是否打开窗口if flagTedit ThenUnload frmRoomtypefrmRoomtype.txtSQL=“select *from roomtype”frmRoomtype.ShowEnd IfElseIf gintTmode=2 Then‘判断是否处于修改状态Unload MeIf flagTedit ThenUnload frmRoomtypeEndIffrmRoomtype.txtSQL= ”select *from roomtype”frmRoomtype.ShowEnd IfEnd SubPrivate Sub txtItem_GotFocus(Index As Int eger>’文本框获得焦点时触发该事件 , 即自动选中输入地内容 , 便于修改uEh0U1YfmhtxtItem(Index>.SelStart=0txtItem(Index>.SelLength=Len(txtItem(Index>>End SubPrivate Sub cmdExit_Click(>’单击按钮cmdExit取消添加信息If mblChange And cmdSave.Enabled ThenIf MsgBox(“保存当前记录地变化吗?”,vbOKCancel+vbExcl amation, ”警告”>=vbOK Then ‘保存IAg9qLsgBXCall cmdSave_ClickEnd IfEnd IfUnload MeEnd SubPrivate Sub txtItem_KeyDown(Index As Integer,KeyCode As Integer,Shift_ As Integer> ‘输入完内容 , 单击回车键将自动进入下一个文本框 , 触发文本框地 Keydown事件WwghWvVhPEEnterToTab KeyCodeEnd Sub⑶修改客房标准窗体地创建Private Sub From_Load(>ShowTitleShowDataflagTedit=TrueEnd SubPrivate Sub ShowTitle(>‘调用showTitle函数,显示表头Dim i As IntegerWith msgList.Cols=10.TextMatrix(0,1>=”标准编号”.TextMatrix(0,2>=”标准名称”.TextMatrix(0,3>=”房间面积”.TextMatrix(0,4 >=”床位数量”.TextMatrix(0,5 >=”是否有空调”.TextMatrix(0,6 >=”是否有电话”.TextMatrix(0,7 >=”是否有电视”.TextMatrix(0,8 >=”是否有卫生间”.TextMatrix(0,9 >=”房间单价”.FixedRows=1‘固定表头For i=0 To 9‘设置各列地对齐方式.ColAlignment(i>=0Next i.FillStyle=flexFillRepeat‘表头项居中.Col=0.Row=0.RowSel=1.ColSel=.Cols-1.CellAlignment=4.ColWidth(0>=300‘设置单元大小.ColWidth(1>=1000.ColWidth(2>=2000.ColWidth(3>=2000.ColWidth(4>=1000.ColWidth(5>=1000.ColWidth(6>=1000.ColWidth(7>=1000.ColWidth(8>=1000.ColWidth(9>=1000.Row=1End WithEnd SubPrivate Sub ShowData(> ‘调用 showData 函数 , 显示记录列表Dim i As IntegerSet mrc=ExecuteSQL(txtSQL,MsgText>‘根据需要设置SQL 语句 , 显示需要地记录 asfpsfpi4kWith msgList.Rows=1Do While Not mrc.EOF.Rows=Rows+1For i=1 To mrc.Fields.CountSelect Case mrc.Fields(i-1>.TypeCase adDBDate.TextMatrix(.Rows-1,i>=Format(mrc.Fields(i-1>&”” , ”yyyy -mm-dd”>ooeyYZTjj1Case Else.TextMatrix(.Rows-1,i>=mrc.Fields(i-1>&””End SelectNext iMrc.MoveNextLoopEnd Withmrc.CloseEnd SubPrivate Sub msgList_MouseUp(Button As Integer,Shift As Integer,x As Single,y As Single>‘选择记录 , 然后单击鼠标右键 , 触发MouseUp事件BkeGuInkxIIf Button=2 And Shift=0 ThenPopupMenu fMainFrom.menuRoomtypeEnd IfEnd SubPrivate Sub menuModifyroomtype_Click(>Dim intCount As IntegerIf flagTedit Then‘判断是否打开记录窗体If frmRoomtype.msgList.Rows>1 ThenfintTmode=2‘设置为修改状态intCount=frmRoomtype.msgList.Row‘记下选择记录frmRoomtype1.txtSQL= ”select*from roomtype where typeid ’”&Trim(frmRoomtype.msgList.TextMatrix(intCount,1>>& ”’”PgdO0sRlMofrmRoomtype1.ShowElseCall menuAddroomtype_ClickEnd IfElsefrmRoomtype.txtSQL= ”select*from roomtype ”frmRoomtype.ShowEnd IfEnd SubPrivate Sub From_Resize(>‘窗体变化时,调整标签和表格位置,使标签处于窗体地最上方 , 而表格始终处于标签下方3cdXwckm15If Me.WindowState<>vbMinimized And fMainFrom.WindowState<>vbMinimizedThen‘边界处理h8c52WOngMIf Me.Scaleheight<10*lblTitle.Height ThenExit SubEnd IfIf Me.ScaleWidth<lblTitle.Width+lblTitle.Width/2Then v4bdyGiousExit SubEnd IflblTitle.Top=lblTitle.Height ‘控制控件地位置lblTitle.Left=(Me.Width-lblTitle.Width>/2msgList.Top=lblTitle.Top+lblTitle.Height+lblTitle.Height/2J0bm4qMpJ9msgList.Width=Me.ScaleWidth-200msgList.Left=Me.ScaleLeft+100msgList.Height=Me.ScaleHeight-msgList.Top-200End IfEnd Sub⑷删除客房标准Private Sub menuDeleteroomtype_Click(>Dim txtSQL As StringDim intCount As IntegerDim mrc As ADODB.RecordsetDim MsgText AsString If flagTedit Then‘判断是否打开记录窗体If frmRoomtype.msgList.Rows>1 ThenIf MsgBox(“真地要删除这么?”, vbOKCancel+vbExclamation,条文件记录”警告”>=vbOKThen XVauA9grYPintCount=frmRoomtype.msgList.RowtxtSQL=”delete from roomtype wheretypeid ’” &Trim(frmR oomtype.msgList.TextMatrix(intCount,1>>& ”’”bR9C6TJscwSet mrc=ExecuteSQL(txtSQL,MsgText>Unload frmRoomtype‘关闭记录窗体frmRoomtype.txtSQL= ”select*from roomtype”‘重新选择所有记录frmRoomtype.ShowEnd IfEnd IfEnd IfEnd Sub⑸客房信息管理模块地创建客房信息管理模块主要实现如下功能:·添加客房信息·修改客房信息·删除客房信息·查询客房信息具体实现代码如下:Private Sub From_Load(>‘载入窗体时,自动添加客房信息种类Dim sSql As StringDim intCount As IntegerDim MsgText As StringDim mrcc As ADODB.RecordsetIf gintRmode=1 Then ‘判断是否处于添加状态Me.Caption=me.Caption& “添加”txtSQL=”select DISTINCT typename from roomtype ”Set mrc=ExecuteSQL(txtSQL,MsgText> If Not mrc.EOF ThenDo While Not mrc.EOFcboItem(0>.AddItem Trim(mrc.Fields(0>>mrc.MoveNextLoopcboItem(0>.ListIndex=0Else‘显示记录内容MsgBox “请先进行客房标准设置 ! ”,vbOKOnly+vbExclamation, “警告”cmdSave.Enabled=FalseExit SubEnd Ifmrc.CloseElseIf gintRmode=2 Then‘判断是否处于修改状态Set mrcc=ExecuteSQL(txtSQL,MsgText>‘设置SQL 语句显示当前选择记录pN9LBDdtrdIf mrcc.EOF=False ThenWith mrcctxtItem(0>=.Fields(0>For intCount=1 To 2If Not IsNull(.Fields(intCount+1>>Then‘ 判断内容是否为空txtItem(intCount>=.Fields(intCount+1>End IfNext intCounttxtItem(3>=.Fields(5>txtSQL=”select DISTINCT typename fromroomtype ”Set mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenDo While Not mrc.EOFcboItem(0>.AddItem Trim(mrc.Fields(0>>mrc.MoveNextLoopcboItem(0>.ListIndex=0ElseMsgBox“ 请先进行客房标准设置! ”,vbOKOnly+vbExclamation, “警告”cmdSave.Enabled=FalseExit SubEnd Ifmrc.CloseEnd WithEnd Ifmrcc.CloseMe.Caption=Me.Caption&“修改”End IfmblChange=FalseEnd SubPrivate Sub cmdSave_Click(>‘单击保存按钮触发事件Dim intCount As IntegerDim sMeg As StringDim mrcc As ADODB.RecordsetDim Msgtext As StringFor intCount=0 To 3If Trim(TxtItem(intCount>&”” >=””ThenSelect Case intCountCase 0sMeg=“客房编号”Case 1sMeg=“客房位置”End SelectsMeg=sMeg&“不能为空!”MsgBox sMeg,vbOKOnly+vbExclamation,“警告”txtItem(intCount>.SetFocusExit SubEnd IfNext intCountIf gintRmode=1 Then‘判断是否有重复记录txtSQL=”select*from rooms where roomNO=‘ ”&Trim(txtItem(0>>&”’” DJ8T7nHuGTSet mrc=ExecuteSQL(txtSQL,msgText>If mrc.EOF=False ThenMsgBox“已经存在此客房编号地记录!” ,vbOKOnly+vbExclamation, “警告”txtItem(0>.SetFocusExit SubEnd Ifmrc.CloseEnd IfIf gintRmode=2 Then‘判断是否处于修改状态txtSQL=”delete from rooms where roomNO=‘ ”&Trim(txtItem(0>>&”’” QF81D7bvUASet mrc=ExecuteSQL(txtSQL,MsgText>End IftxtSQL=”select*from rooms ”‘再加入新记录Set mrc=ExecuteSQL(txtSQL,MsgText>mrc.AddNew‘为数据库对象添加记录mrc.Fields(0>=Trim(txtItem(0>>mrc.Fields(1>=Trim(txtItem(0>>For intCount=1 To 2If Trim(txtItem(intCount>& ”” >=”” Thenmrc.Fields(intCount+1>=NullElsemrc.Fields(intCount+1>=Trim(txtItem(intCount>>End IfNext intCountmrc.Fields(4>=””mrc.Fields(5>=Trim(txtItem(3>>mrc.Updatemrc.CloseIf gintRmode=1 ThenFor intCount=0 To 3txtItem(intCount>=””Next intCountmblChange=FalseIf flagRedit ThenUnload frmRoomfrmRoom.txtSQL=”select*from rooms ”‘重新显示数据frmRoom.ShowEnd IfElseIf gintRmode=2 ThenUnload MeIf flagRedit ThenUnload frmRoomEnd IffrmRoom.txtSQL=”select*from rooms”frmRoom.ShowEnd IfEnd Sub·修改客房信息Private Sub menuModifyroom_Click(>‘选择修改房间信息,触menuModifyroom 地 Click事件,程序判断为修改状态后 , 首先删除原有记录 , 然后把新内容加入到数据库中4B7a9QFw9hDim intCount As IntegerIf flagRedit Then‘判断记录窗体是否打开If frmRoom.msgList.Rows>1 Then‘判断客房信息列表内容是否为空gintRmode=2‘设置为修改状态intCount=frmRoom.msgList.Row‘纪录当前记录位置frmRoom1.txtSQL=”select*from rooms whereroomNO=’” &Trim(frmRoom.msgList.TextMatrix(intCount,1>>&”’” ix6iFA8xoXfrmRoom1.ShowElseCall menuAddroom_Click‘添加记录End IfElsefrmRoom.txtSQL=”select*from rooms”frmRoom.ShowEnd IfEnd Sub·删除客房信息Private Sub menuDeleteroom_Click(>Dim txtSQL As StringDim intCount As IntegerDim mrc As ADODB.RecordsetDim MsgText As StringIf flagTedit ThenIf frmRoom.msgList.Rows>1 Then ‘判断客房信息列表内容是否为空 If MsgBox( “真地要删除这条文件记录么?” ,vbOKCancel+vbExclamation,“警告” >=vbOK Then wt6qbkCyDEintCount=frmRoom.msgList.Row‘记载当前记录位置txtSQL=”delete from rooms where roomNO=‘” &Trim(frmRoom.msgList.TextMatrix(intCount,1>&”’”Kp5zH46zRkSet mrc=ExecuteSQL(txtSQL,MsgText>‘执行删除操作Unload frmRoomfrmRoom.txtSQL=”select*from rooms ”frmRoom.ShowEnd IfEnd IfEnd IfEnd Sub·查询客房信息Private Sub From_Load(>‘载入窗体时,将自动加入所有记录地入库时间Dim i As IntegerDim j As IntegerDim sSql As StringDim txtSQL As StringDim MsgText As StringDim mrc As ADODB.Recordsettx tSQL=”select DISTINCT typename from roomtype ” ‘初始化客房种类Yl4HdOAA61Set mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenDo While Not mrc.EOFCombo1.AddItem Trim(mrc.Fields(0>>Mrc.MoveNextLoopCombo1.ListIndex=0ElseMsgBox “请先进行客房标准设置! ”,vbOKOnly+vbExclamation, ”警告”Exit SubEnd Ifmrc.CloseEnd SubPrivate Sub cmdOK_Click(>‘设置完查询内容和方式后,单击cmdOk按钮查询Dim sQSql As StringIf chkItem(0>.Value=vbChecked ThensQSql=”roomNO=’”&Trim(txtItem(0>& ””>&”’”End IfIf chkItem(1>.Value=vbChecked ThenIf Trim(sQSql&”” >=”” ThensQSql=”roomtype=’” &Trim(Combo1&”” >&”’”ElsesQSql=sQSql&”and roomtype= ’” &Trim(Combo1&”” >&”’”End IfEnd IfIf Trim(sQSql>=”” ThenMsgBox “请设置查询条件!” ,vbOKOnly+vbExclamation, “警告” Exit SubElseIf flagRedit ThenUnload frmRoomEnd IffrmRoom.txtSQL=”select*from rooms where ”&sQSqlfrmRoom.ShowEnd IfMe.HideEnd Sub⑹订房信息管理模块地创建订房信息管理模块主要实现如下功能:·查询剩余客房信息·添加订房信息·修改订房信息·删除订房信息·查询订房库信息具体实现代码如下:Private Sub From_Load(> ‘载入窗体时 , 程序将自动加入客房种类和客房单价Dim txtSQL As StringDim MsgText As StringDim mrc As ADODB.RecordsettxtSQL=”select distinct typename from roomtype”‘选择所有客房种类 ch4PJx4BlISet mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenDo While Not mrc.EOFCombo1(0>.AddItem mrc.Fields(0>mrc.MoveNextLoopEnd Ifmrc.ClosetxtSQL=”select distinct price from roomtype”Set mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenDo While Not mrc.EOFCombo1(1>.AddItem mrc.Fields(0>Combo1(2>.AddItem mrc.Fields(0>mrc.MoveNextLoopEnd Ifmrc.CloseEnd SubPrivate Sub cmdOK_Click(>Dim sQSql As StringIf chkItem(0>.Value=vbChecked ThensQSql=”roomtype=’” &Trim(Combo1(0>&”” >&”’” End ifIf chkItem(1>.Value=vbChecked ThenIf Trim(sQSql&”” >=”” ThenIf Trim(Combo1(1>&”” ><>”” AndTrim(Combo1(2>&”” ><>””qd3YfhxCzoThensQSql=”roomprice<= ’” &Trim(Combo1(1>&”” >&Androomprice >=’” &Trim(Combo1(2>&”” >”’”E836L11DO5ElseIf Trim(Combo1(1>&”” >=”” AndTrim(Combo1(2>&”” ><>”” Then S42ehLvE3MsQSql=”roomprice >= ’” &Trim(Combo1(2>&”” >&”’”ElseIf Trim(Combo1(1>&”” ><>”” And Trim(Combo1(2>&””=”” Then501nNvZFissQSql=”roomprice<= ’” &Trim(Combo1(1>&”” >&”’”End IfElseIf Trim(Combo1(1>&”” ><>”” AndTrim(Combo1(2>&”” ><>”” Then jW1viftGw9sQSql=sQSql&”androomprice>= ’” &Trim(Combo1(1>&”” >&”’ androomprice>=’” &Trim(Combo1(2>&”” >&”’” xS0DOYWHLPElseIf Trim(Combo1(1>&”” >=”” AndTrim(Combo1(2>&”” ><>””Then LOZMkIqI0w sQSql=sQSql&”androomprice>=’” &Trim(Combo1(2>&”” >&”’” ZKZUQsUJedElseIf Trim(Combo1(1>&”” ><>”” AndTrim(Combo1(2>&”” >=”” Then dGY2mcoKtTsQSql=sQSql&”androomprice<= ’” &Trim(Combo1(1>&”” >&”’”rCYbSWRLIAEnd IfEnd IfIf Trim(sQSql>=”” ThenMsgBox“请设置查询条件 ! ”,vbOKOnly+vbExclamation, “警告”Exit SubElseIf flagRedit ThenUnload frmRoomEnd IffrmRoom.txtSQL=”select*from rooms where”&sQSql&”andputup ”<>’y’”FyXjoFlMWhfrmRoom.ShowflagSedit=TrueEnd IfMe.HideEnd SubPrivate Sub From_Load(>‘添加订房信息,载入窗体时把所有未预定地客房信息加入其中TuWrUpPObXDim sSql As StringDim intCount As IntegerDim MsgText As StringIf flagSedit Then‘判断打开方式Set mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenFor intCount=0 To 3cboItem(intCount>.AddItem mrc.Fields(intCount>cboItem(intCount>.ListIndex=0Next intCounttxtItem(5>=mrc.Fields(5>End Ifmrc.ClosetxtNo=GetRkno(>gintBmode=1ElseIf gintBmode=1 ThenMe.Caption=Me.Caption&“添加”txtSQL=”select DISTINCT roomNO from rooms whereputup<>’y’”7qWAq9jPqESet mrc=ExecuteSQL(txtSQL.MsgText>If Not mrc.EOF ThenDo While Not mrc.EOFcboItem(0>.AddItem Trim(mrc.Fields(0>>mrc.MoveNextLoopElseMsgBox“请先进行客房登记!” ,vbOKOnly+vbExclamation,“警告”cmdSave.Enabled=FalseExit SubEnd Ifmrc.ClosetxtNo=GetRknoElseIf gintBmode=2 ThenSet mrc.ExecuteSQL(txtSQL,MsgText>If mrc.EOF ThenWith mrctxtNO=!booknoFor intCount=0 To 1If Not IsNull(.Fields(intCount+1>> ThentxtItem(intCount>=.Fields(intCount+1>End IfNext intCountcboItem(0>.AddItem !roomnocboItem(0>.ListIndex=0For intCount=2 To 4If Not IsNull(.Fields(intCount+2>> ThentxtItem(intCount>=.Fields(intCount+2>End IfNext intCountEnd WithEnd Ifmrc.CloseMe.Caption=Me.Caption&“修改”txtSQL=”select*from rooms where roomNO=’”&Trim(cboItem(0>>& ”’”llVIWTNQFkSet mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenFor intCount=1 To 3cboItem(intCount>.AddItem mrc.Fields(intCount>cboItem(intCount>.ListIndex=0Next intCounttxtItem(5>=mrc.Fields(5>End Ifmrc.CloseEnd IfEnd IfmblChange=FalseEnd SubPrivate Sub cmdSave_Click(>‘添加记录到数据库中Dim intCount As IntegerDim sMeg As StringDim mrcc As ADODB.RecordsetDim MsgText As StringFor intCount=0 To 3‘判断输入内容是否为空If Trim(txtItem(intCount>&”” >=””ThenSelect Case intCountCase 0sMeg=“顾客姓名”Case 1sMeg=“身份证号码”Case 2sMeg=“折扣”Case 3sMeg=“入住时间”End SelectsMeg=sMeg&“不能为空 ! ”MsgBox sMeg,vbOKOnly+vbExclamation, “警告”txtItem(intCount>.SetFocusExit SubEnd IfNext intCountFor intCount=0 To 3If Trim(vboItem(intCount>&”” >=”” ThenSelect Case intCountCase 0sMeg=“客房编号”Case 1sMeg=“客房种类”Case 2sMeg=“客房位置”Case 3sMeg=“客房单价”End SelectsMeg=sMeg&“不能为空!”MsgBox sMeg,vbOKOnly+vbExclamation,“警告”cboItem(intCount>.SetFocusExit SubEnd IfNext intCountIf IsDate(txtItem(2>> ThentxtItem(2>=Format(txtItem(2>,”yyyy -mm-dd”>ElseMsgBox“入库时间应输入日期(yyyy-mm-dd>! ”,vbOKOnly+vbExclamation,”警告” yhUQsDgRT1txtItem(2>.SetFocusExit SubEnd IfFor intCount=1 To 3 Step 2If Not IsNumeric(txtItem(intCount>> ThenMsgBox“请输入数字” ,vbOKOnly+vbExclamation, “警告”txtItem(intCount>.SetFocusExit SubEnd IfNext intCountIf gintBmode =2 Thenwhere txtS QL=”delete from bookingbookno=’” &Trim(txtNo>& ”’”MdUZYnKS8ISet mrcc=ExecuteSQL(txtSQL,MsgText>End IftxtSQL=”select*from booking”Set mrcc=ExecuteSQL(txtSQL,MsgText>mrcc.AddNewmrcc.Fields(0>=txtNOFor intCount=0 To 1mrcc.Fields(intCount+1>=txtItem(intText>Next intCountmrcc.Fields(3>=cboItem(0>For intCount=2 To 4mrcc.Fields(intCount+2>=txtItem(intCount>Next intCountmrcc.Fields(8>=0mrcc.Updatemrcc.ClosetxtSQL=”select*from rooms where roomNO=’”&Trim(vboItem(0>>& ”’”09T7t6eTnoSet mrcc=ExecuteSQL(txtSQL,MsgText>If Not mrcc.EOf Thenmrcc!putup= ”y”End Ifmrcc.Updatemrcc.CloseIf gintBmode=1 ThenMsgBox“添加订房信息成功 ! ”,vbOKOnly+vbExclamation, “添加订房消息”Unload MeIf flagBedit ThenUnload frmBookinEnd IffrmBookin.txtSQL= ”selectbookno,customname,customID,roomno,indate,discount,inmemo from booking whereamount=’0’”e5TfZQIUB5frmBookin.ShowElseMsgBox “修改订房信息成功 ! ”,vbOKOnly+vbExclamation, “修改订房信息”Unload MeIf flagBedit ThenUnload frmBookinEnd IffrmBookin.txtSQL= ”selectbookno,customname,customID,roomno,indate,discount,inmemo from booking where amount=’0’”s1SovAcVQMfrmBookin.ShowEnd IfEnd Sub⑺结算信息管理模块地创建结算信息管理模块主要实现如下功能:·添加结算信息·修改结算信息·查询结算信息具体实现代码如下:Private Sub From_Load(>‘窗体载入时,自动加入所有未结算客房信息Dim sSql As StringDim intCount As IntegerDim MsgText As StringIf gintCmode=1 Then ‘判断是否处于添加状态Me.Caption=Me.Caption& “添加”txtSQL=”select DISTINCT roomno from booking whereamount=’0’”‘初始化客房编号 , 选择所有未结算客房编号GXRw1kFW5s Set mrc=ExecuteSQL(txtSQL,MsgText>If Not mrc.EOF ThenDo While Not mrc.EOFcboItem(0>.AddItem Trim(mrc!roomno>mrc.MoveNextLoopElseMsgBox“没有顾客入住 ! ”,vbOKOnly+vbExclamation, cmdSave.Enabled=FalseExit SubEnd Ifmrc.CloseElseIf gintCmode=2 Then‘判断是否处于修改状态Set mrc=ExecuteSQL(txtSQL,MsgText>If mrc.EOF=False ThenWith mrctxtNo =mrc.Fields(0>For intCount=0 To 1txtItem(intCount>=.Fields(intCount+1>Next intCountcboItem(0>.AddItem.fields(3>cboItem(0>.ListIndex=0For intCount=2 To 3If Not IsNull(.Fields(intCount+2>> ThentxtItem(intCount>=.Fields(intCount+2>End IfNext intCounttxtItem(5>=.Fields(6>txtItem(4>=.Fields(7>End WithEnd Ifmrc.ClosetxtSQL=”select*from rooms “警告”whereroomNO=’” &cboItem(0>&”’”UTREx49Xj9 Set mrc=ExecuteSQL(txtSQL,MsgText>If mrc.EOF=False ThenWith mrcFor intCount=1 To 3cboItem(intCount>.AddItem.Fields(intCount>cboItem(intCount>.ListIndex=0Next intCountEnd WithEnd If。
数据库原理酒店管理系统设计课程设计报告

数据库管理系统(DBMS)是提供数据存储、访问、定义和 管理功能的软件系统,如MySQL、Oracle等。
数据库设计原则
概念设计
根据需求分析结果,设计数据库的概念模 型,包括实体、属性、关系和约束等。
需求分析
在设计数据库之前,需要对酒店管 理系统的需求进行详细分析,包括 功能需求、数据需求和性能需求等
数据库设计
根据需求分析,设计酒店管 理系统数据库,包括客房、 客人、员工、预订等表,并 定义表之间的关系。
功能模块实现
按照系统设计,逐步实现各 个功能模块,包括客房管理 、客人管理、员工管理、预 订管理等。
界面设计与实现
设计简洁、直观的用户界面 ,并实现与后端的交互。
系统测试方法
黑盒测试
通过输入测试用例,检查系统输出是否符合预期 结果,验证系统功能的正确性。
实现财务报表生成 、财务分析等功能 。
前台接待模块
实现客人入住登记 、离店结算等功能 。
餐饮管理模块
实现餐厅预订、点 餐、结账等功能。
系统管理模块
实现用户管理、权 限管理、日志管理 等功能。
05
系统实现与测试
系统实现过程
系统架构搭建
采用B/S架构,前端使用 HTML、CSS、JavaScript等 技术,后端使用Java语言, 数据库采用MySQL。
。
A
B
C
D
物理设计
确定数据库的物理存储结构,包括数据的 存储方式、存储设备的选择和配置等。
逻辑设计
将概念模型转换为数据库的逻辑模型,包 括表、字段、索引和视图等数据库对象的 定义。
数据库在酒店管理系统中的作用
数据存储
数据库用于存储酒店管理系统中的各种数 据,如客人信息、房间信息、预订信息、
酒店管理数据库课程设计

酒店管理数据库课程设计一、课程目标知识目标:1. 理解数据库在酒店管理中的重要性,掌握数据库的基本概念和术语。
2. 学会使用数据库管理系统(如MySQL)进行基本的数据库操作,包括数据查询、插入、更新和删除。
3. 掌握数据库设计的原则和方法,能够根据酒店管理需求设计合理的数据库结构。
技能目标:1. 能够运用数据库管理系统进行酒店信息数据的存储、检索和管理。
2. 掌握SQL语言,能够编写简单的查询语句,满足酒店管理中的数据查询需求。
3. 能够运用数据库设计工具,绘制E-R图,为酒店管理系统的开发提供技术支持。
情感态度价值观目标:1. 培养学生对酒店管理专业的兴趣,激发他们主动探索数据库技术在酒店行业中应用的热情。
2. 培养学生的团队协作意识,使他们学会在数据库设计和操作过程中与他人沟通、合作。
3. 增强学生的信息意识,使他们认识到数据在酒店管理中的价值,养成良好的数据管理和保护意识。
本课程针对高年级学生,他们在前期的学习中已经掌握了计算机基础和酒店管理基本理论,具备一定的实际操作能力。
课程性质为理论与实践相结合,旨在通过实际操作,让学生将数据库知识应用于酒店管理领域。
教学要求注重培养学生的动手能力、分析问题和解决问题的能力,以便他们在未来工作中能够更好地应对酒店管理中的数据挑战。
通过本课程的学习,学生将具备酒店管理数据库设计与操作的基本能力,为从事相关工作奠定基础。
二、教学内容1. 数据库基本概念:介绍数据库的定义、发展历程、分类及其在酒店管理中的应用场景。
教材章节:第一章 数据库基础2. 数据库管理系统:学习MySQL数据库的安装、配置以及基本操作。
教材章节:第二章 数据库管理系统3. SQL语言:讲解SQL语言的语法,包括数据查询、插入、更新、删除等操作。
教材章节:第三章 SQL语言4. 数据库设计:介绍数据库设计原则、方法,学习如何绘制E-R图,以及如何将酒店管理需求转化为数据库结构。
教材章节:第四章 数据库设计5. 酒店管理数据库实例分析:通过实际案例,分析酒店管理数据库的设计与操作。
MySQL酒店管理系统课课程设计

MySQL酒店管理系统课课程设计一、教学目标本课程旨在通过学习MySQL酒店管理系统,使学生掌握数据库的基本概念、数据库的设计与使用、SQL语言及其在酒店管理中的应用。
通过本课程的学习,学生应能理解数据库的基本原理,熟练使用MySQL数据库管理系统,掌握SQL语言,能独立设计和实现一个简单的酒店管理系统。
具体来说,知识目标包括:1.理解数据库的基本概念,了解数据库的发展历程。
2.掌握数据库的设计原则和方法。
3.熟悉MySQL数据库管理系统的基本操作。
4.掌握SQL语言的基本语法和用法。
技能目标包括:1.能使用MySQL数据库管理系统进行数据库的创建、表的创建、数据的插入、查询和删除等基本操作。
2.能使用SQL语言进行复杂查询和数据操作。
3.能独立设计和实现一个简单的酒店管理系统。
情感态度价值观目标包括:1.培养学生对数据库技术的兴趣和好奇心,激发学生学习数据库的热情。
2.培养学生独立思考和解决问题的能力,培养学生的创新精神。
3.培养学生团队协作的精神,培养学生的沟通能力和合作意识。
二、教学内容本课程的教学内容主要包括四个部分:数据库的基本概念、数据库的设计与使用、SQL语言及其在酒店管理中的应用。
第一部分:数据库的基本概念。
包括数据库的定义、特点、基本术语等。
第二部分:数据库的设计与使用。
包括数据库的设计原则、设计方法、数据库的创建和管理等。
第三部分:SQL语言。
包括SQL语言的基本语法、数据定义语言、数据操纵语言、数据查询语言等。
第四部分:MySQL酒店管理系统的设计与实现。
包括酒店管理系统的需求分析、系统设计、系统实现等。
三、教学方法为了提高学生的学习兴趣和主动性,本课程将采用多种教学方法,包括讲授法、案例分析法、实验法等。
讲授法:通过讲解数据库的基本概念、原理和SQL语言的语法,使学生掌握基本知识和技能。
案例分析法:通过分析酒店管理系统的实际案例,使学生理解数据库在酒店管理中的应用,提高学生的实际操作能力。
客房管理系统VBSQL样本

数据库课程设计报告客房管理系统时间:-6-27客房管理系统一、课程设计目和意义在当今经济和商务交往日益频繁状况下,宾馆服务行业正面临客流量骤增压力。
越来越多宾馆饭店都结识到老式管理办法已经不能适合当今社会需要,必要借助先进计算机信息技术对宾馆服务进行管理。
“客房管理系统”可以说是整个宾馆计算机信息系统中心子系统,由于宾馆最重要功能就是为旅客提供客房。
设计客房管理这样一种系统,可以涉及到大多数SQL Server数据库重要数据库对象、重要功能和特性,例如:视图、触发器和存储过程等。
由此,通过这个课程设计可以加深对这些SQL Server数据库知识学习、理解,积累在实际工程应用中运用各种数据库对象经验,使学生掌握使用应用软件开发工具开发数据库管理系统基本办法。
在实用性方面,客房管理系统是很普遍一种应用,选取该系统作为课程设计也可觉得学生后来也许遇到实际开发提供借鉴。
本课程设计重要目是学习和练习SQL Server数据库实际应用,因此选取SQL Server 作为数据库服务器。
二、需求分析系统重要实现对客房管理功能。
重要有管理员登陆、客户登记、房间管理、客户查询、房间查询、收入记录、管理员信息管理。
系统总体设计图如下:三、概念构造设计(E-R图)四、逻辑构造设计将E-R图转换成关系模式:管理员(编号,账号,密码,权限)房间(编号,类型,价格,状态,入住客户编号)客户(编号,姓名,性别,年龄,身份证号,住址,入住时间,预测天数,房间编号,退房时间,押金,住宿费,登记人)关系规范化:均已达到第三范式五、数据实行与维护1、建立数据库打开SQL Server 公司管理器,建立数据库HotelRoom。
2、添加数据表在HotelRoom数据库中,添加表管理员信息表AdminInfo、房间信息表RoomInfo、客户信息表GuestInfo。
3、建立关系图4、创立视图CREATE VIEW dbo.ViewAdminInfo AS SELECT Aid,Aname,Alimit FROMdbo.AdminInfo 管理员信息视图CREATE VIEW dbo.ViewAllCost AS SELECT SUM(Ccost) AS AllCost FROM dbo.GuestInfo 总收入视图CREATE VIEW dbo.ViewBiaozhunCost AS SELECT SUM(ost) AS BiaozhunCost FROM dbo.GuestInfo a INNER JOIN dbo.RoomInfo b ON a.Rnum = b.Rnum WHERE (b.Rtype = '原则') 原则房收入视图CREATE VIEW dbo.ViewCost AS SELECTdbo.ViewAllCost.AllCost,dbo.ViewPutongCost.putongCost,dbo.ViewBiaozhunCost.BiaozhunCost,dbo.ViewHaohuaCost.HaohuaCost FROM dbo.ViewAllCost CROSS JOIN dbo.ViewPutongCost CROSS JOINdbo.ViewBiaozhunCost CROSS JOIN dbo.ViewHaohuaCost 收入视图CREATE VIEW dbo.ViewEmptyRoomInfo AS SELECT Rnum,Rtype,Rprice,Rstates FROM dbo.RoomInfo WHERE (Rstates = '空') 空房信息视图CREATE VIEW dbo.ViewFullRoomInfo AS SELECT dbo.RoomInfo.* FROMdbo.RoomInfo WHERE (Rstates = '满') 满房信息视图CREATE VIEW dbo.ViewGuestInfo AS SELECT dbo.GuestInfo.* FROMdbo.GuestInfo 客户信息视图CREATE VIEW dbo.ViewHaohuaCost AS SELECT SUM(ost) AS HaohuaCost FROM dbo.GuestInfo a INNER JOIN dbo.RoomInfo b ON a.Rnum = b.Rnum WHERE (b.Rtype = '豪华') 豪华房收入视图CREATE VIEW dbo.ViewPutongCost AS SELECT SUM(ost) AS PutongCost FROM dbo.GuestInfo a INNER JOIN dbo.RoomInfo b ON a.Rnum = b.Rnum WHERE (b.Rtype = '普通') 普通房收入视图CREATE VIEW dbo.ViewRoomInfo AS SELECT dbo.RoomInfo.* FROM dbo.RoomInfo 房间信息视图5、创立触发器在表GuestInfo中,创立一种触发器:CREATE TRIGGER insert_tri ON dbo.GuestInfoFOR INSERTASupdate RoomInfoset Rstates='满',Cid=(select Cid from inserted)where Rnum=(select Rnum from inserted)功能:当向表GuestInfo中插入一种客户信息时,触刊登RoomInfo某房间状态变为“满”6、备份数据库给所建立数据库进行备份六、界面设计与代码(用VB作为界面设计语言)1、登陆界面Public Sub Command1_Click() ‘拟定If Trim(DataCombo1.Text) <> "" And Trim(Text1.Text) <>"" ThenAdodc1.RecordSource = "select * from AdminInfo whereAname='" + Trim(DataCombo1.Text) + "' and Amima='" + Trim(Text1.Text) + "'"Adodc1.RefreshIf Adodc1.Recordset.RecordCount = 1 ThenAdodc1.Recordset.ClosefrmMain.ShowMe.HideElseMsgBox "错误账号或密码!",vbInformation + vbOKOnly,"错误信息"Text1.Text = ""DataCombo1.SetFocusEnd IfElseIf DataCombo1.Text = "" ThenMsgBox "账号不能为空!",vbInformation + vbOKOnly,"错误信息"DataCombo1.SetFocusElseMsgBox "密码不能为空!",vbInformation + vbOKOnly,"错误信息"Text1.SetFocusEnd IfEnd SubPrivate Sub Command2_Click() ‘取消EndEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer) ‘在文本框按下输入事件If KeyAscii = 13 ThenCommand1_ClickEnd IfEnd SubPrivate Sub dataCombo1_KeyPress(KeyAscii As Integer) ‘在文本框按下输入事件 If KeyAscii = 13 ThenCommand1_ClickEnd IfEnd Sub2、客户登记界面Private Sub Command3_Click() ‘客户登记Private Sub Command4_Click() ‘退房结算frmGuestAdd.ShowfrmCheckOut.ShowEnd SubEnd SubPrivate Sub Command1_Click() ‘当前时间txt6.Text = Trim(Now())End SubPrivate Sub Command2_Click() ‘拟定If txt1.Text = "" Or txt2.Text = "" Or txt3.Text = "" Or txt4.Text = "" Or txt6.Text = "" Or txt8.Text = "" Or DataCombo1.Text = "" ThenMsgBox "请将蓝色某些填写完整!",vbInformation + vbOKOnly,"提示信息"If txt1.Text = "" Thentxt1.SetFocusElseIf txt2.Text = "" Thentxt2.SetFocusElseIf txt3.Text = "" Thentxt3.SetFocusElseIf txt4.Text = "" Thentxt4.SetFocusElseIf txt6.Text = "" Thentxt6.SetFocusElseIf txt8.Text = "" Thentxt8.SetFocusElseIf DataCombo1.Text = "" ThenDataCombo1.SetFocusEnd IfElseAdodc3.RecordSource = "select Aid from ViewAdminInfo where Aname='" & frmLogin.DataCombo1.Text & "'"Adodc3.RefreshDim aid As Integeraid = Adodc3.Recordset.Fields(0)Adodc4.RecordSource = "select * from GuestInfo"Adodc4.RefreshAdodc4.Recordset.AddNewAdodc4.Recordset.Fields("Cname") = txt1.TextAdodc4.Recordset.Fields("Csex") = txt2.TextAdodc4.Recordset.Fields("Cage") = txt3.TextAdodc4.Recordset.Fields("Cpnum") = txt4.TextIf txt6.Text <> "" ThenAdodc4.Recordset.Fields("Cadd") = txt5.TextEnd IfAdodc4.Recordset.Fields("Cintime") = txt6.TextIf txt7.Text <> "" ThenAdodc4.Recordset.Fields("Cday") = txt7.TextEnd IfAdodc4.Recordset.Fields("Cdeposit") = txt8.TextAdodc4.Recordset.Fields("Rnum") = DataCombo1.TextAdodc4.Recordset.Fields("Aid") = aidAdodc4.Recordset.UpdatefrmMain.Adodc1.RefreshfrmMain.DataGrid1.RefreshMsgBox "登记成功!",vbOKOnly + vbInformation,"提示信息"Unload MeEnd IfEnd SubPrivate Sub Command3_Click() ‘取消Unload MeEnd SubPrivate Sub DataCombo1_Change() ‘选取房间Adodc2.RecordSource = "select * from ViewEmptyRoomInfo where Rnum='" + Trim(DataCombo1.Text) + " '"Adodc2.RefreshSet DataGrid1.DataSource = Adodc2DataGrid1.RefreshEnd SubPrivate Sub Command1_Click() ‘查看信息If DataCombo1.Text <> "" ThenIf Command1.Caption = "查看信息" ThenAdodc1.RecordSource = "select * from ViewGuestInfo where Rnum='" & DataCombo1.Text & "'and Couttime is null"Adodc1.RefreshRichTextBox1.Text = vbCrLf + " " + "编号:" + Trim(Adodc1.Recordset.Fields(0).Value) + " " + "姓名:" + Trim(Adodc1.Recordset.Fields(1).Value) + " " + "性别:" + Trim(Adodc1.Recordset.Fields(2).Value) + " " + "年龄:" + Trim(Adodc1.Recordset.Fields(3).Value) + vbCrLf + vbCrLf + " " + "身份证号:" + Trim(Adodc1.Recordset.Fields(4).Value) + vbCrLf + vbCrLf + " " + "入住时间:" + Trim(Adodc1.Recordset.Fields(6).Value) + vbCrLf + vbCrLf + " " + "押金:" + Trim(Adodc1.Recordset.Fields(10).Value) + " 元"frame1.Caption = "显示信息-" + DataCombo1.TextDataCombo1.Enabled = FalseCommand1.Caption = "取消"Command2.Enabled = TrueElseIf Command1.Caption = "取消" Thenframe1.Caption = "显示信息"RichTextBox1.Text = ""DataCombo1.Enabled = TrueDataCombo1.Text = ""Command1.Caption = "查看信息"Command2.Enabled = FalseEnd IfElseMsgBox "房间编号不能为空!",vbOKOnly + vbInformation,"错误信息" DataCombo1.SetFocusEnd IfEnd SubPrivate Sub Command2_Click() ‘费用结算Me.HidefrmPrice.ShowEnd SubPrivate Sub Command3_Click() ‘退出Unload MeEnd SubDim time As DateDim e As IntegerPrivate Sub Command1_Click() ‘退房If MsgBox("拟定退房结帐吗?",vbOKCancel + vbInformation,"提示信息") = vbOK ThenAdodc3.RecordSource = "select Couttime,Ccost,Rnum from GuestInfo where Rnum='" & frmCheckOut.DataCombo1.Text & "'and Couttime is null" '"updata GuestInfo set Couttime=" & time & ",Ccost=" & e & ""Adodc3.RefreshDim rnum As Stringrnum = Adodc3.Recordset.Fields(2)Adodc3.Recordset.Fields(0) = timeAdodc3.Recordset.Fields(1) = eAdodc3.Recordset.UpdateAdodc4.RecordSource = "select * from RoomInfo where Rnum='" & rnum & "'"Adodc4.RefreshAdodc4.Recordset.Fields(3) = "空"Adodc4.Recordset.Fields(4) = NullAdodc4.Recordset.UpdatefrmMain.Adodc1.RefreshfrmMain.Adodc6.RefreshfrmMain.DataGrid1.RefreshMsgBox "退房成功!",vbOKOnly + vbInformation,"提示信息"Unload frmCheckOutUnload MeElseUnload frmCheckOutUnload MeEnd IfEnd SubPrivate Sub Command2_Click()Unload frmCheckOutUnload MeEnd SubPrivate Sub Form_Load() ‘费用结算窗体加载事件Adodc2.RecordSource = "select Rprice from ViewRoomInfo where Rnum=" & frmCheckOut.DataCombo1.Text & "" '查询房间价格Adodc2.RefreshDim price As Integer '房间价格price = CInt(Adodc2.Recordset.Fields(0)) '获取房间价格Label2.Caption = "房间:" + frmCheckOut.DataCombo1.Text + " " + "单价:" + CStr(price) + "元/天"Adodc1.RecordSource = "select * from ViewGuestInfo where Rnum='" & frmCheckOut.DataCombo1.Text & "'and Couttime is null" '查询客户信息Adodc1.Refreshframe1.Caption = "编号:" + Trim(Adodc1.Recordset.Fields(0).Value) + " 姓名:" + Trim(Adodc1.Recordset.Fields(1).Value) + " 性别:" + Trim(Adodc1.Recordset.Fields(2).Value) + " 年龄:" + Trim(Adodc1.Recordset.Fields(3).Value)Dim a As DoubleDim b As IntegerDim c As DoubleDim d As Integertime = Now()a = CDbl(time - Adodc1.Recordset.Fields(6)) '精准时间b = CInt(time - Adodc1.Recordset.Fields(6)) '对时间取整c = a - b '计算出不大于一天时间If c > 0 Thend = b + 1 '局限性一天算一天Elsed = bEnd Ife = d * price '计算住宿费RichTextBox1.Text = vbCrLf + " " + "入住时间:" + Trim(Adodc1.Recordset.Fields(6).Value) + vbCrLf + vbCrLf + " " + "当前时间:" + Trim(time) + vbCrLf + vbCrLf + " " + "共住 " + CStr(a) + " 天" + " " + "计 " + CStr(d) + " 天" + vbCrLf + vbCrLf + " " + "住宿费:" + CStr(e) + "元 " + "押金:" + Trim(Adodc1.Recordset.Fields(10).Value) + "元" + "应收:" + Trim(e - CInt(Adodc1.Recordset.Fields(10))) + "元"End Sub3、房间管理界面Private Sub Command7_Click()‘增长房间Command7.Enabled = FalseCommand8.Enabled = FalseCommand9.Enabled = FalseCommand10.Enabled = TrueCommand11.Enabled = Trueframe1.Enabled = Trueframe1.Caption = "增长房间"Text1.BackColor = &H80000005Text2.BackColor = &H80000005 Text3.BackColor = &H80000005 Text4.BackColor = &H80000005 Text2.Visible = False Combo3.Visible = TrueText4.Enabled = FalseText4.Text = "空"Text1.Enabled = TrueText2.Enabled = TrueText3.Enabled = TrueText1.SetFocusEnd SubPrivate Sub Command8_Click()‘修改房间Command7.Enabled = FalseCommand8.Enabled = FalseCommand9.Enabled = FalseCommand10.Enabled = TrueCommand11.Enabled = Trueframe1.Enabled = Trueframe1.Caption = "修改房间"Text1.Visible = FalseDataCombo2.Visible = TrueText2.BackColor = &H80000005Text3.BackColor = &H80000005Text4.BackColor = &H80000005Text4.Enabled = FalseText2.Enabled = FalseText3.Enabled = FalseDataCombo2.SetFocusEnd Sub Private Sub Command9_Click()‘删除房间Command7.Enabled = FalseCommand8.Enabled = FalseCommand9.Enabled = FalseCommand10.Enabled = TrueCommand11.Enabled = Trueframe1.Enabled = Trueframe1.Caption = "删除房间"Text1.Visible = FalseDataCombo2.Visible = TrueText2.BackColor = &H80000005Text3.BackColor = &H80000005Text4.BackColor = &H80000005Text2.Enabled = FalseText3.Enabled = FalseText4.Enabled = FalseDataCombo2.SetFocusEnd SubPrivate Sub DataCombo2_Change()‘Adodc5.RecordSource = "select * from ViewEmptyRoomInfo where Rnum='" +Trim(DataCombo2.Text) + " '"Adodc5.RefreshSet Text2.DataSource = Adodc5Set Text3.DataSource = Adodc5Set Text4.DataSource = Adodc5Text2.RefreshText3.Refresh Text4.RefreshIf frame1.Caption = "修改房间" Then Set Combo3.DataSource = Adodc5 Combo3.RefreshCombo3.Enabled = TrueCombo3.Visible = TrueText2.Visible = FalseText3.Enabled = TrueEnd IfEnd SubPrivate Sub Command10_Click()‘拟定If frame1.Caption = "增长房间" ThenIf Text1.Text <> "" And Combo3.Text <> "" And Text3.Text <> "" ThenIf MsgBox("拟定增长房间“" & Text1.Text & "”吗?",vbOKCancel + vbInformation,"提示信息") = vbOK ThenAdodc5.RecordSource = "select * from ViewRoomInfo where Rnum='" & Text1.Text & "'" Adodc5.RefreshIf Adodc5.Recordset.RecordCount = 1 ThenMsgBox "你输入房间编号“" & Text1.Text & "”重复!请重新输入。
酒店客房管理系统数据库设计
任务书一、数据库原理课程设计的任务1)通过本课程设计的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程. 2)通过课程设计,掌握数据库开发工具的使用以及综合编程调试的能力,结合数据库原理的基本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统,具备基本的数据库编程能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。
3)提升工程实践能力、团队协作精神、交流与沟通能力;4)通过规范化的实验报告,培养学生良好的文档习惯以及撰写规范文档的能力。
二、课程设计的基本内容目录1.数据库需求分析 (4)1。
1设计目的 (4)1。
2系统功能分析 (4)1。
3功能模块设计 (5)2.数据库概念结构设计 (6)2.1概念模型 (6)2.2E—R模型 (6)3.数据库逻辑结构设计 (8)3。
1关系模型设计 (9)3。
2数据模型的优化 (9)3。
3子模式设计 (9)4.数据库物理结构设计 (9)4。
1存取方式设计 (9)4.2存储结构设计 (10)5.数据库安全性、完整性设计 (10)5。
1主要视图设计 (10)5。
2用户权限 (10)6.数据库实现 (11)6。
1编码实现 (11)6。
1。
1主要数据表的创建 (11)6。
1。
2主要视图的创建 (14)6。
1。
3索引的创建 (14)6.1。
4创建用户权限 (14)6.1。
5创建存储结构 (15)7.数据录入调试及运行 (16)8.课程设计总结体会 (18)9.参考文献 (19)1.数据库需求分析1.1设计目的本酒店客房管理系统是为了满足现代酒店的管理需求、提高对顾客的服务质量、方便酒店的管理和运营而设计的一款多功能易操作的基于B/S模式的数据库管理系统。
由于当前的多数酒店都是以人工的方式来统计管理酒店里的各项事务,其中带来了很多的不便,使得酒店的管理也相对比较困难。
酒店客房管理系统数据库课程设计报告
酒店客房管理系统数据库课程设计报告酒店客房管理系统是一个非常重要的系统,涵盖了客户预订,房间管理,收银结算和前台工作等关键领域。
在当今数字化的时代,酒店客房管理系统的设计和开发变得越来越重要。
在这篇文章中,我们将讨论酒店客房管理系统数据库课程设计报告。
首先,我们需要了解酒店客房管理系统的功能。
一个完整的酒店客房管理系统包括以下功能:客房管理、预订管理、收费管理、房态管理、客户管理、餐饮管理、报表管理、管理决策和安全管理等多个功能模块。
在这些功能中,我们将根据现代企业的需求和技术,设计和开发一个完善的酒店客房管理系统数据库。
第二步,我们需要确定数据库设计的标准。
我们将按照范式理论设计基于数据库标准化的酒店客房管理系统。
在此基础上,我们将使用结构化语言SQL语言为该系统创建一个特定的数据库结构。
我们还将使用相关的设计工具,如Power Designer和Dia等,来进行数据库设计和建模。
第三步,我们将设计数据字典。
在这个阶段,我们将定义实体间和实体内的关系,以及属性描述。
酒店客房管理系统将涉及到多个数据表,每个表都需要独立而准确的属性描述。
这样,我们将确保每个数据单元都被条理化地描述。
第四步,我们将开始为酒店客房管理系统建立数据库。
创建数据库前,我们将定义数据库的类型(如MySQL、Oracle或SQL),并根据实践需求建立创建主机。
接下来,我们将创建所有表结构和其关联,并填充数据。
我们将使用合适的查询语句和存储过程,确保数据的存储,更新和删除。
最后,我们将定义数据库请求和权限系统。
为酒店客房管理系统定义数据库请求和权限系统是非常重要的。
为了确保数据的完整性和安全性,我们将实施完整的安全策略和权限控制,包括使用高低权限用户和可追踪性路宁等手段。
这些措施将有助于确保系统的可靠性和稳健性。
总之,酒店客房管理系统数据库课程设计报告是一个非常复杂的项目,需要对功能需求和数据库标准有很深的了解。
在本文中,我们介绍了酒店客房管理系统数据库的设计和建立步骤。
SQL数据库实训示例
附录:SQL数据库实训示例--------客房管理系统设计●本系统要求实现以下主要功能:1.数据录入功能在本系统中提供客人信息登记功能。
可以录入客人的姓名、性别、年龄、身份证号码、家庭住址、工作单位、来自地的地名、入住时间、预计入住天数、客房类别、客房号、离店时间以及缴纳押金金额等信息。
在客人退房时,系统根据输入的离店时间及客房单价自动计算客人住宿费金额。
2.数据查询功能系统需要提供以下查询功能:(1)查某类客房的入住情况及空房情况,显示所有该类客房空房数目和客房号。
(2)根据客人姓名、来自地的地名、工作单位或家庭住址等信息查询客人信息;根据客房号查询入住客人的信息。
(3)查询某个客人住宿费用情况,显示客人缴纳押金金额、实际入住天数、客房价格、实际住宿费、住宿费差额及余额等信息。
(4)查询所有入住时间达到或超过预计入住天数的客人。
3.数据统计功能(1)统计一段时间内各类客房的入住情况。
(2)统计全年各月份的客房收入。
(3)统计一段时间内各类客房的入住率。
●系统的实现1.数据库概念设计数据库的概念设计就是画出E-R图。
分析前面的系统功能要求,需要一个表来存储和管理客人信息,使系统能够接受客人入住时输入的各项数据,以实现数据录入、查询或统计客人信息等功能。
客人是本系统的第一个实体。
为了能实现查询和统计客房入住情况等功能,必须有一个表来存储和管理所有客房的信息。
客房是本系统的第二个实体。
客房价格是以客房的类型来制定的。
需要建立一个表来记录各种客房类型的信息。
它主要为各种查询和统计功能提供客房价格数据。
客房类型是第3个实体。
据此可以绘出客房管理系统数据库的E-R图如下:2.数据库逻辑设计将数据库的概念模型转换为关系模型:实体转换成的关系模式有:客人(序号,姓名,性别,年龄,身份证号码,家庭住址,工作单位,来自地的地名,入住时间,预计入住天数,离店时间,押金金额,住宿费)客房(客房号,客房状态,客房类型编号)客房类型(客房类型编号,客房类型名称,该类型客房价格)由联系转换成的关系模式有:登记(序号,客房号)因为客房与客人是一比多联系,所以可以取消登记这个实体,在客人实体中添加客房号属性。
数据库应用技术大作业——旅馆管理系统数据库设计
SQL实践作业:旅馆管理系统数据库设计与实现————自动化学院自动化专业小组成员及所完成的工作:所完成的工作:数据库整体结构的设计,ER图的绘制和其他工作的审核系统名称:旅馆管理系统一、系统需求1。
背景:随着科技和经济的发展,旅游业已经成为一个热门的产业,并且传统的手工已不适应现代酒店管理的需要,及时、准确、全方位的网络化信息管理成为必需.在酒店的管理及业务日益复杂、要求在不断提高的现状下,利用高科技、现代化的电脑自动化管理系统来处理日益繁重的酒店业务,对于大型的酒店是必须具备的管理方式.酒店客房管理系统是根据酒店对客房管理的实际情况进行编写的,主要目的是为了方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店的工作。
酒店客房管理的科学化、系统化、信息化成为各个酒店追求的目标。
因此,而要实现这些功能,就要求各个酒店配备一套客房管理系统,以便在酒店内实施良好的完善的管理且以最快地速度响应客户的需求,及时为他们提供服务,为他们提供一个高效、便捷的居住环境.2.旅店需求特点分析:通过对旅店的调研,对于旅店的需求特点有了基本了解(1)基本要求:系统能够进行客户的信息的存储,客户信息的删除,客户信息的更新,客户账单的结算……因此要求系统一定要严密准确,不能出现插入和删除异常,因此要求数据库系统的设计符合第四范式(2)高级要求:旅店面对的经常是一些突发的情况,比如客户的提前退房,客户要求换房,客户要求其他的附加服务……这些突发事件是我们在我们的系统中需要着重考虑的3。
旅客需求特点分析:通过对用户的调研,我们发现用户希望住旅馆的手续能够尽量简单,但是要求旅馆的各种信息准确,出现错误的可能性尽量低4。
旅店管理系统需求分析:旅店的客房特点分析:(1)通过每个房间唯一的房间号来区别(也就是我们数据库系统中的room_num),房间分成不同的类型(room_type)有‘A’、‘B’、‘C’三种类型,它们对应的价格也会不同,这个由顾客自己选择,体现了我们设计系统的人性化;(2)房间的状态(room_state)会根据是否有用户入住而不同,如果该房间有人入住的话,那么就将房间的状态标记为busy;(3)房间同时拥有‘IsBooked’状态,如果房间被预定的话,那么就将这个房间的状态标记为‘Booked’,如果没有预定的话,那么房间的状态为‘nobook’,这样的话方便旅客‘入住'、‘换房’、‘续住’种种操作,避免住进了已经有人预订的房间,同时有些房间即使已经有人预定了,但是在预定旅客之前其他旅客还是可以住进来的,只要他在预定旅客入住之前退房就可以了,样大大提高了客房的利用率。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
1
2020年4月19日
酒店管理系统SQL
数据库实验设计
文档仅供参考,不当之处,请联系改正。
2
2020年4月19日
学院名称: 经济管理学院
课程题目: 酒店管理系统
授课教师: 单承戈
小组成员: 祝梓惟(组长) 潘佳丽 颜政
夏佳玉 杨荇贻 陈雪婷
教师评分:
二零一六年六月七日
文档仅供参考,不当之处,请联系改正。
3
2020年4月19日
概 述
1、项目背景:
连锁酒店的兴衰,关键是管理。建设一间现代化的连锁酒店,
需要的是钱,而要经营管理好一间连锁酒店,关键是管理。酒店管
理是现代酒店的命脉,管理水平的高低,决定着酒店经营的成败。
酒店是企业,同样是要重视管理的工作,加强管理。现代管理者即
是财富,当代的管理者更是直接的财富。管理的意义,简单地讲,管
就是主事,理就是治事,合起来为主管和治理人与事。随着中国加
入WTO和经济全球化格局的形成,越来越多的人感到21世纪国际
酒店的竞争激烈,从设备豪华到价格竞争发展到人才全方位的竞
争。要竞争就必须创新。创新,是酒店的生命。商场如战场,成功
的管理者及其管理需要刚柔结合。
现在的酒店管理进入e时代,未来酒店业的竞争必将进入一
个新的阶段,伴随着中国旅游业的高速发展,宾馆酒店行业的服
务档次迫切需要提高。在宾馆酒店竞争日趋激烈的今天,要成为
佼佼者,就必须与高新技术紧密结合。硬件设施落后、管理水平
滞后、服务质量低下的酒店将被逐步淘汰,传统的纯手工或简单
的计算工具,已经不适应现代经济高速发展的要求,必须运用现
代化管理手段,配备完善的自动化设备,提高酒店的服务水平与
质量,从而赢得高信誉、强实力、好效益!本系统目地是为了一
些酒店还没有使用管理软件,仍靠手工处理业务。
文档仅供参考,不当之处,请联系改正。
4
2020年4月19日
2、编写目的:
为连锁酒店的订房呼叫中心提供一种方便快捷的订房系统
3、软件定义:
酒店管理系统(呼叫中心用)
4、开发工具:
Microsoft SQL Server 数据库管理系统、Delphi7开发工
具实现系统
一、系统定义
酒店客房管理系统是为了在正常运营中需要对客房资源、客
人信息、消费信息、结算信息等进行管理,利用酒店客房管理信
息系统对客房的各个操作进行管理,能够及时了解各个环节中信
息的变更,有利于提高管理的效率。
本项目要设计和实现一个能对酒店客房租住信息,客人信
息,预订信息,消费信息,结算信息的管理,实现前台操作流程
较方便,清晰,高效的信息管理系统。
二、 功能需求分析
酒店管理:加盟酒店名、所在地、详细地址、联系电话、联
文档仅供参考,不当之处,请联系改正。
5
2020年4月19日
系人等信息。
员工管理:添加用户,修改员工密码。
客户管理:添加客户,查询,删除客户信息。
会员系统:酒店会员进行预订时享有一定的优惠。
客房管理:查询,修改客房状态和查询相关订单。
客房类型管理:添加客房类型,修改客房类型,删除客房类
型。
订房:预订客房,取消预订房间,查询订单,入住率。
客房登记信息管理:查看客房登记信息。
财务管理:营业额管理、员工工资管理、收入结算。
三、系统设计
(一)逻辑结构设计
1.酒店表(酒店编号,酒店名称,所在城市,详细地址,电话,联
系人)
2.客房信息表(酒店名,客房号,状态标记,客房等级