数据库课程设计报告酒店管理系统.docx
- 文档编号:29696108
- 上传时间:2023-07-26
- 格式:DOCX
- 页数:25
- 大小:392.61KB
数据库课程设计报告酒店管理系统.docx
《数据库课程设计报告酒店管理系统.docx》由会员分享,可在线阅读,更多相关《数据库课程设计报告酒店管理系统.docx(25页珍藏版)》请在冰豆网上搜索。
数据库课程设计报告酒店管理系统
数据库课程设计报告
酒店管理系统
一、实习的性质、目的与任务 —-—-—-—-————-——————-—-——————— 3
(1)画出实体间的E-R图4
(2)利用企业管理器建立数据库及基本表4
(3)利用查询分析器或企业管理器建立视图ﻩ4
(4)利用Transcat-SQL语句自定义存储过程4
(5)在查询分析器或企业管理器下用Transcat—SQL语句自定义触发器4
二、系统需求分析ﻩ———--——-——————-—————————-—--—-4
2.1、系统功能需求——-————-—-————————————————-—-—-——-4
三、系统总体设计——---——-———--————-—--————--———-5
2、数据库设计ﻩ5
四、表的创建——-———————————-—-———————————-————7
(1)、入住登记表ﻩ7
(2)、员工信息表7
(3)、客户表ﻩ8
(4)、岗位表8
(5)、客房表8
五、结果数据处理————-————-————-———-——---————————--—9
2、嵌套查询ﻩ12
3、创建查询视图13
5、 建立存储过程ﻩ15
6、建立触发器21
六、结束语-———-———-—————-——-—-—-———---——-——23
一、实习的性质、目的与任务
本次实习属于课程设计,其目的是使学生在结束本门课程学习后,完成下列知识的掌握和应用:
要求学生掌握数据库设计的基本技术.熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解、掌握SQLSERVER2000软件的使用方法、掌握Transcat-—SQL编程方法、熟悉数据库、基本表、视图、存储过程与触发器的创建与管理.
实习教学的基本要求:
要求学生根据周围的实际情况.自选一个小型的数据库应用项目并深入到应用项目的现实世界中,进行系统分析和数据库设计。
例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。
(1)画出实体间的E—R图
(2)利用企业管理器建立数据库及基本表
(3)利用查询分析器或企业管理器建立视图
(4)利用Transcat—SQL语句自定义存储过程
(5)在查询分析器或企业管理器下用Transcat—SQL语句自定义触发器
二、系统需求分析
2。
1、系统功能需求
1、 登录功能—-简单的登录向导
2、 主界面选择分项功能:
2-1客房管理
2-1—1客房查询——查询当前客房的入住情况,入住客户,客房分配员工
2-1-2 客房办理——办理客户入住,安排客房分派员工
2-1—3客房退订--退订客房
2—1—4信息更改——客房办理的下一步功能,也可以进入更改客房员工分配等信息
2-2员工管理
2—2—1员工信息查询——查询员工的基本资料
2—2—2员工登记 -—增加新的员工信息
2-3客户管理
2—3-1 客户信息登记-—注册登记客户信息(区别于办理,只注册用户信息未必入住)
2-3-2客户信息查询-—查询客户资料
2—3-3 客户信息修改——修改客户信息
2—3—4客户客房分配——分配客户到客房
3、退出系统
三、 系统总体设计
1、体系结构设计
2、数据库设计
数据库包含常用的表,索引,示图,触发器,完整的数据库,用来存储,读取,修改,触发完成.Net的一切需求功能
2。
1、概念结构设计
分ER图
全局ER图
四、 表的创建
(1)、入住登记表
(2)、员工信息表
(3)、客户表
(4)、岗位表
(5)、客房表
(6)、工资表
五、 结果数据处理
1、连接查询
(1)、查找所有收入在2500元以下的雇员的情况
(2)、用连接查询语句查询每个雇员的情况及其薪水的情况
(3)、用连接查询语句查询财务部收入在2200元以上的雇员姓名及其薪水详情
(4)、求财务部雇员的平均收入
(5)、查询财务部雇员的最高和最低收入
(6)、求各部门的雇员数
(7)、统计各部门收入在2000元以上的雇员的人数
(8)、将各雇员的情况按收入由低到高排列
2、嵌套查询
(1)、查找财务部年龄不低于研发部雇员年龄的姓名
(2)、查找研发部比所有财务部雇员收入都高的雇员的姓名
(3)、查找比财务部的雇员收入都高的雇员的姓名
3、创建查询视图
(1)、客户信息查询视图
(2)、客房信息查询
(3)、入住信息查询
4、建立索引
(1)、创建客房表索引:
(2)、创建客户表索引:
(3)、创建入住表索引:
5、建立存储过程
(1)、客房信息存储过程
插入客房信息存储过程
CREATEPROCEDURE插入客房信息
(@KFBCHAR(8),
@KFL CHAR(8),
@JGSMALLMONEY,
@CWSINT,
@SYZTCHAR(8)
)
AS
INSERT INTO客房VALUES(@KFB,@KFL,@JG,@CWS,@SYZT)
修改客房信息存储过程
CREATE PROCEDURE修改客房信息
(@KFBCHAR(8),
@KFLCHAR(8),
@JGSMALLMONEY,
@CWSINT,
@SYZTCHAR(8)
)
AS
UPDATE客房
SET客房类型=@KFL,价格=@JG,床位数=@CWS,使用状态=@SYZT
WHERE 客房编号=@KFB
删除客房信息存储过程
CREATEPROCEDURE删除客房信息
(@KFBCHAR(8)
)
AS
DELETEFROM客房WHERE客房编号=@KFB
(2)、客户信息存储过程
插入客户信息
CREATEPROCEDURE插入客户信息
(@KHBCHAR(8),
@KFMCHAR(10),
@SFZ CHAR(18),
@LXDZ CHAR(25),
@LXDHCHAR(10)
)
AS
INSERTINTO客户VALUES (@KHB,@KFM,@SFZ,@LXDZ,@LXDH)
修改客户信息
CREATE PROCEDURE 修改客户信息
(@KHBCHAR(8),
@KFM CHAR(10),
@SFZCHAR(18),
@LXDZCHAR(25),
@LXDHCHAR(10)
)
AS
UPDATE客户
SET 客户名称=@KFM,身份证号=@SFZ,联系地址=@LXDZ,联系电话=@LXDH
WHERE客户编号=@KHB
删除客户信息
CREATE PROCEDURE删除客户信息
(@KHBCHAR(8))
AS
DELETE
FROM客户
WHERE客户编号=@KHB
EXEC删除客户信息@KHB=’10009'
(3)、创建入住信息存储过程
插入入住信息
CREATEPROCEDURE插入入住信息
(@KFBCHAR(8),
@KHBCHAR(8),
@YDRQDATETIME,
@YDSL INT
)
AS
INSERTINTO入住登记VALUES(@KFB,@KHB,@YDRQ,@YDSL)
修改入住信息
CREATEPROCEDURE 修改入住信息
(@KFBCHAR(8),
@KHBCHAR(8),
@YDRQDATETIME,
@YDSLINT
)
AS
UPDATE入住登记
SET 客房编号=@KFB,预定日期=@YDRQ,预定数量=@YDSL
WHERE客户编号=@KHB
删除入住信息
CREATEPROCEDURE删除入住信息
(
@KHBCHAR(8)
)
AS
DELETE
FROM 入住登记
WHERE客户编号=@KHB
(4)、查询存储过程的创建
客房编号查询
CREATEPROCEDURE客房编号查询
(@KFBCHAR(8),
@KFLCHAR(8)OUTPUT,
@JGSMALLMONEYOUTPUT,
@CWSINTOUTPUT,
@SYZTCHAR(8)OUTPUT
)
AS
SELECT@KFL=客房类型,@JG=价格,@CWS=床位数,@SYZT=使用状态
FROM客房
WHERE客房编号=@KFB
客户编号查询
CREATEPROCEDURE客户编号查询
(@KHB CHAR(8),
@KFM CHAR(10)OUTPUT,
@SFZCHAR(18)OUTPUT,
@LXDZCHAR(25)OUTPUT,
@LXDH CHAR(10)OUTPUT
)
AS
SELECT@KFM=客户名称,@SFZ=身份证号,@LXDZ=联系地址,@LXDH=联系电话
FROM客户
WHERE 客户编号=@KHB
入住客户编号查询
CREATEPROCEDURE 入住客户编号查询
(@KFBCHAR(8)OUTPUT,
@KHBCHAR(8),
@YDRQDATETIMEOUTPUT,
@YDSL INTOUTPUT
)
AS
SELECT@KFB=客房编号,@YDRQ=预定日期,@YDSL=预定数量
FROM入住登记
WHERE客户编号=@KHB
6、建立触发器
建立触发器保证数据的一致性
(1)客房使用状态的控制
CREATETRIGGER控制触发器
ON入住登记
FOR INSERT
ASﻩ
UPDATE 客房
SET 使用状态=’使用中'
WHERE客房编号=ANY(SELECT客房编号FROMINSERTED)
(2)、控制入住信息删除的触发器
CREATETRIGGER入住删除触发器
ON入住登记
FORDELETE
AS
BEGIN
DELETE
FROM 客户
WHERE 客户编号=ANY (SELECT客户编号FROM DELETED)
UPDATE客房
SET使用状态=’未使用'
WHERE 客房编号=ANY(SELECT 客房编号FROMDELETED)
END
(3)、客户信息删除的控制
CREATETRIGGER客户删除触发器
ON 客户
FORDELETE
AS
BEGIN
DELETE
FROM入住
WHERE 客户编号=ANY(SELECT客户编号FROMDELETED)
UPDATE客房
SET 使用状态='未使用’
WHERE 客房编号=ANY(SELECT客房编号 FROM DELETED)
END
(4)、客房删除触发器
CREATETRIGGER客房删除触发器
ON 客房
FORDELETE
AS
DELETE
FROM入住
WHERE客户编号=ANY(SELECT客户编号FROMDELETED)
六、结束语
本次课程设计对于我们小组来说不仅是做了酒店管理系统,最为珍贵的是在我们准备这次课程设计所学到的以前不为己知的知识.以前接触到SQL数据库只是注重在书本上,从来没有认真的去用它,更不用说实践操作.零零散散的学习了一些基本知识,不大实用。
通过这次课程设计,了解了SQL数据库中的以前不大明白的技术运用。
在SQL数据库中,我们把在数据库理论上的知识予以运用,如:
建立视图,创建存储过程,应用事务等,在一些基本的数据库操作中,熟悉并巩固了SQL的语法知识.通过对课程设计要求的分析,培养了我们由书面文字要求到转化这种要求到现实模型的能力,即很大程度上培养了我们的分析问题能力,总结归纳问题的能力。
理论联系实际就在这里自然地得到实现。
这对我们巩固已学知识,锻炼实践动手能力大有裨益.
本次设计就要画上一个句号了。
可是它本身对我们的影响却远远没有结束。
我们从本次设计中学到了很多的东西,从设计任务书的下达到今天的系统实现时间整整花了半个月,通过本人的努力的老师同学的帮助我们不但在知识水平和解实际问题的能力上有了很大的提高,还从思想上认识到,自己所学的知识在实现的开发中是很不够的。
关于本次设计的命题,我们的设计还很不完善,还有许多的功能因为时间和本身的知识水平无法实现,不过,到少在此次论文中我的思维得到了提高,动手能务得到了提高,我们坚信它必将会对我们以后的学习产生积极的影响。
本学期学习生活即将结束,在此,我们小组要感谢所有教导过我们的老师和关心过我们的同学,他们在我们成长过程中给予了我很大的帮助。
本文能够成功的完成,要感谢各位老师同学的关心和帮助。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 课程设计 报告 酒店 管理 系统
![提示](https://static.bdocx.com/images/bang_tan.gif)