




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 数据库原理及应用课程设计报告 题目:酒店客房管理系统 学生姓名: 学 号: 班 级: 指导教师: 2012年 12 月 16 日一、 需求分析:客房管理::客房登记,客房状态,客房类型,客房价格顾客入住管理:客房登记,顾客登记,入住时间,退房时间,订房天数等顾客管理:顾客登记等预定顾客管理:登记顾客的信息,如姓名,电话号码等预定信息管理:预定时间,顾客登记,客房登记,入住时间等服务管理:服务菜单,服务次数,服务房间等通过创建视图1对多表进行链接实现对顾客号,客房号,入住日期,退房日期,订房天数的查看通过创建视图2对多表进行链接实现对客房号,服务名称,服务次数,服务单价的查看通过创建视图3对多
2、表进行链接实现对顾客号,客房号,姓名,电话号码,预定时间,入住时间的查看通过存储过程实现以下操作:1、查询没有入住顾客的房间操作 2、查询已入住顾客的房间 3、向顾客表里添加数据 4、向预定顾客表里添加数据 5、向客房表里添加数据 6、向菜单表里添加数据 7、根据客房号删除客房表里的信息 8、根据服务名称删除服务菜单里的信息 9、根据顾客号删除预定信息实现当向预定信息表和入住信息表里添加或删除信息时使其对应的客房表里的状态进行自动修改 二、 课程设计任务:掌握数据库的设计的每个步骤,以及提交各步骤所需图表和文档。通过使用目前流行的dbms,建立所设计的数据库,并在此基础上实现数据库查询、连接等
3、操作和触发器、存储器等对象设计。1、需求分析:根据自己的选题,给出功能模块图和必要的文字说明。2、概念结构设计:绘制所选题目详细的e-r图。3、逻辑结构设计:将e-r图转换成等价的关系模式;按需求对关系模式进行规范化;对规范化后的模式进行评价,调整模式,使其满足性能、存储等方面要求;根据局部应用需要设计外模式。4、物理结构设计:选定实施环境,存取方法等。5、数据实施和维护:用dbms建立数据库结构,加载数据,实现各种查询、链接应用程序,设计库中触发器、存储器等对象,并能对数据库做简单的维护操作。6、功能:1) 创建登录、数据库用户,并分配权限供数据库连接使用2)所有数据表的完整数据输入3)根据
4、关键字进行查询(至少要有3个)其中有一个涉及多表查询,为此查询创建视图v1,从视图中读取数据 select * from v1 where sno=?4)修改/删除要为修改/删除创建触发器,5)为数据库做一个完全备份 7、成果:课程设计报告,程序,数据文件,日志文件,备份文件三、 课程设计内容:1、 er图:身份证顾客号姓名顾客 姓名入住日期登记 选择服务退房日期 服务次数 1 服务名称单价类型价格n服务菜单状态房号客房 n m n入住时间预定时间登记电话号码预定退订时间 1 身份证顾客号姓名性别2、 关系模式: 顾客(顾客号,姓名,性别,身份证)入住信息(顾客号,客房号,入住时间,退房时间)
5、客房(客房号,价格,类型,状态)预定顾客(顾客号,姓名,性别,身份证,电话号码)服务菜单(服务名,单价)服务清单 (客房号,服务名,服务次数)预定信息 (顾客号,客房号,预定时间,退定时间,入住时间)四、 实现代码:-创建表 create table 客房表(客房号 varchar(20) primary key,价格 money null,类型 char(10)null,状态 char(6)null)create table 顾客表(顾客号 varchar(20) constraint g_pri primary key,姓名 char(8)not null,性别 char(2)constr
6、aint x_chk check(性别=男 or 性别=女),身份证号 char(30) unique)create table 入住信息表(姓名 char(8)not null,顾客号 varchar(20),客房号 varchar(20),身份证号 char(30) unique,入住日期 datetime,退房日期 datetime,订房天数 int,消费金额 money,constraint r_g_fore foreign key(顾客号) references 顾客表(顾客号),constraint r_k_fore foreign key(客房号) references 客房表(
7、客房号)create table 服务菜单(服务名称 char(12) constraint f_pri primary key,服务单价 money)create table 服务清单(客房号 varchar(20)not null,服务名称 char(12)not null,服务次数 int null,服务单价 money null,constraint q_k_fore foreign key(客房号) references 客房表(客房号),constraint q_f_fore foreign key(服务名称) references 服务菜单(服务名称),)create table
8、 预定顾客表(顾客号 varchar(20) constraint y_pri primary key,姓名 char(8)not null,性别 char(2)constraint y_x_chk check(性别=男 or 性别=女),电话号码 varchar(20),身份证号 char(30) unique)create table 预定信息表(顾客号 varchar(20),客房号 varchar(20),预定时间 datetime,入住时间 datetime,退订时间 datetime,constraint y_k_fore foreign key(客房号) references 客
9、房表(客房号),constraint y_g_fore foreign key(顾客号) references 预定顾客表(顾客号)-创建视图1create view k_g_r(顾客号,客房号,入住日期,退房日期,订房天数)as select 顾客表.顾客号,客房表.客房号,入住日期,退房日期,订房天数from 顾客表,客房表,入住信息表where 顾客表.顾客号=入住信息表.顾客号and 客房表.客房号=入住信息表.客房号-创建视图2create view k_f_q(客房号,服务名称,服务次数,服务单价)as select 客房表.客房号,服务菜单.服务名称,服务次数,服务菜单.服务单价
10、from 客房表,服务菜单,服务清单where 客房表.客房号=服务清单.客房号 and 服务菜单.服务名称=服务清单.服务名称and 服务菜单.服务单价=服务清单.服务单价-创建视图3create view y_k_x()as select 预定顾客表.顾客号,客房表.客房号,姓名,电话号码,预定时间,入住时间from 预定顾客表,客房表,预定信息表where 预定顾客表.顾客号=预定信息表.顾客号 and 客房表.客房号=预定信息表.客房号-创建存储过程1-查询没有入住顾客的房间create procedure 没有入住顾客的房间 asselect * from 客房表where 状态=
11、y-创建存储过程2-查询已入住顾客的房间create procedure 已入住顾客的房间 asselect * from 客房表where 状态= n-创建存储过程3-向顾客表里添加数据create procedure 添加顾客(顾客号 varchar(20),姓名 char(8),性别 char(2),身份证号 char(30)asinsert into 顾客表 values(顾客号,姓名,性别,身份证号)-创建存储过程4-向预定顾客表里添加数据create procedure 添加预定顾客(顾客号 varchar(20),姓名 char(8),性别 char(2),电话号码 varcha
12、r(20),身份证号 char(30)asinsert into 预定顾客表 values (顾客号,姓名,性别,电话号码,身份证号)-创建存储过程5-向客房表里添加数据create procedure 添加客房(客房号 varchar(20),价格 money,类型 char(10),状态 char(6)asinsert into 客房表 values(客房号,价格,类型,状态)-创建存储过程6-向菜单表里添加数据create procedure 添加菜单(服务名称 char(12),服务单价 money)asinsert into 服务菜单 values(服务名称,服务单价)-创建存储过程
13、7-根据客房号删除客房表里的信息create procedure 删除客房客房号 varchar(20)asdelete 客房表 where 客房号=客房号-创建存储过程8-根据服务名称删除服务菜单里的信息create procedure 删除服务菜单服务名称 char(12)asdelete 服务菜单 where 服务名称=服务名称-创建存储过程9-根据顾客号删除预定信息create procedure 删除预定信息顾客号 varchar(20)asdelete 预定信息表 where 顾客号=顾客号-创建登录1exec sp_addlogin zyx,123,酒店客房管理系统,nullex
14、ec sp_addsrvrolemember zyx,sysadmin-创建用户1exec sp_adduser zyx,user1,db_owner -创建登录2exec sp_addlogin zyx1,123,酒店客房管理系统,nullexec sp_addsrvrolemember zyx,dbcreator-创建用户2exec sp_adduser zyx1,user2,db_denydatawriter -不能更改数据库内任何用户表中的任何数据-创建触发器1-当预定信息表删除数据时,使其对应的客房表里的状态改为ycreate trigger m1 on 预定信息表 for dele
15、te as update 客房表 set 状态=y where 客房号=(select 客房号 from deleted)-创建触发器2-当像预定信息表里插入信息时,使其对应的客房表里的状态改为ncreate trigger m2 on 预定信息表 for insert as if exists(select * from 客房表,预定信息表 where 客房表.客房号=预定信息表.客房号) update 客房表 set 状态=n where 客房号=(select 客房号 from inserted)-创建触发器3-当像入住信息表里插入信息时,使其对应的客房表里的状态改为ncreate tr
16、igger m3 on 入住信息表 for insert as if exists(select * from 客房表,入住信息表 where 客房表.客房号=入住信息表.客房号) update 客房表 set 状态=n where 客房号=(select 客房号 from inserted)-创建触发器4-当入住信息表删除数据时,使其对应的客房表里的状态改为ycreate trigger m4 on 入住信息表 for delete as update 客房表 set 状态=y where 客房号=(select 客房号 from deleted)五、 结论与心得: 通过本次实验,对于数据的一个完整体系有了深刻的理解。一个从需求分析,概念结构设计,逻辑结构设计,物理设计,数据库实施,数据库运行与维护的完整过程。在这个数据库建设过程中,需求分析是关键,因为只有明确你的分析需求,系统才能决定要完成什么功能,设计哪些功能模块来完成这些内容的。首先就是画出er图,然后根据er图建立表与表之间的关系模式,再根据建立好的er图和关系模式进行数据库的创建。在建立数据库的各个操作和编辑代码中,创建表比较简单,关键是要定义他们的主键和外键,尤其是外键的定义,很容易漏写外键是来自哪个表,导致
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 六一活动饰品活动策划方案
- 六一游戏室活动方案
- 六一理财活动方案
- 六一粉丝活动策划方案
- 六一节公司活动策划方案
- 六一节慰问活动策划方案
- 六一走进大自然活动方案
- 六一酒吧活动方案
- 六七十年代学生活动方案
- 六五环境日系列活动方案
- xx县精神病医院建设项目可行性研究报告
- ECMO技术参数要求
- 城市轨道交通供电技术442页完整版教学课件汇总全书电子教案
- 高填深挖路基稳定性监控观测方案
- 安全标准化现场评审所需资料清单(共14页)
- 班组会议运作技巧ppt课件
- 链家房屋买卖合同范本(共10篇)
- 柱上变压器台与设备安装标准
- 技术比武理论复习题(继电保护)
- 锯齿形板式热水冷却器的设计3.
- 科室医疗质量安全管理与持续改进记录本模板.doc
评论
0/150
提交评论