收藏 分销(赏)

oracle酒店管理系统样本.docx

上传人:二*** 文档编号:4511818 上传时间:2024-09-26 格式:DOCX 页数:52 大小:437.08KB
下载 相关 举报
oracle酒店管理系统样本.docx_第1页
第1页 / 共52页
亲,该文档总共52页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

1、 Oracle 数据库设计与实现选题名称: 酒店管理系统 姓 名: 学 号: 专 业: 班 级: 指引教师: 设计地点: 目 录一、 系统需求分析1.1系统开发目和意义 -31.2系统规定 -3二、系统总体设计2.1系统功能需求 -42.2系统数据需求 -42.3系统功能构造图 -52.4系统某些流程图 -5三、数据库设计3.1数据库概念模型 -73.2数据库物理模型 -83.3酒店管理系统某些数据字典 -9四、系统实现过程4.1设计过程 -114.2系统各界面设计代码 -28五、实验总结5.1实验中遇到问题 -355.2心得体会 -35一、系统需求分析1.1系统开发目和意义 一方面应当在本次

2、实践中有所收获,可以学习到有关软件功能,和进行实践设计需要知识。可以在实践中学习。 面对酒店行业高速发展和酒店行业信息化发展过程中浮现各种状况,酒店客房管理系统在实行后应达到如下目: 实现多点操作信息共享,互相之间信息传递精确、快捷、顺畅; 服务管理信息化,可随时掌握客人住宿状况; 系统界面和谐美观,操作简朴易行,查询灵活以便,数据存储安全。 实现客房登记入住和查询功能,查询酒店信息,客人信息,客房信息等功能。 实现Delphi和oracle连接,进行数据插入。1.2系统规定规定实现酒店员工信息管理、客户信息管理、客房信息管理、订单管理等功能,涉及客户信息添加、修改、删除及查询;客房信息添加、

3、修改、删除及查询;订单查询及退房管理等。二、 系统总体设计2.1系统功能需求 通过对互联网上各大酒店管理系统结识和分析,我对酒店管理系统有了基本理解,我觉得该系统至少应当具备如下某些基本功能: (1) 系统管理模块:涉及登录系统,顾客管理,权限管理,角色管理,以及查询记录,客户管理折扣管理和开台管理等。 (2) 基本设立管理模块:涉及厨师管理,买单管理等。 (3) 客户管理模块:涉及客户点菜,上菜,结账,记录等。 (4) 客户订房管理模块:涉及订房,续房,查房,退房,结算等。 2.2 系统数据需求依照数据需求分析可知该系统至少应当具备如下某些数据需求:DESKTYPE餐桌类别表(餐桌类别编号,

4、餐桌座位数,餐桌方位,备注)。DESK餐桌表(餐桌编号,餐桌类别编号,餐桌状态,备注)。FOODYPE菜系 (菜系编号,菜系名称,备注)。FOOD菜品(菜品编号,菜单编号,所属菜系,菜品名称,菜品价格,助记码,备注)。FOODTICKET餐饮订单(订单编号,餐桌编号,下单服务员编号,点菜时间,订单状态,备注)。ROOMCUSTINFO住房客户信息表(住户编号,客房类别编号,住户姓名,住户省份证号)。FOODLIST菜单(菜单编号,餐桌编号,菜品编号,厨师编号,状态,备注)。ROOMTYPE客房类别表(客房类别编号,客房类型名称,客房类别价格,备注)。ROOMINFO客房信息表(房间编号,客房类

5、别编号,客房状态,备注)。ROOMTICKET客房订单管理表 (订单编号,房间号,下单服务员ID,身份证号,入住时间,离开时间,押金金额,结算金额,下单时间,备注)。CUSTINFO客户信息表 (身份证号,客户姓名,客户性别,客户电话,与否会员,信息录入时间,备注)。USER 顾客信息表(顾客编号,角色编号,部门编号,顾客名,顾客密码,与否审核通过,年龄,性别,生日,联系电话,备注)。ROLE 顾客角色表(角色编号,角色名,备注)。DEPARMENT 部门表(部门编号,名称,上级部门编号,备注)。PERMISSION 权限表(权限编号,权限组编号,权限名称,备注)。ROLEPER 角色-权限关

6、联表(角色权限编号,角色编号,权限编号)。PERMISSIONGROUP 权限组表(权限组编号,权限组名称)。2.3系统功能模块图酒店管理系统功能构造如图2-3所示图2-3 系统功能构造图2.4系统某些流程图客房订单流程图如图2-4所示图2-4 客房订单管理流程图餐饮某些开台流程图如图2-5所示图2-5 餐饮某些开台流程图三、数据库设计3.1数据库概念模型数据库概念模型图如图3-1所示:图3-1数据库概念模型图3.2数据库物理模型数据库物理模型图如图3-2所示:图3-2 数据库物理模型图3.3酒店管理系统某些数据字典本系统数据库采用Oracle数据库,系统数据库名称为HotelDB,共包括17

7、张表。菜系表:用来存储菜系信息,其中FOODTYPEID字段为主键。表3-3-1 菜系:FOODYPE字段名称类型容许空主键外键外键参照表 阐明FOODTYPEIDNUMBE(5)NOTYES菜系IDFOODTYPENAMEVARCHAR2(20)NOT菜系名称FOODTYPEREMARKVARCHAR2(50)YES备注菜品表:用于菜品所有信息,也是点菜菜单一种信息来源表,从中可获得菜品所有信息。其中字段FOODTYPEID用来描述该菜品属于哪个菜系是外键参参照表FOODTYPE,依照此字段值,可以懂得菜品属于相应哪个菜系。表3-3-2 菜品:FOOD字段名称类型容许空主键外键外键参照表阐明

8、FOODIDNUMBER(5)NOTYES菜品IDFOODNAMEVARCHAR2(20)NOT菜品名称FOODTYPEIDNUMBER(5)NOTYESFOODYPE所属菜系IDFOODPRICENUMBER(5)NOT菜品价格FOODHELPCODEVARCHAR2(10)NOT助记码FOODREMARKVARCHAR2(50)YES备注客房类别表:用来存储客房类别信息,表3-3-3客房类别表:ROOMTYPE字段名称类型容许空主键外键外键参照表阐明ROOMTYPEIDNUMBER(5)NOTYES客房类别编号ROOMTYPENAMEVARCHAR2(20)NOT客房类别名称ROOMTYP

9、EPAYNUMBER(5)NOT类别价格ROOMTYPEREMARKVARCHAR2(50)NOT备注客房信息表:用来存储客房信息。表3-3-4 客房信息表:ROOMINFO字段名称类型容许空主键外键外键参照表阐明ROOMIDNUMBER(5)NOTYES房间编号ROOMTYPEIDNUMBER(5)NOTYESROOMTYPE客房类别编号续表 5-4字段名称类型容许空主键外键外键参照表阐明ROOMCHECKNUMBER(5)NOT客房状态ROOMREMARKVARCHAR2(50)YES备注客户信息表:用来存储酒店客户有关信息。表3-3-5 客户信息表:CUSTINFO字段名称类型容许空主键

10、外键外键参照表阐明CARDIDVARCHAR2(20)NOTYES身份证号CUSTNAMEVARCHAR2(20)NOT姓名CUSTSEXVARCHAR2(10)NOT性别CUSTPHONEVARCHAR2(20)YES电话VIPCHECKNUMBER(5)YES与否会员CUSTDATEVARCHAR2(20)YES信息录入时间四、 系统实现过程4.1设计过程4.1.1窗体设计新建一种原则工程,会浮现form1,可以遵循默认格式,也可以更改名称,这里默认。添加所需控件mainmenu,双击控件在其中加入所要进行功能如下: 添加控件Image插入图片,选中image控件,在其属性表中选中pict

11、ure,选取需要图片:再建立一种Form2,默认格式即可。在其中加入客房登记所需控件:再建立一种Form3,默认格式即可,并且在project-options中设立其为主窗体。在其中加入客房登记所需控件,8个label,8个Edit,两个bitbtn如图:可以在bitbtn按钮中添加图片,使其更加生动,选中按钮,在其属性选取Glyph,选取需要图片即可,注意图片格式要符合规定,还可觉得界面换颜色。再建立一种Form4,默认格式即可。在其中加入客人信息查询所需控件,1个label,一种Edit,2个按钮,1个DBGrid:这里需要链接数据库,与krxx表中信息进行链接。连接方式为:一方面添加一种

12、数据模板(datemodule),然后选取ADOQuery控件和datasource控件添加到数据模板,选中ADOQuery控件,在其属性中找到connectionstring,进行数据库链接,选取再建立一种Form5,默认格式即可。在其中加入客房登记所需控件,和上面同样:这个窗体也要进行数据库链接,过程和上面同样,只是链接表名不同,这里链接是kfxx表。双击拟定添加代码如下:with Data3.ADOQuery1 do begin Close; SQL.Clear; SQL.Add(select * from fjxx where 房间号码=:a); Parameters.ParamByN

13、ame(a).value:=Trim(edit1.Text); Open; end;关闭键代码如下:form5.close;form1.show;这样就完毕了房间信息查询操作。(7) 再建立一种Form6,默认格式即可。在其中加入查看酒店信息所需控件:1个label,1个按钮,1个DBGrid:这里重要就是数据库链接,改用此外一种方式为:一方面再建立一种Form7,默认格式即可。在其中加入查看客房信息所需控件,和(7)同样,但是这里可以采用(5)办法进行数据库链接。再建立一种再建立一种Form8 ,默认格式即可。在其中加入退房所需控件:1个label,1个Edit,两个bitbtn,1个DBG

14、rid,和一种DBNavigator如图:将其与数据库中表krxx链接后,输入证件号码单击DBNavigator控件上可以突出显示选取信息,然后点击退房可以实现退房功能。4.1.2 进行窗体之间转换(1)在form3中进行密码设立,双击登录按钮进行代码输入如下:varresults:Variant;BEGINresults:=ADOTable1.Lookup(姓名,edit1.text,密码);if results=edit2.Text thenbeginform3.Hide;form1.Show;endelsebeginapplication.MessageBox(姓名或密码错误,提示信息,

15、64); edit1.SetFocus; exit;end;end;退出代码为:close;(2)在form1中进行剩余各form间连接,在form1中分别单击要实现功能菜单按钮,并分别输入代码,得到最后裔码如下:procedure TForm1.N2Click(Sender:TObject);beginform1.Hide;form2.showmodal;end;procedure TForm1.N3Click(Sender:TObject);beginform1.Hide;form4.showmodal;end;procedure TForm1.N4Click(Sender:TObject

16、);beginform1.Hide;form5.ShowModal;end;procedure TForm1.N5Click(Sender:TObject);beginform1.Hide;form6.ShowModal;end;procedure TForm1.N6Click(Sender:TObject);beginform1.hide;form7.ShowModal;end;procedure TForm1.N8Click(Sender:TObject);beginform1.hide;form8.ShowModal;end;procedure TForm1.N7Click(Sender

17、:TObject);beginclose;end;procedure TForm1.FormCreate(Sender:TObject);beginend;并且要在uint1连接代码上添加:uses Windows,Messages,SysUtils,Variants,Classes,Graphics,Controls,Forms, Dialogs,Menus,DB,ADODB,unit2,unit4,unit5,unit6,unit7,unit8,;在form2中进行和form1间转换,代码如下: 双击关闭按钮添加代码: form2.close; form1.show;(4)在form4,f

18、orm5,form6,form7中进行form1间转换,代码类似(3)。3、form1中退出菜单实现双击退出菜单进行代码输入:close;即可。至此完毕了菜单管理实现,可以运营后进行各功能实现。代码设计Private Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Key Case DJ zsdj_Click Case TF tf_Click Case FT ftck_Click Case CX zscx_Click Case exit If MsgBox(拟定退出该系统?,4,系统

19、提示) = vbYes Then End End If End SelectEnd SubPrivate Sub sztx_Click()Dim StrCommonDialog1.Filter = BMP图片(*.BMP)|*.BMP|JPG图片(*.JPG)|*.JPG|GIF图片(*.GIF)|*.GIF|所有文献(*.*)|*.*CommonDialog1.ShowOpenIf CommonDialog1.FileName ThenImage2.Picture = LoadPicture(CommonDialog1.FileName)Str = CommonDialog1.FileNam

20、e Open (App.Path & picture.txt) For Output As #1 Print #1,Str Close #1 CommonDialog1.FileName = Else CommonDialog1.FileName = End IfEnd SubPrivate Sub sjbf_Click()main_sjbf.Showmain.Enabled = FalseEnd SubPrivate Sub sjhf_Click()main_sjhf.ShowEnd SubPrivate Sub zsdj_Click() main_kfdj.Show main.Enable

21、d = FalseEnd SubPrivate Sub tf_Click() main_tf.Show main.Enabled = FalseEnd SubPrivate Sub kfcx_Click() main_kfcx.Show main.Enabled = FalseEnd SubPrivate Sub ftck_Click() main_ftcx.Show main.Enabled = FalseEnd SubPrivate Sub zscx_Click() Load main_zscx main_zscx.Show main.Enabled = FalseEnd SubPriva

22、te Sub tfcx_Click() Load main_tfcx main_tfcx.Show main.Enabled = FalseEnd Sub4.1.3 系统登录模块设计窗体设计添加新窗体,命名为main_Login,Caption属性为“酒店客房管理系统”;添加Adodc控件以及两个TextBox控件,Text1放在顾客名后,Text2放在密码后;添加两个Image控件,分别设立Picture属性,添加“拟定”和“退出”按钮。代码设计Private Sub Image1_Click() If Text1.Text = 7 And Text2.Text = 123456 Then

23、main.Show Me.Hide Else MsgBox 密码错误!,vbCritical,提示 End IfEnd SubPrivate Sub Image2_Click()EndEnd Sub4.1.4住宿登记模块窗体设计添加新窗体命名为main_kfdj,Caption属性为“住宿登记”;添加两个Adodc控件、TextBox控件数组以及2个DTPicker控件;添加3个ComboBox控件。代码设计Private Sub comdj_Click() Adodc1.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in OraDb11g

24、_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scott;PWD=123456 Adodc1.RecordSource = select * from tb_kf where 房态=空房 Adodc1.Refresh Adodc2.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in OraDb11g_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scot

25、t;PWD=123456 Adodc2.RecordSource = select * from tb_djb order by 凭证号码 Adodc2.Refresh If Not Adodc2.Recordset.EOF Then Adodc2.Recordset.MoveLast If lsph.Text = Then bh.Text = Fdate & d & Format(1,#000) If lsph.Text Then y1.Text = Month(Fdate) y2.Text = Month(Left(lsph.Text,10) If y1.Text = y2.Text Th

26、en bh.Text = Fdate & d & Format(Val(Right(lsph.Text,3) + 1,#000) Text1.Text = Val(Right(lsph.Text,3) + 1 End If If y1.Text y2.Text Then bh.Text = Fdate & d & Format(1,#000) End If End If For i = 0 To 2 ZSDJ(i).Text = ZSDJ(i).Enabled = True Next i For i = 4 To 6 ZSDJ(i).Text = ZSDJ(i).Enabled = True

27、Next i Combo3.Text = Comok.Enabled = True:Comdj.Enabled = False Combo3.Enabled = True:Combo1.Enabled = True ZSDJ(0).SetFocus Adodc3.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in OraDb11g_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scott;PWD=123456 Adodc3.RecordSource

28、 = select * from tb_kf where 房态 = 空房 Adodc3.Refresh Combo3.Clear If Adodc3.Recordset.RecordCount 0 Then For i = 1 To Adodc3.Recordset.RecordCount Combo3.AddItem Adodc3.Recordset.Fields(房间号).Value Adodc3.Recordset.MoveNext Next i End IfEnd SubPrivate Sub comok_Click() If ZSDJ(0) = Or Combo3 = Then Ms

29、gBox 请输入完整信息,系统提示 Else Adodc2.RecordSource = select * from tb_djb where 房间号 = & Combo3.Text & and 标志 like 1 Adodc2.Refresh If Adodc2.Recordset.RecordCount = 0 Then Adodc2.Recordset.AddNew If bh.Text Then Adodc2.Recordset.Fields(凭证号码) = bh.Text If ZSDJ(0).Text Then Adodc2.Recordset.Fields(姓名) = ZSDJ(

30、0).Text If Combo1.Text Then Adodc2.Recordset.Fields(证件名称) = Combo1.Text If ZSDJ(1).Text Then Adodc2.Recordset.Fields(证件号码) = ZSDJ(1).Text If ZSDJ(2).Text Then Adodc2.Recordset.Fields(详细地址) = ZSDJ(2).Text If Combo3.Text Then Adodc2.Recordset.Fields(房间号) = Val(Combo3.Text) If ZSDJ(4).Text Then Adodc2.

31、Recordset.Fields(客房类型) = ZSDJ(4).Text If DTP1.Value Then Adodc2.Recordset.Fields(住宿日期) = DTP1.Value If ZSDJ(5).Text Then Adodc2.Recordset.Fields(客房价格) = Val(ZSDJ(5).Text) If ZSDJ(6).Text Then Adodc2.Recordset.Fields(住宿天数) = ZSDJ(6).Text If ZSDJ(7).Text Then Adodc2.Recordset.Fields(宿费) = ZSDJ(7).Text

32、 If DTP3.Value Then Adodc2.Recordset.Fields(退宿日期) = DTP3.Value Adodc2.Recordset.Update Adodc2.Refresh adocon.Open Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & DB_KFGL.mdb;Persist Security Info=False adoRs.Open select * from tb_djys,adocon,adOpenKeyset,adLockOptimistic adoRs.AddNew If b

33、h.Text Then adoRs.Fields(凭证号码) = bh.Text If ZSDJ(0).Text Then adoRs.Fields(姓名) = ZSDJ(0).Text If Combo1.Text Then adoRs.Fields(证件名称) = Combo1.Text If ZSDJ(1).Text Then adoRs.Fields(证件号码) = ZSDJ(1).Text If ZSDJ(2).Text Then adoRs.Fields(详细地址) = ZSDJ(2).Text If ZSDJ(4).Text Then adoRs.Fields(客房类型) = Z

34、SDJ(4).Text If Combo3.Text Then adoRs.Fields(房间号) = Val(Combo3.Text) If ZSDJ(5).Text Then adoRs.Fields(客房价格) = Val(ZSDJ(5).Text) If DTP1.Value Then adoRs.Fields(住宿日期) = DTP1.Value If ZSDJ(6).Text Then adoRs.Fields(住宿天数) = ZSDJ(6).Text If ZSDJ(7).Text Then adoRs.Fields(宿费) = ZSDJ(7).Text If DTP3.Valu

35、e Then adoRs.Fields(退宿日期) = DTP3.Value adoRs.Update adocon.Close Adodc1.RecordSource = select * from tb_kf where 房间号 like + Combo3.Text + If Combo3.Text Then Adodc1.Recordset.Fields(房态) = 入住 Adodc1.Recordset.Update For i = 0 To 6 ZSDJ(i).Enabled = False Next i ZSDJ(8).Enabled = False:ZSDJ(10).Enable

36、d = False:ZSDJ(11).Enabled = False Combo3.Enabled = False:Combo1.Enabled = False End If Comok.Enabled = False:Comprint.Enabled = True:Comdj.Enabled = True Comprint.SetFocus End IfEnd SubPrivate Sub comcancel_Click() For i = 0 To 2 ZSDJ(i).Enabled = False Next i For i = 4 To 6 ZSDJ(i).Enabled = False

37、 Next i Comok.Enabled = False:Combo3.Enabled = False Combo1.Enabled = False:DTP3.Enabled = False Comdj.Enabled = TrueEnd SubPrivate Sub comend_Click() Unload Me main.Enabled = TrueEnd Sub4.1.5退宿登记模块按照如上办法设计窗体如下:代码设计:Private Sub Form_Load() Adodc1.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in

38、OraDb11g_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scott;PWD=123456 Adodc1.RecordSource = select * from tb_djb Adodc1.Refresh Adodc2.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in OraDb11g_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scott;P

39、WD=123456 Adodc2.RecordSource = select * from tb_kf Adodc2.Refresh Adodc3.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in OraDb11g_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scott;PWD=123456 Adodc3.RecordSource = select * from tb_gzmx Adodc3.Refresh Adodc4.ConnectionString = PROVIDER=MSDASQL;DRIVER=Oracle in OraDb11g_home1 ; & server=webserver;DSN=;databasename=aa;databasefile=d:aa;UID=scott;PW

展开阅读全文
部分上传会员的收益排行 01、路***(¥15400+),02、曲****(¥15300+),
03、wei****016(¥13200+),04、大***流(¥12600+),
05、Fis****915(¥4200+),06、h****i(¥4100+),
07、Q**(¥3400+),08、自******点(¥2400+),
09、h*****x(¥1400+),10、c****e(¥1100+),
11、be*****ha(¥800+),12、13********8(¥800+)。
相似文档                                   自信AI助手自信AI助手
搜索标签

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服