数据库实验报告宾馆客房管理系统文档格式.docx
- 文档编号:16514480
- 上传时间:2022-11-24
- 格式:DOCX
- 页数:14
- 大小:84.50KB
数据库实验报告宾馆客房管理系统文档格式.docx
《数据库实验报告宾馆客房管理系统文档格式.docx》由会员分享,可在线阅读,更多相关《数据库实验报告宾馆客房管理系统文档格式.docx(14页珍藏版)》请在冰豆网上搜索。
﹡准确实现客人预订入住的要求,实现有效及有保障的前台系统作业
﹡快速响应住宿客人的有关项目查询要求
﹡实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求
﹡提供清晰、准确的各类明细报表、账单,给客人留下良好的管理印象
1.3系统需求分析
需求分析图:
客房信息
客房信息
预定人信息预订单帐单
预定单入住管理
帐单
宾馆客房管理系统的数据字典:
数据流名称:
客人信息
来源:
客人
去向:
订单
包含的数据项:
预定人,姓名,身份证号,VIP
(宾馆客房管理系统的数据流——客人信息)
入住
订单编号,姓名,性别,身份证号,客户编号,客房类型,抵房时间,入住人数,预定人,电话,住几天,订单状态
(宾馆客房管理系统的数据流——订单)
客房信息
退房
客房编号,客房类型,客房价格,客房状态
(宾馆客房管理系统的数据流——客房信息)
入住单
入住单号,客房编号,客房类型,入住时间,入住人数,姓名,退房时间,订单编号,入住单状态
(宾馆客房管理系统的数据流——入住单)
帐单
管理员
帐单编号,姓名,消费金额,入住时间,退房时间,备注
(宾馆客房管理系统的数据流——帐单)
宾馆客房管理系统的数据项:
数据项名称
数据类型及长度
说明
预定人
字符,可变长度10
不能为空
预定人电话
字符,可变长度15
客人姓名
客人性别
字符,可变长度2
客人身份证号
字符,可变长度18
VIP
订单编号
字符,可变长度36
入住单号
客房编号
字符,可变长度6
帐单编号
客房类型
客房价格
货币型
客房状态
抵店时间
日期型
入住人数
住几天
订单状态
字符,可变长度4
入住单状态
入住时间
退房时间
消费金额
备注
字符,可变长度40
1.4概念设计
E-R图:
mn
mn
1.5逻辑结构设计
客人信息(预定人姓名,身份证号,VIP)
订单(订单编号,姓名,身份证号,客房编号,客房类型,抵店时间,入住人数,预定人,电话,住几天,订单状态)
客房信息(客房编号,客房类型,客房价格,客房状态)
入住单(入住单号,客房编号,客房类型,入住时间,入住人数,姓名,退房时间,订单编号,入住单状态)
帐单(帐单编号,客房编号,姓名,消费金额,入住时间,退房时间,备注)
2.系统具体实施过程
createtableroominfo/*创建数据表roominfo*/
(ridchar(6)notnull,
rstylevarchar(10),
kfztchar
(2)notnull)
go
createtableliveorder/*创建数据表liveorder*/
(lnovarchar(36)notnull,
ridchar(6)notnull,
btimedatetimenotnull,
cnochar(10),
cnamevarchar(10)notnull,
etimedatetime,
onovarchar(36),
lztchar(4))
createtablebill/*创建数据表bill*/
(bnovarchar(36)notnull,
cnamevarchar(10),
custmoney,
btimedatetime,
remarksvarchar(40))
createtableroomsp/*创建数据表roomsp*/
(rstylevarchar(10)notnull,
rpricemoney)
createtablehordform/*创建数据表hordform*/
(onovarchar(36)notnull,
csexchar
(2),
cidchar(18),
arrivetimedatetime,
cnochar(10)notnull,
dingnamevarchar(10),
livetimechar(10),
dingphchar(15)notnull,
oztchar(4))
createtablehliveorder/*创建数据表hliveorder*/
insertintocusinfovalues('
mao'
'
zcl'
330227198805060071'
n'
)
qxb'
zyy'
330227198603070022'
insertintoroominfovalues('
2010'
s'
2201'
2301'
)
3010'
y'
3012'
3015'
4210'
d'
4110'
4010'
5220'
5210'
5201'
insertintoroomspvalues('
200)
300)
go
insertintoordformvalues('
o0201001'
f'
2010-01-02'
1'
'
883060089'
insertintoliveordervalues('
l2010001'
2010-01-03'
l2010002'
2010-01-04'
o0201002'
insertintoliveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)
values('
l2010003'
2010-01-09'
myy'
o0201003'
insertintoliveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)
l2010004'
2'
zxx'
null,'
insertintobill(bno,rid,cname,cust,btime)values('
b2010003'
0,'
2010-01-10'
b2010004'
altertablecusinfoaddprimarykey(dingname)
altertableordformaddprimarykey(ono)
altertableroominfoaddprimarykey(rid)
altertableliveorderaddprimarykey(lno)
altertablebilladdprimarykey(bno)
altertableroomspaddprimarykey(rstyle)
createprocordformproc@lnovarchar(36)/*保存入住单*/
as
begintran
updateroominfosetkfzt='
fromroominfo,liveorderwhereliveorder.rid=roominfo.ridandliveorder.lno=@lno/*修改客房信息*/
updateordformsetozt='
fromordform,liveorderwhereliveorder.ono=ordform.onoandliveorder.lno=@lno/*修改预订单信息*/
insertintohordformselect*fromordformwhereozt='
/*将已入住的预订单放入历史*/
deletefromordformwhereozt='
/*清除已入住预订单*/
commit
select*fromroominfo
select*fromordform
execordformproc'
createprocliveorderproc@lnovarchar(36)/*收银退房*/
updateliveordersetetime=getdate(),lzt='
wherelno=@lno
fromroominfo,liveorderwhereroominfo.rid=liveorder.ridandliveorder.lno=@lno/*修改客房状态*/
insertintohliveorderselect*fromliveorderwherelno=@lno/*导入历史*/
deletefromliveorderwherelno=@lno/*清除入住单*/
select*fromliveorder
select*fromhliveorder
execliveorderproc'
select*fromhliveorder
select*fromroominfowhererid='
createprocbillproc@lnovarchar(36)/*计算应收款*/
declare@totalmoney
declare@datecountint
updateliveordersetetime=getdate()wherelno=@lno/*设置离店时间*/
select@datecount=datediff(dd,btime,getdate())fromliveorderwherelno=@lno/*计算住店天数*/
select@total=0
select@total=@datecount*(isnull(rprice,0))fromliveorder,bill,roomsp
wherebill.rid=liveorder.ridandliveorder.rstyle=roomsp.rstyleandlno=@lno/*计算住店金额*/
updatebillsetetime=getdate(),cust=@totalfrombill,liveorderwherebill.rid=liveorder.ridandlno=@lno/*修改账单*/
select*frombill
execbillproc'
select*frombill2.1程序代码
createdatabasehotelmanager/*创建数据库hotelmanager*/
usehotelmanager
createtablecusinfo/*创建数据表cusinfo*/
(dingnamevarchar(10)notnull,
cnamevarchar(10),
vipchar
(2))
createtableordform/*创建数据表ordform*/
2.2数据库的完整性和安全性
1.数据库的完整性
数据库的完整性是指数据的正确性和相容性。
数据库管理系统(DBMS)用一定的机制来检查数据库中的数据是否满足规定的条件——完整性约束条件,数据的约束条件是语义的体现,将作为模式的一部分存入数据库中。
本系统中定义了表与表之间的联系有助于实现完整性规则,一般在程序中实现具体的完整性控制。
2.数据库的安全性
数据库的安全性是指保护数据库以防止不合法的使用所造成的数据泄漏、更改或破坏。
在数据库系统中,大量的数据集中存放,而且为许多用户直接共享,是宝贵的信息资源,系统的安全保护措施就显得更为重要,它保护数据库防止恶意的破坏和非法的存取。
本系统包括数据库的安全和服务器的安全。
采用管理员表示和鉴定的方法实现数据库的安全,此安全管理措施并不在前台开发工具中实现,而是在后台数据库中实现。
在登录数据库时,系统让管理员户表示自己的身份,不同的管理员权限不同,系统进行核实,鉴别此管理员是否为合法用户,若是,系统进一步核实用户,通常要求用户输入口令,系统和对用户口令以鉴别用户身份。
服务器的安全也是通过用户在登录服务器时输入合法的用户名和密码来实现的。
这是一种简单可行的方法,实现起来比较方便。
没有采用更加复杂的系统安全管理措施是因为本管理系统一般是应用在校园网中,采用安全管理措施主要是为了防止没有修改权限的用户无意间修改了数据,因此采用用户标识和鉴定的安全管理措施就能够保障数据库的安全性。
2.3参考文献
[1]王晟马里杰.SQLServer数据库开发经典例解析[J].北京:
清华大学出版社,2006.
[2]张俊玲.数据库原理与应用[M].北京:
清华大学出版社,2005.
[3]李昆.SQLServer2000课程设计案例精编[M].中国水利水电出版社,2006.
3总结
通过本次实验,对于数据的一个完整体系有了深刻的理解。
一个从需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施,数据库运行与维护的完整过程。
在这个数据库建设过程中,需求分析是关键,因为只有明确你的分析需求,系统才能决定要完成什么功能,设计哪些功能模块来完成这些内容的。
如:
快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间;
准确实现客人预订入住的要求,实现有效及有保障的前台系统作业;
快速响应住宿客人的有关项目查询要求;
实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求;
提供清晰、准确的各类明细报表、账单,给客人留下良好的管理印象。
这些就是我们这个系统的需求,我我们就要争对些来设计。
不过,对于我们来说,编写程序代码是比较困难的一个步骤,如存储过程的创建,触发器的编写,由于平时上课,这些内容也不是掌握的很好,这次在课程设计过程中遇到了许多问题。
而且对于系统的庞大,自己也有些理不清思绪,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 实验 报告 宾馆 客房 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)