1、酒店客房管理系统数据库设计说明任务书一、数据库原理课程设计的任务1)通过本课程设计的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程。2)通过课程设计,掌握数据库开发工具的使用以及综合编程调试的能力,结合数据库原理的基本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统,具备基本的数据库编程能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。3)提升工程实践能力、团队协作精神、交流与沟通能力;4) 通过规化的实验报告,培养学生良好的文档习
2、惯以及撰写规文档的能力。二、课程设计的基本容课设容结合一个具体任务(课程设计题目),完成一个基于C/S或B/S模式的数据库系统的设计,主要应包括如下容:1完成课题任务的需求分析、完成系统总体结构设计方案(主控功能模块、数据处理模块、统计报表模块等);2数据库结构的设计与实现;3数据库安全的设计;4. 数据修改的设计、数据查询的设计;5统计与报表输出的设计;目的与要求目的:结合数据库原理的基本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统。要求:受学生对于所学基础和专业知识的综合应用能力及程序设计与调试能力的不同,一周时间大体分为三个阶段:需求分析;数据库设计;应用程序设计。要求提
3、交相关软件和规的设计说明书电子文档。要求在设计过程中树立科学的设计思想,有全局观念,培养高度的协作精神。 课设形式1、2-3人一组2、课10学时,课检查,其余为课外学时。课设考核1、现场验收并对实验容进行提问。2、根据设计方案、实验结果、附加功能、操作熟练程度、现场检查和回答情况及课程设计报告质量综合评定成绩。1.数据库需求分析41.1设计目的41.2系统功能分析41.3功能模块设计52.数据库概念结构设计62.1概念模型62.2 E-R模型63.数据库逻辑结构设计83.1关系模型设计93.2数据模型的优化93.3子模式设计94.数据库物理结构设计94.1存取方式设计94.2存储结构设计105
4、.数据库安全性、完整性设计105.1主要视图设计105.2用户权限106.数据库实现116.1编码实现116.1.1主要数据表的创建116.1.2主要视图的创建146.1.3索引的创建146.1.4创建用户权限146.1.5创建存储结构157.数据录入调试及运行168.课程设计总结体会189.参考文献191.数据库需求分析1.1设计目的本酒店客房管理系统是为了满足现代酒店的管理需求、提高对顾客的服务质量、方便酒店的管理和运营而设计的一款多功能易操作的基于B/S模式的数据库管理系统。由于当前的多数酒店都是以人工的方式来统计管理酒店里的各项事务,其中带来了很多的不便,使得酒店的管理也相对比较困难。
5、对于酒店的营业情况的统计,要耗费很大的人力来进行统计分析。人工方式的管理也很容易出现管理上的失误。随着计算机技术和互联网技术的发展,设计一种可以实现自动化管理酒店事务的系统是当前酒店行业的一个迫切要求。本款酒店客房管理系统就是应运而生的一款快捷酒店管理系统,它可以使酒店人员很方便的管理酒店的各项事务,并将管理的失误降到最低。本系统通过对不同的人员分配不同的权限可以很好的防止客户以及酒店一些信息的泄露。酒店会计还可以通过本系统快捷地统计出酒店在特定阶段的营业情况,可以根据分析的结果进行相应业务的调整。顾客可以通过本系统对入住的体验进行评价或者提出相关的建议,可以使酒店的服务更加完善。1.2系统功
6、能分析本系统是为方便酒店管理和日常的营业需要,加入了酒店房间预定功能、顾客入住登记功能、员工维修客房设施记录功能、顾客体验反馈功能、营业情况统计功能。酒店房间预订系统:顾客可根酒店客房的一些信息,根据自身需求预定相应的客房,并支付一定的押金,顾客可根据情况选择入住或者退订已预订的房间。顾客入住登记功能:当顾客预定好房间选择入住时,系统进入住登记阶段,用户登记自身信息,并根据预定的订单信息办理入住房间。员工维修记录功能:当酒店里的服务设施发生故障时,维修人员对故障进行维修,并记录维修的设施名称及其维修时间,以及维修所产生的费用,最后将数据存储在数据库中,并打印凭条以便上报。顾客体验反馈系统:当顾
7、客要退房离开时,顾客可根据自身体验对酒店的设施和服务进行相应的评价和对一些问题提出相应的建议便于酒店对此做出改进。营业情况统计功能:酒店人员可根据特定阶段的营业状况,对消费记录进行分析,得出相应阶段营业盈亏的原因,并从中提取一些好的建议,以利于酒店的盈利。1.3功能模块设计 -系统功能模块图 有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、以及单独卫生间等。 客房标准信息的修改、查询等。 客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。 客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备
8、注等。 剩余客房信息的查询等。 订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客、顾客、入住日期、折扣、备注信息等。 订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客、顾客、入住日期、折扣、备注信息等。 入住信息的输入,包括客房编号、客房种类、位置、客房单价、顾客、顾客、入住日期、折扣、结算日期、备注信息等。 入住信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客、顾客、入住日期、折扣、结日期、备注信息等。 员工信息的输入,包括员工工号,员工,性别,年龄,手机,酒店编号信息等。2.数据库概念结构设计2.1概念模型 客房标准信息:客房编号、客
9、房名称、床位数量、住房单价。 客房信息:客房编号、客房种类、客房位置、客房单价,客房状态。 订房信息:订单编号、客房种类、顾客、顾客、订房时间、折扣。 顾客信息:顾客、顾客、手机。 入住信息:流水单号、客房编号、客房类型、顾客、入住时间、结算时间、职工工号、结算备注。 职工信息:工号、职工、职工性别、职工年龄、入职时间、职务。 酒店信息:酒店编号、酒店名称、酒店。 物品信息:物品编号、物品名称、物品类别、物品单价、库存。 维修信息:流水单号、维修时间、维修物品、房间编号、维修费用。2.2 E-R图客房状态客房标准信息E-R图职工信息E-R图顾客信息E-R图库存物品信息E-R图酒店信息E-R图实
10、体间联系E-R图3.数据库逻辑结构设计3.1 关系模型设计客 房 (客房编号,客房名称,客房类型,床位数量,住房单价,酒店编号)顾 客 (顾客,顾客,手机)员 工 (员工工号,员工,员工性别,员工年龄,手机,入职时间,职务)酒 店 (酒店编号,酒店名称)物 品 (物品编号,物品名称,物品单价,物品类型)入 住 (流水单号,房间名称,顾客号,入住时间,退房时间,住宿时长,住宿费用)预 定 (流水单号,顾客号,房间类型,预定时间,预定入住时长,押金,预定状态)维 修 (流水单号,员工工号,房间编号,维修设施名称,维修费用,维修时间)消 费 (流水单号,入住单号,消费物品名称,消费量,消费金额)评
11、价 (流水单号,顾客号,评论时间,评论星级,评论容,酒店编号)3.2 数据模型的优化 客房信息 关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合3NF.顾客信息 关系模型中的关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合5NF.员工信息 关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合3NF.酒店信息 在酒店信息关系模式中,因仅有两个属性且属性间不存在部分依赖,传递依赖所以该模式设计合理符合第三式。物品信息 在物品信息关系模式中,主属性可推出关系中的所有非主属性,关系中不存在传递依赖和部分依赖,且
12、每一个决定因素都包含码,该关系模式满足BCNF式。入住信息 3.3 子模式设计为方便系统的使用,以及开发人员对程序的设计和顾客身份信息的安全性,本数据库系统采用子模式的设计方法来提高数据的使用效率和安全保障。在酒店查询客房信息的时候设计一个子模式仅供系统用户查询到客房名称,客房类型,床位数量,住房单价等一些主要信息,而客房编号和酒店编号是为了系统的灵活性和数据库后台的方便操作而设计的用户可忽略。在系统人员查询顾客身份信息时,系统可添加子模式使系统用户只能顾客信息的前六位和后四位,以防止顾客信息的泄露。在用户查询入住信息,评价信息,消费信息以及维修信息时,流水单号都可忽略,减少用户的信息阅读量。
13、4. 数据库物理结构设计4.1存取方式设计由于本系统的数据信息的查询操作频繁,所以在部分表中建立索引以提高查询效率。客房信息表修改删除插入操作较少,查询操作较为频繁,所以在该表中以客房编号上建立聚簇索引以提高查询效率。顾客信息表由于插入操作较为频繁,所以不适合建立聚簇索引,采用在用户属性上建立非聚簇索引的方法提高数据的查询效率。入住信息表和预定信息表要频繁的进行插入和查询操作,入住信息表和预定信息表中的流水单号具有有序的特性且插入的操作仅发生在表的末尾,所以适合在该模式的流水单号属性上建立聚簇索引便于数据的查询。由于职工表的在本系统使用频率较少且数据量较少,添加索引反而使系统在索引的维护上耗费
14、大量时间,所以不建议添加索引。评价表由于要经常的插入和查询数据,且该表的数据量随营业时间增加而增加,所以要添加索引以提高系统对数据的查询效率。4.2存储结构设计本系统的数据的存储结构可根据数据的规模的进行设计,对于小型的酒店建议采用单个硬盘的存储方式,减少设计开销。对于大型的酒店,数据量较大,建议使用多个磁盘或使用磁盘阵列的形式来存储数据。具体的设计要根据实际情况进行详细的设计。5. 数据库安全性、完整性设计5.1主要视图设计顾客加密信息(顾客号,顾客) 顾客只显示前六位和后四位。客房基本信息(客房名称,客房类型,床位数量,住房单价)入住基本信息(房间编号,顾客号,入住时间,退房时间,住宿时长
15、,住宿费用)只显示前六位和后四位。预定基本信息(顾客号,房间类型,预定时间,预定入住时长,押金,预定状态)只显示前六位和后四位。顾客消费总金额(客房名称,客房类型,入住时间,退房时间,住宿时长,住宿费用,消费总金额)5.2 用户权限酒店经理:对于客房信息表具有查看,修改,添加权限。对于顾客信息表具有查看权限。对于入住和预定信息表具有查看权限。对于员工信息表具有查看,修改,插入和删除权限。酒店会计:对于客房信息表具有查看结算信息表具有查看和插入权限。对于员工表具有查看权限。酒店前台:对于客房信息表具有查看权限,对其中的客房的入住状态具有修改权。对于顾客信息表具有插入权。对于入住表和预定表具有插入
16、权。顾客:对客房信息某些记录具有查询权。6. 数据库实现6.1编码实现6.1.1主要数据表的创建CREATE DATABASE 酒店客房信息管理系统 ON PRIMARY ( NAME = N酒店客房信息管理系统, FILENAME=NC:ProgramFilesMicrosoftSQLServerMSSQL10_50.MSSQLSERVERMSSQLDATA酒店客房信息管理系统.mdf , SIZE = 3072KB , FILEGROWTH = 1024KB ) LOG ON ( NAME = N酒店客房信息管理系统_log, FILENAME=NC:ProgramFilesMicroso
17、ftSQLServerMSSQL10_50.MSSQLSERVERMSSQLDATA酒店客房信息管理系统_log.ldf , SIZE = 1024KB ,FILEGROWTH = 10%)create table 物品(物品编号 char(5) primary key,物品名称 char(30) not null,物品单价 money,物品类型 char(10);create table 顾客(号 char(18) primary key, char(20) not null,手机号 char(11);create table 酒店(酒店编号 char(4) primary key,酒店名称
18、 char(20);create table 客房(客房编号 char(4) primary key,客房名称 char(4) not null,客房类型 char(8) check(客房类型 in (标准间,豪华间),客房状态 char(4) check(客房状态 in(入住,空闲),床位数 int,客房单价 money);create table 员工(员工工号 char(6) primary key,员工 char(20) not null,员工性别 char(2) check(员工性别 in(男,女),员工年龄 int check(员工年龄18 and 员工年龄60),员工职务 cha
19、r(20) not null,手机号 char(11);create table 维修(维修流水单号 int primary key IDENTITY (1, 1),维修房间编号 char(4) foreign key references 客房(客房编号),维修员工工号 char(6) foreign key references 员工(员工工号),维修物品名称 char(20),维修时间 date,维修费用 money);create table 评论(酒店编号 char(4),顾客号 char(18),评论时间 date,评论星级 int,评论容 char(500) not null);
20、create table 预定(流水号 char(8) primary key,预定客房编号 char(4) foreign key references 客房(客房编号),顾客号 char(18) foreign key references 顾客(号),员工工号 char(6) foreign key references 员工(员工工号),预定时间 date,预订时长 int,预定状态 char(10),退订时间 date,押金 money);create table 入住(流水单号 int primary key IDENTITY (1, 1),入住客房编号 char(4) forei
21、gn key references 客房(客房编号),顾客号 char(18) foreign key references 顾客(号),入住时间 date,退房时间 date,住宿费用 money,);create table 消费单(消费流水单号 int primary key IDENTITY (1, 1),入住流水单号 int foreign key references 入住(流水单号),物品编号 char(5) foreign key references 物品(物品编号),消费量 int,消费金额 money);6.1.2主要视图的创建-创建客房基本信息视图-create vie
22、w 客房基本信息asselect 客房名称,客房类型,床位数,客房单价from 客房 -统计顾客住宿的消费费用-create view 消费统计asselect 流水单号, 客房名称, 客房类型, 入住时间,退房时间,DATEDIFF(day,入住时间,退房时间) as 住宿时长,住宿费用from 入住 join 客房 on 客房.客房编号=入住.入住客房编号 -创建顾客加密信息视图-create view 顾客加密信息asselect =replace(号,substring(号,7,8),*),手机号from 顾客.-创建预订概要信息便于查询-create view 预定概要信息assel
23、ect 预定客房编号,顾客号,预定时间,客房类型,押金,预定状态from 预定6.1.3索引的创建 因其他表在建立主键时以默认添加,此处不再添加额外索引。 -在顾客上创建非聚簇索引-create indexo_indexon 顾客(号)6.1.4创建用户权限创建用户。如下图所示、-用户权限的设置-grant select,update,insert on 客房 to 经理grant select on 预定 to 经理 grant select on 入住 to 经理grant select on 顾客加密信息 to 经理grant select,delete,insert,update on
24、 员工 to 经理grant update, select on 入住 to 会计grant update, select on 预定 to 会计grant select on 客房 to 会计grant select update insert on 入住 to 前台grant select on 客房 to 前台grant insert on 顾客 to 前台grant select on 顾客加密信息 to 前台6.1.5 存储过程的设计-创建存储过程-添加信息create procedure add_room r_no char(4),-客房编号r_name char(4), -客房名
25、称r_style char(8), -客房类型r_bednum int, -床位数r_price money -房间价格asbegin insert into 客房values(r_no,r_name,r_style,r_bednum,r_price)endgo-预定房间create procedure order_roomc_id char(18), -顾客号r_style char(8), -房间类型o_time int, -预定时长o_money money -预定押金asbegin insert into 预定values(null,null,c_id,null,r_style,GET
26、DATE(),o_time,已预订,null,o_money)endgo-退定房间create procedure disorder_roomo_id int -预定单号asbegin update 预定set 预定状态=已退订where 流水号 = o_id, 退订时间=getdate()end7. 数据录入调试及运行-添加评论信息-exec add_comments 0145,6,4,酒店客房年久失修,天花板漏水,但服务态度挺好,希望酒店改善一下住宿环境。-添加预订信息-exec order_room 3,标准间,1,100-对已预定的订单进行退订-exec disorder_room 1系统登录界面客房信息录入界面房间预订界面8. 总结体会本次数据库课程设计,我们做的是酒店客房信息管理系统。容相对于前几次的练习题与大作业来讲较为复杂,各个表之间的联系比较紧密,表的设计标准也相对要求较高。在数据库实现之前,数据库的需求分析,功能模块划分,概念设计,关系模型设计,物理结构设计花费了我们很多时间与精力,有几次的设计结果在后来的分析上发现设计的系统存在许多的不足,导致我们前面的工作都要全部重新做一遍,用去了我们许多的时间。在这个过程中,我们相互讨论,相互补充,将课堂上的理论知
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1