《酒店管理系统(数据库设计).doc》由会员分享,可在线阅读,更多相关《酒店管理系统(数据库设计).doc(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、Four short words sum up what has lifted most successful individuals above the crowd: a little bit more.-author-date酒店管理系统(数据库设计)数据库 酒店管理系统 课程设计数据库课程设计酒店管理系统 目录一、实习的性质、目的与任务 3(1)画出实体间的E-R图4(2)利用企业管理器建立数据库及基本表4(3)利用查询分析器或企业管理器建立视图4(4)利用TranscatSQL语句自定义存储过程4(5)在查询分析器或企业管理器下用TranscatSQL语句自定义触发器4二、 系统需求分
2、析42.1、 系统功能需求4三、 系统总体设计51、体系结构设计52、数据库设计5四、 表的创建7(1)、入住登记表7(2)、员工信息表7(3)、客户表8(4)、岗位表8(5)、客房表8(6)、工资表9五、 结果数据处理91 、连接查询92、嵌套查询123、创建查询视图134、建立索引145、 建立存储过程156、建立触发器21六、 结束语23一、实习的性质、目的与任务本次实习属于课程设计,其目的是使学生在结束本门课程学习后,完成下列知识的掌握和应用:要求学生掌握数据库设计的基本技术熟悉数据库设计的每个步骤中的任务和实施方法,并加深对数据库系统概念和特点的理解、掌握SQL SERVER 200
3、0软件的使用方法、掌握Transcat-SQL编程方法、熟悉数据库、基本表、视图、存储过程与触发器的创建与管理。 实习教学的基本要求:要求学生根据周围的实际情况自选一个小型的数据库应用项目并深入到应用项目的现实世界中,进行系统分析和数据库设计。例如选择学籍管理系统、图书管理系统、材料管理系统或仓库管理系统等。(1)画出实体间的E-R图(2)利用企业管理器建立数据库及基本表(3)利用查询分析器或企业管理器建立视图(4)利用TranscatSQL语句自定义存储过程(5)在查询分析器或企业管理器下用TranscatSQL语句自定义触发器二、 系统需求分析2.1、 系统功能需求1、 登录功能简单的登录
4、向导2、 主界面选择分项功能:21 客房管理 2-1-1 客房查询查询当前客房的入住情况,入住客户,客房分配员工 2-1-2 客房办理办理客户入住,安排客房分派员工 2-1-3 客房退订退订客房 2-1-4 信息更改客房办理的下一步功能,也可以进入更改客房员工分配等信息22 员工管理 2-2-1 员工信息查询查询员工的基本资料 2-2-2 员工登记 增加新的员工信息23 客户管理 2-3-1 客户信息登记注册登记客户信息(区别于办理,只注册用户信息未必入住) 2-3-2 客户信息查询查询客户资料 2-3-3 客户信息修改修改客户信息 2-3-4 客户客房分配分配客户到客房3、 退出系统三、 系
5、统总体设计1、体系结构设计2、数据库设计数据库包含常用的表,索引,示图,触发器,完整的数据库,用来存储,读取,修改,触发完成。Net的一切需求功能2.1、概念结构设计分ER图客房编号号类型单价指派员工当前状态 全局ER图安排管理员员工客房客户编号姓名年龄职称地址编号姓名号住址身份证号是否保险客房编号编号类型单价指派员工服务客房编号当前状态服务安排排排管理管理联系方式 四、 表的创建(1)、入住登记表 (2)、员工信息表 (3)、客户表 (4)、岗位表(5)、客房表(6)、工资表五、 结果数据处理1 、连接查询(1)、查找所有收入在2500元以下的雇员的情况(2)、用连接查询语句查询每个雇员的情
6、况及其薪水的情况(3)、 用连接查询语句查询财务部收入在2200元以上的雇员姓名及其薪水详情(4)、求财务部雇员的平均收入(5)、查询财务部雇员的最高和最低收入(6)、求各部门的雇员数(7)、统计各部门收入在2000元以上的雇员的人数(8)、将各雇员的情况按收入由低到高排列2、嵌套查询(1)、查找财务部年龄不低于研发部雇员年龄的姓名 (2)、 查找研发部比所有财务部雇员收入都高的雇员的姓名 (3)、查找比财务部的雇员收入都高的雇员的姓名 3、创建查询视图(1)、客户信息查询视图(2)、客房信息查询(3)、入住信息查询 4、建立索引(1)、创建客房表索引: (2)、创建客户表索引:(3)、创建入
7、住表索引:5、 建立存储过程(1)、客房信息存储过程插入客房信息存储过程CREATE PROCEDURE 插入客房信息(KFB CHAR(8),KFL CHAR(8),JG SMALLMONEY,CWS INT,SYZT CHAR(8)ASINSERT INTO 客房 VALUES (KFB,KFL,JG,CWS,SYZT)修改客房信息存储过程CREATE PROCEDURE 修改客房信息(KFB CHAR(8),KFL CHAR(8),JG SMALLMONEY,CWS INT,SYZT CHAR(8)ASUPDATE 客房SET 客房类型=KFL,价格=JG,床位数=CWS,使用状态=SY
8、ZTWHERE 客房编号=KFB删除客房信息存储过程CREATE PROCEDURE 删除客房信息(KFB CHAR(8)ASDELETE FROM 客房 WHERE 客房编号=KFB(2)、客户信息存储过程插入客户信息CREATE PROCEDURE 插入客户信息(KHB CHAR(8),KFM CHAR(10),SFZ CHAR(18),LXDZ CHAR(25),LXDH CHAR(10)ASINSERT INTO 客户 VALUES (KHB,KFM,SFZ,LXDZ,LXDH)修改客户信息CREATE PROCEDURE 修改客户信息(KHB CHAR(8),KFM CHAR(10)
9、,SFZ CHAR(18),LXDZ CHAR(25),LXDH CHAR(10)ASUPDATE 客户SET 客户名称=KFM,身份证号=SFZ,联系地址=LXDZ,联系电话=LXDHWHERE 客户编号=KHB删除客户信息CREATE PROCEDURE 删除客户信息(KHB CHAR(8)ASDELETEFROM 客户WHERE 客户编号=KHBEXEC 删除客户信息 KHB=10009(3)、创建入住信息存储过程插入入住信息 CREATE PROCEDURE 插入入住信息(KFB CHAR(8), KHB CHAR(8), YDRQ DATETIME,YDSL INT)ASINSERT
10、 INTO 入住登记 VALUES(KFB,KHB,YDRQ,YDSL)修改入住信息CREATE PROCEDURE 修改入住信息(KFB CHAR(8), KHB CHAR(8), YDRQ DATETIME,YDSL INT)ASUPDATE 入住登记SET 客房编号=KFB,预定日期=YDRQ ,预定数量=YDSLWHERE 客户编号=KHB删除入住信息CREATE PROCEDURE 删除入住信息( KHB CHAR(8)ASDELETE FROM 入住登记WHERE 客户编号=KHB(4)、查询存储过程的创建客房编号查询CREATE PROCEDURE 客房编号查询(KFB CHAR
11、(8),KFL CHAR(8)OUTPUT,JG SMALLMONEY OUTPUT,CWS INT OUTPUT,SYZT CHAR(8)OUTPUT)ASSELECT KFL=客房类型,JG=价格,CWS=床位数,SYZT=使用状态FROM 客房WHERE 客房编号=KFB 客户编号查询CREATE PROCEDURE 客户编号查询(KHB CHAR(8),KFM CHAR(10)OUTPUT ,SFZ CHAR(18)OUTPUT,LXDZ CHAR(25)OUTPUT,LXDH CHAR(10)OUTPUT)ASSELECT KFM=客户名称,SFZ=身份证号,LXDZ=联系地址,LX
12、DH=联系电话FROM 客户WHERE 客户编号=KHB入住客户编号查询CREATE PROCEDURE 入住客户编号查询(KFB CHAR(8)OUTPUT, KHB CHAR(8), YDRQ DATETIME OUTPUT,YDSL INT OUTPUT)ASSELECT KFB=客房编号,YDRQ=预定日期,YDSL=预定数量FROM 入住登记WHERE 客户编号=KHB6、建立触发器建立触发器保证数据的一致性(1)客房使用状态的控制CREATE TRIGGER 控制触发器 ON 入住登记FOR INSERT AS UPDATE 客房SET 使用状态=使用中WHERE 客房编号=ANY
13、 (SELECT 客房编号 FROM INSERTED )(2)、控制入住信息删除的触发器CREATE TRIGGER 入住删除触发器 ON 入住登记FOR DELETE AS BEGIN DELETE FROM 客户WHERE 客户编号=ANY (SELECT 客户编号 FROM DELETED )UPDATE 客房SET 使用状态=未使用WHERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END(3)、客户信息删除的控制CREATE TRIGGER 客户删除触发器 ON 客户FOR DELETE AS BEGIN DELETE FROM 入住WHERE 客户编号
14、=ANY (SELECT 客户编号 FROM DELETED )UPDATE 客房SET 使用状态=未使用WHERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END(4)、客房删除触发器CREATE TRIGGER 客房删除触发器 ON 客房FOR DELETE AS DELETE FROM 入住WHERE 客户编号=ANY (SELECT 客户编号 FROM DELETED )六、 结束语本次课程设计对于我们小组来说不仅是做了酒店管理系统,最为珍贵的是在我们准备这次课程设计所学到的以前不为己知的知识。以前接触到SQL数据库只是注重在书本上,从来没有认真的去用它,更
15、不用说实践操作。零零散散的学习了一些基本知识,不大实用。通过这次课程设计,了解了SQL数据库中的以前不大明白的技术运用。在SQL数据库中,我们把在数据库理论上的知识予以运用,如:建立视图,创建存储过程,应用事务等,在一些基本的数据库操作中,熟悉并巩固了SQL的语法知识。通过对课程设计要求的分析,培养了我们由书面文字要求到转化这种要求到现实模型的能力,即很大程度上培养了我们的分析问题能力,总结归纳问题的能力。理论联系实际就在这里自然地得到实现。这对我们巩固已学知识,锻炼实践动手能力大有裨益。本次设计就要画上一个句号了。可是它本身对我们的影响却远远没有结束。我们从本次设计中学到了很多的东西,从设计任务书的下达到今天的系统实现时间整整花了半个月,通过本人的努力的老师同学的帮助我们不但在知识水平和解实际问题的能力上有了很大的提高,还从思想上认识到,自己所学的知识在实现的开发中是很不够的。 关于本次设计的命题,我们的设计还很不完善,还有许多的功能因为时间和本身的知识水平无法实现,不过,到少在此次论文中我的思维得到了提高,动手能务得到了提高,我们坚信它必将会对我们以后的学习产生积极的影响。本学期学习生活即将结束,在此,我们小组要感谢所有教导过我们的老师和关心过我们的同学,他们在我们成长过程中给予了我很大的帮助。本文能够成功的完成,要感谢各位老师同学的关心和帮助。-
限制150内