酒店管理系统Oracle数据库的设计与实现概述样本.docx

上传人:b****4 文档编号:26729281 上传时间:2023-06-22 格式:DOCX 页数:50 大小:540.79KB
下载 相关 举报
酒店管理系统Oracle数据库的设计与实现概述样本.docx_第1页
第1页 / 共50页
酒店管理系统Oracle数据库的设计与实现概述样本.docx_第2页
第2页 / 共50页
酒店管理系统Oracle数据库的设计与实现概述样本.docx_第3页
第3页 / 共50页
酒店管理系统Oracle数据库的设计与实现概述样本.docx_第4页
第4页 / 共50页
酒店管理系统Oracle数据库的设计与实现概述样本.docx_第5页
第5页 / 共50页
点击查看更多>>
下载资源
资源描述

酒店管理系统Oracle数据库的设计与实现概述样本.docx

《酒店管理系统Oracle数据库的设计与实现概述样本.docx》由会员分享,可在线阅读,更多相关《酒店管理系统Oracle数据库的设计与实现概述样本.docx(50页珍藏版)》请在冰豆网上搜索。

酒店管理系统Oracle数据库的设计与实现概述样本.docx

酒店管理系统Oracle数据库的设计与实现概述样本

Oracle数据库设计和实现

选题名称:

酒店管理系统

姓名:

学号:

专业:

班级:

指导老师:

设计地点:

 

一、系统需求分析

1.1系统开发目标和意义----------3

1.2系统要求-----------------------------3

二、系统总体设计

2.1系统功效需求----------------------4

2.2系统数据需求----------------------4

2.3系统功效结构图-------------------5

2.4系统部分步骤图-------------------5

三、数据库设计

3.1数据库概念模型-------------------7

3.2数据库物理模型-------------------8

3.3酒店管理系统部分数据字典---9

四、系统实现过程

4.1设计过程-----------------------------11

4.2系统各界面设计代码-------------28

五、试验总结

5.1试验中碰到问题---------------35

5.2心得体会--------------------------35

一、系统需求分析

1.1系统开发目标和意义

首先应该在此次实践中有所收获,能够学习到相关软件功效,和进行实践设计需要知识。

能够在实践中学习。

面对酒店行业高速发展和酒店行业信息化发展过程中出现多种情况,酒店客房管理系统在实施后应达成以下目标:

实现多点操作信息共享,相互之间信息传输正确、快捷、顺畅;

服务管理信息化,可随时掌握客人住宿情况;

系统界面友好美观,操作简单易行,查询灵活方便,数据存放安全。

实现客房登记入住和查询功效,查询酒店信息,客人信息,客房信息等功效。

实现Delphi和oracle连接,进行数据插入。

1.2系统要求

要求实现酒店职员信息管理、用户信息管理、客房信息管理、订单管理等功效,包含用户信息添加、修改、删除及查询;客房信息添加、修改、删除及查询;订单查询及退房管理等。

 

二、系统总体设计

2.1系统功效需求

经过对互联网上各大酒店管理系统认识和分析,我对酒店管理系统有了基础了解,我认为该系统最少应该含有以下部分基础功效:

(1)系统管理模块:

包含登录系统,用户管理,权限管理,角色管理,和查询统计,用户管理折扣管理和开台管理等。

(2)基础设置管理模块:

包含厨师管理,买单管理等。

(3)用户管理模块:

包含用户点菜,上菜,结账,统计等。

(4)用户订房管理模块:

包含订房,续房,查房,退房,结算等。

2.2系统数据需求

依据数据需求分析可知该系统最少应该含有以下部分数据需求:

DESKTYPE餐桌类别表(餐桌类别编号,餐桌座位数,餐桌方位,备注)。

DESK餐桌表(餐桌编号,餐桌类别编号,餐桌状态,备注)。

FOODYPE菜系(菜系编号,菜系名称,备注)。

FOOD菜品(菜品编号,菜单编号,所属菜系,菜品名称,菜品价格,助记码,备注)。

FOODTICKET餐饮订单(订单编号,餐桌编号,下单服务员编号,点菜时间,订单状态,备注)。

ROOMCUSTINFO住房用户信息表(住户编号,客房类别编号,住户姓名,住户省份证号)。

FOODLIST菜单(菜单编号,餐桌编号,菜品编号,厨师编号,状态,备注)。

ROOMTYPE客房类别表(客房类别编号,客房类型名称,客房类别价格,备注)。

ROOMINFO客房信息表(房间编号,客房类别编号,客房状态,备注)。

ROOMTICKET客房订单管理表(订单编号,房间号,下单服务员ID,身份证号,入住时间,离开时间,押金金额,结算金额,下单时间,备注)。

CUSTINFO用户信息表(身份证号,用户姓名,用户性别,用户电话,是否会员,信息录入时间,备注)。

USER用户信息表(用户编号,角色编号,部门编号,用户名,用户密码,是否审核经过,年纪,性别,生日,联络电话,备注)。

ROLE用户角色表(角色编号,角色名,备注)。

DEPARMENT部门表(部门编号,名称,上级部门编号,备注)。

PERMISSION权限表(权限编号,权限组编号,权限名称,备注)。

ROLEPER角色-权限关联表(角色权限编号,角色编号,权限编号)。

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张表。

菜系表:

用来存放菜系信息,其中FOODTYPEID字段为主键。

表3-3-1菜系:

FOODYPE

字段名称

类型

许可空

主键

外键

外键参考表

说明

FOODTYPEID

NUMBE(5)

NOT

YES

菜系ID

FOODTYPENAME

VARCHAR2(20)

NOT

菜系名称

FOODTYPEREMARK

VARCHAR2(50)

YES

备注

菜品表:

用于菜品全部信息,也是点菜菜单一个信息起源表,从中可取得菜品全部信息。

其中字段FOODTYPEID用来描述该菜品属于哪个菜系是外键参参考表FOODTYPE,依据此字段值,能够知道菜品属于对应哪个菜系。

表3-3-2菜品:

FOOD

字段名称

类型

许可空

主键

外键

外键参考表

说明

FOOD

ID

NUMBER(5)

NOT

YES

菜品ID

FOOD

NAME

VARCHAR2(20)

NOT

菜品名称

FOODTYPE

ID

NUMBER(5)

NOT

YES

FOODYPE

所属菜系ID

FOOD

PRICE

NUMBER(5)

NOT

菜品价格

FOODHELPCODE

VARCHAR2(10)

NOT

助记码

FOODREMARK

VARCHAR2(50)

YES

备注

客房类别表:

用来存放客房类别信息,

表3-3-3客房类别表:

ROOMTYPE

字段名称

类型

许可空

主键

外键

外键参考表

说明

ROOMTYPEID

NUMBER(5)

NOT

YES

客房类别编号

ROOMTYPE

NAME

VARCHAR2(20)

NOT

客房类别名称

ROOMTYPEPAY

NUMBER(5)

NOT

类别价格

ROOMTYPEREMARK

VARCHAR2(50)

NOT

备注

客房信息表:

用来存放客房信息。

表3-3-4客房信息表:

ROOMINFO

字段名称

类型

许可空

主键

外键

外键参考表

说明

ROOM

ID

NUMBER(5)

NOT

YES

房间编号

ROOMTYPE

ID

NUMBER(5)

NOT

YES

ROOMTYPE

客房类别编号

续表5-4

字段名称

类型

许可空

主键

外键

外键参考表

说明

ROOMCHECK

NUMBER(5)

NOT

客房状态

ROOMREMARK

VARCHAR2(50)

YES

备注

用户信息表:

用来存放酒店用户相关信息。

表3-3-5用户信息表:

CUSTINFO

字段名称

类型

许可空

主键

外键

外键参考表

说明

CARDID

VARCHAR2(20)

NOT

YES

身份证号

CUSTNAME

VARCHAR2(20)

NOT

姓名

CUSTSEX

VARCHAR2(10)

NOT

性别

CUSTPHONE

VARCHAR2(20)

YES

电话

VIPCHECK

NUMBER(5)

YES

是否会员

CUSTDATE

VARCHAR2(20)

YES

信息录入时间

 

四、系统实现过程

4.1设计过程

4.1.1窗体设计

⑴新建一个标准工程,会出现form1,能够遵照默认格式,也能够更更名称,这里默认。

⑵添加所需控件mainmenu,双击控件在其中加入所要进行功效以下:

 

添加控件Image插入图片,选中image控件,在其属性表中选中picture,选择需要图片:

 

⑶再建立一个Form2,默认格式即可。

在其中加入客房登记所需控件:

⑷再建立一个Form3,默认格式即可,而且在project-options中设置其为主窗体。

在其中加入客房登记所需控件,8个label,8个Edit,两个bitbtn图:

能够在bitbtn按钮中添加图片,使其愈加生动,,选中按钮,在其属性选择Glyph,选择需要图片即可,注意图片格式要符合要求,还能够为界面换颜色。

⑸再建立一个Form4,默认格式即可。

在其中加入客人信息查询所需控件,1个label,一个Edit,2个按钮,1个DBGrid:

这里需要链接数据库,和krxx表中信息进行链接。

连接方法为:

首先添加一个数据模板(datemodule),然后选择ADOQuery控件和datasource控件添加到数据模板,选中ADOQuery控件,在其属性中找到connectionstring,进行数据库链接,选择

 

⑹再建立一个Form5,默认格式即可。

在其中加入客房登记所需控件,和上面一样:

这个窗体也要进行数据库链接,过程和上面一样,只是链接表名不一样,这里链接是kfxx表。

双击确定添加代码以下:

withData3.ADOQuery1do

begin

Close;

SQL.Clear;

SQL.Add('select*fromfjxxwhere房间号码=:

a');

Parameters.ParamByName('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个DBGrid,和一个DBNavigator图:

将其和数据库中表krxx链接后,输入证件号码单击DBNavigator控件上√能够突出显示选择信息,然后点击退房能够实现退房功效。

4.1.2进行窗体之间转换

(1)在form3中进行密码设置,双击登录按钮进行代码输入以下:

var

results:

Variant;

BEGIN

results:

=ADOTable1.Lookup('姓名',edit1.text,'密码');

ifresults=edit2.Textthen

begin

form3.Hide;

form1.Show;

end

else

begin

application.MessageBox('姓名或密码错误','提醒信息',64);

edit1.SetFocus;

exit;

end;

end;

退出代码为:

close;

(2)在form1中进行剩下各form间连接,在form1中分别单击要实现功效菜单按钮,并分别输入代码,得到最终代码以下:

procedureTForm1.N2Click(Sender:

TObject);

begin

form1.Hide;

form2.showmodal;

end;

procedureTForm1.N3Click(Sender:

TObject);

begin

form1.Hide;

form4.showmodal;

end;

procedureTForm1.N4Click(Sender:

TObject);

begin

form1.Hide;

form5.ShowModal;

end;

procedureTForm1.N5Click(Sender:

TObject);

begin

form1.Hide;

form6.ShowModal;

end;

procedureTForm1.N6Click(Sender:

TObject);

begin

form1.hide;

form7.ShowModal;

end;

procedureTForm1.N8Click(Sender:

TObject);

begin

form1.hide;

form8.ShowModal;

end;

procedureTForm1.N7Click(Sender:

TObject);

begin

close;

end;

procedureTForm1.FormCreate(Sender:

TObject);

begin

end;

而且要在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,form5,form6,form7中进行form1间转换,代码类似(3)。

3、form1中退出菜单实现

双击退出菜单进行代码输入:

close;即可。

至此完成了菜单管理实现,能够运行后进行各功效实现。

 

②代码设计

PrivateSubToolbar1_ButtonClick(ByValButtonAsMSComctlLib.Button)

SelectCaseButton.Key

Case"DJ"

zsdj_Click

Case"TF"

tf_Click

Case"FT"

ftck_Click

Case"CX"

zscx_Click

Case"exit"

IfMsgBox("确定退出该系统?

",4,"系统提醒")=vbYesThen

End

EndIf

EndSelect

EndSub

PrivateSubsztx_Click()

DimStr

CommonDialog1.Filter="BMP图片(*.BMP)|*.BMP|JPG图片(*.JPG)|*.JPG|GIF图片(*.GIF)|*.GIF|全部文件(*.*)|*.*"

CommonDialog1.ShowOpen

IfCommonDialog1.FileName<>""Then

Image2.Picture=LoadPicture(CommonDialog1.FileName)

Str=CommonDialog1.FileName

Open(App.Path&"\picture.txt")ForOutputAs#1

Print#1,Str

Close#1

CommonDialog1.FileName=""

Else

CommonDialog1.FileName=""

EndIf

EndSub

PrivateSubsjbf_Click()

main_sjbf.Show

main.Enabled=False

EndSub

PrivateSubsjhf_Click()

main_sjhf.Show

EndSub

PrivateSubzsdj_Click()

main_kfdj.Show

main.Enabled=False

EndSub

 

PrivateSubtf_Click()

main_tf.Show

main.Enabled=False

EndSub

PrivateSubkfcx_Click()

main_kfcx.Show

main.Enabled=False

EndSub

PrivateSubftck_Click()

main_ftcx.Show

main.Enabled=False

EndSub

 

PrivateSubzscx_Click()

Loadmain_zscx

main_zscx.Show

main.Enabled=False

EndSub

PrivateSubtfcx_Click()

Loadmain_tfcx

main_tfcx.Show

main.Enabled=False

EndSub

4.1.3系统登录模块设计

①窗体设计

⑴添加新窗体,命名为main_Login,Caption属性为“酒店客房管理系统”;

⑵添加Adodc控件和两个TextBox控件,Text1放在用户名后,Text2放在密码后;

⑶添加两个Image控件,分别设置Picture属性,添加“确定”和“退出”按钮。

②代码设计

PrivateSubImage1_Click()

IfText1.Text=7AndText2.Text=123456Then

main.Show

Me.Hide

Else

MsgBox"密码错误!

",vbCritical,"提醒"

EndIf

EndSub

PrivateSubImage2_Click()

End

EndSub

4.1.4住宿登记模块

①窗体设计

⑴添加新窗体命名为main_kfdj,Caption属性为“住宿登记”;

⑵添加两个Adodc控件、TextBox控件数组和2个DTPicker控件;

⑶添加3个ComboBox控件。

②代码设计

PrivateSubcomdj_Click()

Adodc1.ConnectionString="PROVIDER=MSDASQL;DRIVER={OracleinOraDb11g_home1};"&"server=webserver;DSN=;databasename=aa;databasefile=d:

\\aa\\;UID=scott;PWD=123456"

Adodc1.RecordSource="select*fromtb_kfwhere房态='空房'"

Adodc1.Refresh

Adodc2.ConnectionString="PROVIDER=MSDASQL;DRIVER={OracleinOraDb11g_home1};"&"server=webserver;DSN=;databasename=aa;databasefile=d:

\\aa\\;UID=scott;PWD=123456"

Adodc2.RecordSource="select*fromtb_djborderby凭证号码"

Adodc2.Refresh

IfNotAdodc2.Recordset.EOFThenAdodc2.Recordset.MoveLast

Iflsph.Text=""Thenbh.Text=Fdate&"d"&Format(1,"###000")

Iflsph.Text<>""Then

y1.Text=Month(Fdate)

y2.Text=Month(Left(lsph.Text,10))

Ify1.Text=y2.TextThen

'bh.Text=Fdate&"d"&Format(Val(Right(lsph.Text,3))+1,"###000")

Text1.Text=Val(Right(lsph.Text,3))+1

EndIf

Ify1.Text<>y2.TextThen

bh.Text=Fdate&"d"&Format(1,"###000")

EndIf

EndIf

Fori=0To2

ZSDJ(i).Text=""

ZSDJ(i).Enabled=True

Nexti

Fori=4To6

ZSDJ(i).Text=""

ZSDJ(i).Enabled=True

Nexti

Combo3.Text=""

Comok.Enabled=True:

Comdj.Enabled=False

Combo3.Enabled=True:

Combo1.Enabled=True

ZSDJ(0).SetFocus

Adodc3.ConnectionString="PROVIDER=MSDASQL;DRIVER={OracleinOraDb11g_home1};"&"server=webserver;DSN=;databasename=aa;databasefile=d:

\\aa\\;UID=scott;PWD=123456"

Adodc3.RecordSource="select*fromtb_kfwhere房态='空房'"

Adodc3.Refresh

Combo3.Clear

IfAdodc3.Recordset.RecordCount>0Then

Fori=1ToAdodc3.Recordset.RecordCount

Combo3.AddItemAdodc3.Recordset.Fields("房间号").Value

Adodc3.Recordset.MoveNext

Nexti

EndIf

En

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > PPT模板 > 节日庆典

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1