《数据库客房管理系统设计报告(共31页).doc》由会员分享,可在线阅读,更多相关《数据库客房管理系统设计报告(共31页).doc(31页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、精选优质文档-倾情为你奉上课 程 设 计 设计题目 客房管理系统学生姓名 学 号专业班级10级软件二班指导教师 万家华 信息工程学 院 软件技术 系 2011 年 12 月 4 日目 录摘要2第一章 绪论3第二章 需求分析3第三章 数据分析与建模4第四章 数据库建立7 一 数据库的建立7 二 数据表的建立8 三 数据的插入11 四 数据表的各种操作15 (1)数据的修改15 (2)数据的查询16 五 索引的建立17 六 创建视图18 七 创建存储过程19 八 创建触发器22第五章 数据库应用开发(源码,界面图,功能介绍)24第六章 结论与展望27参考文献28致谢28课程设计任务及成绩29摘 要
2、随着我国经济的迅速发展和假日经济的出现,宾馆酒店业的竞争愈来愈激烈。要想在竞争中取得优势,必须在经营管理、产品服务等方面提高服务管理意识。而对对酒店的经营状况去决定行作用的是酒店的管理。如何利用先进的管理手段,提高酒店的管理水平,是每一家酒店的管理者所面临的重要课题。简单的服务标准已经不是制胜的锦囊,只有做到最细微之处才有机会让顾客体会到酒店服务的优点,而精准、快捷、周全往往就是最基本的成功要素。因此,采用全新的计算机网络和管理系统,将成为提高酒店的管理效率,改善服务水准的重要手段之一。信息与科技在酒店管理与现代化建设中显现出越来越重要的地位。在某种意义上,酒店客房状态管理方面的信息化与科学化
3、,已成为现代化酒店的重要标志。关键字:客房管理;管理系统;服务。第一章 绪论1.1客房管理系统的背景与意义 客房管理系统是一套适合经济型酒店和经济型连锁酒店的酒店管理系统软件,是通过大量的实践总结,结合经济型酒店特点和中高端酒店不断变化的需求而开发的一款非常专业的酒店管理系统。遵循着以用户为本的原则,采用了简明快捷的操作界面,活泼友好,从而使系统的操作员真正体验简单快捷的酒店软件操作。同时,系统流畅的业务更加符合经济型酒店业务集中且管理上简单严密快捷需求,大大降低酒店运行成本、提高管理效率。1.2开发工具 本次客房管理系统课程设计是以Macromedia Dreamweaver8开发工具为前台
4、,SQLSERVER2000为后台,通过前后台相结合制作完成的。第二章 需求分析2.1总体分析 建立客房管理信息系统的必要性已被广大的管理人员所接受和认可,建立客房管理信息系统是为宾馆的管理服务的,其根本米的是要创造客房的经济效益。然而客房知道接的经济效益的提高应该包括直接的经济效益和间接地经济效益两方面。客房的直接经济效益是指由于系统的建立是客房的生产经营或客房的管理取得的直接利润收益。根据一般宾馆的工作流程及环境,以及顾客的要求设计了这个客房管理系统。这个数据库主要完成房间信息查询,住房信息统计,和账务结算。其中信息查询用来给顾客查询各种房间类型,房间价格等,住房信息统计用来给客房管理人员
5、查询是否有空房间,有多少空房,哪个顾客需要结账了,等等信息管理,还可以根据数据库储存的资料统计什么样的人订房多,什么时段生意好,哪些服务是大多数顾客所喜爱的等等。基于这个数据库,可以根据不同的需要对数据库进不同的查询。2.2数据字典 数据流图表达了数据和处理的关系,数据字典则是系统中各类数据描述的集合,是进行详细的数据收集和数据分析所获得的主要成果。数据字典在数据库设计中占有很重要的地位。数据字典通常包括数据项、数据结构、数据流、数据存储和处理过程5个部分。其中数据项是数据的最小组成单位,若干个数据项可以组成一个数据结构,数据字典通过对数据项和数据的定义来描述数据流、数据存储的逻辑内容。数据结
6、构的定义来描述数据流、数据存储的逻辑结构。第三章、数据分析与建模 在本系统中,主要的功能包括:1、 客户信息的删除、修改和查询2、 客房信息的修改与查询3.1 E-R图1 根据所学可将系统中E-R图画出来,如图3.1所示。图3.1实体E-R图2 总E-R图各子系统的E-R图设计好以后,下一步就是要将所有的分E-R图综合成一个系统的总E-R图。多个分E-R图一次集成总E-R图,如下图所示:图3.2总E-R图把总E-R图转换成为关系模式,关系的码用下划线标出,由以上的实体关系图可以得到系统的关系模式为:顾客(顾客编号,顾客姓名,顾客身份证号,顾客性别,顾客年龄)房间(房间编号,房间类型,房价状态,
7、房间单价)入住登记表(顾客姓名,房间号码,顾客身份证号,入住日期,订房天数,)服务清单(房间编号,服务名称,服务次数,服务单价)3.2 根据需求分析可以画出客房服务系统的功能结构图第四章、数据库的建立4.1建立数据库用SQL语句建立数据库,具体定义如下:USE MASTERGOCREATE DATABASE KFGLON(NAME=kfglm,FILENAME=E:客房管理kfglm.mdf,SIZE=10MB,MAXSIZE=100MB,FILEGROWTH=5),(NAME=kfgln,FILENAME=E:客房管理kfgl.ndf,SIZE=10MB,MAXSIZE=100MB,FILE
8、GROWTH=5)LOG ON(NAME=kfgll,FILENAME=E:客房管理kfgll.ldf,SIZE=10MB,MAXSIZE=UNLIMITED,FILEGROWTH=10)图4.1 数据库命令完成图4.2 建立数据表用SQL语句建立数据表,具体定义如下:(1)创建客房信息表Room USE KFGL GO CREATE TABLE Room (Rno char (10) not null primary key, Rtype char (10) not null, Rstatus char (18) not null, Rprice int )图4.2.1 Room(2)创建客
9、户信息表Customer USE KFGL GO CREATE TABLE Customer (Cno char(10) not null primary key, Cname char(10) not null, Cage int, Csex char(2), IDno char(18) )图4.2.2 Customer(3)创建入住登记表 Registration USE KFGL GOCREATE TABLE Registration ( Rno char(10) not null, Cno char(10) not null, Arrivaldate datetime, Booking
10、amount int, CONSTRAINT pk_Re primary key(Rno,Cno), CONSTRAINT fk_Re_Room foreign key (Rno) references Room(Rno),CONSTRAINT fk_Re_Customer foreign key (Cno) references Customer(Cno) )图4.2.3 Registration(4)创建服务清单表 Servers USE KFGL GO CREATE TABLE Servers ( Rno char(10) not null, Sname char(10) not nul
11、l, Stimes char(10) not null, Sprice char(10) not null, CONSTRAINT pk_Servers primary key(Rno,Sname) )图4.2.4 Servers(5)创建客房负责人表 Responsible USE KFGL GO CREATE TABLE Responsible (Pno char(10) not null, Pname char(10) not null, Page int, Psex char(2), Proomno char(10) not null )图4.4.5 Responsible4.3 数据
12、的插入 4.3.1用SQL语句向数据表Room添加记录:USE KFGLINSERT INTO Room(Rno,Rtype,Rprice,Rstatus)VALUES(101,一,100,在使用)INSERT INTO Room(Rno,Rtype,Rprice,Rstatus)VALUES(102,二,200,在使用) INSERT INTO Room(Rno,Rtype,Rprice,Rstatus)VALUES(103,二,200,在使用)INSERT INTO Room(Rno,Rtype,Rprice,Rstatus)VALUES(104,三,300,在使用)INSERT INTO
13、 Room(Rno,Rtype,Rprice,Rstatus)VALUES(105,三,300,未使用)表4.3.1 Room4.3.2用SQL语句向数据表Customer添加记录:USE KFGLINSERT INTO Customer (Cno,Cname,Cage,Csex,IDno)VALUES(1001,王一,20,男,)INSERT INTO Customer (Cno,Cname,Cage,Csex,IDno)VALUES(1002,张三,36,男,)INSERT INTO Customer (Cno,Cname,Cage,Csex,IDno)VALUES(1003,万美,19,
14、女,)INSERT INTO Customer (Cno,Cname,Cage,Csex,IDno)VALUES(1004,李四,20,男,)INSERT INTO Customer (Cno,Cname,Cage,Csex,IDno)VALUES(1005,何清,41,女,)图4.3.2 Customer 4.3.3 用SQL语句向数据表Registration添加记录:USE KFGLINSERT INTO Registration(Rno,Cno,Arrivaldate,Bookingamount)VALUES(101,1001,2011-10-10,1)INSERT INTO Regi
15、stration(Rno,Cno,Arrivaldate,Bookingamount)VALUES(102,1002,2011-11-11,1)INSERT INTO Registration(Rno,Cno,Arrivaldate,Bookingamount)VALUES(103,1003,2011-11-28,1)INSERT INTO Registration(Rno,Cno,Arrivaldate,Bookingamount)VALUES(104,1004,2011-12-14,1)INSERT INTO Registration(Rno,Cno,Arrivaldate,Booking
16、amount)VALUES(105,1005,2011-12-18,1)图4.4.3 Registration4.4.4 用SQL语句向数据表Servers添加数据:USE KFGLINSERT INTO Servers(Rno,Sname,Stimes,Sprice)VALUES(101,退房,1,100)INSERT INTO Servers(Rno,Sname,Stimes,Sprice)VALUES(102,换房,2,200)INSERT INTO Servers(Rno,Sname,Stimes,Sprice)VALUES(103,退房,1,100)INSERT INTO Serve
17、rs(Rno,Sname,Stimes,Sprice)VALUES(104,订房,1,100)INSERT INTO Servers(Rno,Sname,Stimes,Sprice)VALUES(105,换房,1,100) 图4.4.4 Servers4.4.5 用SQL语句向数据表Responsible 添加数据USE KFGLINSERT INTO Responsible (Pno,Pname,Page,Psex,Proomno)VALUES(10001,王建,38,男,101)INSERT INTO Responsible (Pno,Pname,Page,Psex,Proomno)VAL
18、UES(10002,唐磊,34,男,102)INSERT INTO Responsible (Pno,Pname,Page,Psex,Proomno)VALUES(10003,徐林,36,女,103)INSERT INTO Responsible (Pno,Pname,Page,Psex,Proomno)VALUES(10004,张燕,34,女,104)INSERT INTO Responsible (Pno,Pname,Page,Psex,Proomno)VALUES(10005,李杜,32,男,105)图4.4.5 Responsible 4.4 数据的各种操作4.4.1数据的修改4.4.
19、1.1在数据表Customer中添加一列:列名为Ctel(联系电话),数据类型为char并且允许为空,SQL语句为下: USE KFGL GO ALTER TABLE Customer ADD Ctel char(11) NULL4.4.1.2 将数据表Room中的Rstatus的宽度由4改为18 USE KFGL GO ALTER TABLE Room ALTER COLUMN Rstatus char(18)4.4.1.3向数据表Room添加一列Bedamount数据类型char并且允许为空 USE KFGL GO ALTER TABLE Room ADD Bedamount char n
20、ullv图4.4.1.34.4.2数据的查询4.4.2.1查询房间101的住宿情况 USE KFGL SELECT Rstatus FROM Room WHERE Rno=101图4.4.2.1 查询结果图4.4.2.2查询1003号的住房信息USE KFGLSELECT *FROM RegistrationWHERE Cno=1003select rno,cno,时间=convert(varchar,arrivaldate,105) from Registration where Cno=1003图4.4.2.2 查询结果图4.4.2.3查询1001号王一所住房的房间状态USE KFGLSE
21、LECT *FROM ServersWHERE Stimes=1图4.4.2.3 查询结果图4.5索引的建立:为了提高查询和更新速度和保证数据一致性,本设计建立如下索引:4.5.1对于Room表,按Rno建立主键索引(primary key约束)索引组织方式为唯一性非聚集索引。Transact-SQL语句如下:CREATE UNIQUE NONCLUSTEREDINDEX UN_kf ON Room(Rno,Rprice)图4.5.14.5.2 对于Registration表,按Rno,Cno建立主键索引(primary key约束)索引组织方式为非聚集索引。Transact-SQL语句如下:
22、CREATE NONCLUSTEREDINDEX C_kf ONRegistration(Rno,Cno)图4.5.24.6 创建视图 为了更好地查询数据表,更简单的观察数据,建立以下视图,Transact-SQL语句如下:USE KFGLGOCREATE VIEW v_kfASSELECT Room.Rno,Room.Rtype,Customer.Cname,Registration.ArrivaldateFROM Room,Customer,RegistrationWHERE Room.Rno=Registration.Rno AND Customer.Cno=Registration.C
23、no图4.6.1 视图图4.6.2 试图执行后的Registration表4.7 创建存储过程4.7.1 建立查询某个房间类别的存储过程,Transact-SQL语句如下: USE KFGL GO CREATE PROCEDURE Rtype Rno char(10) AS SELECT * FROM Rtype WHERE Rno=Rno and Room=101图4.7.14.7.2 建立查询某个房间价格的信息存储过程,Transact-SQL语句如下:USE KFGLGOCREATE PROCEDURE RpriceRprice intASSELECT RpriceFROM Rprice
24、WHERE Rprice=RpriceAND Rtype=1图4.7.34.7.3 建立查询房间状态的存储过程,Transact-SQL语句如下图所示: USE KFGLGOCREATE PROCEDURE RstatusRstatus char(18)ASSELECT RstatusFROM RstatusWHERE Rstatus=Rstatus图4.7.34.7.4 建立入住登记更新信息存储过程 USE KFGL GO CREATE PROCEDURE updateinf P_Rno char(10), P_Cno char(10), P_Arrivaldate datetime, P_
25、Bookingamount int AS INSERT INTO Registration VALUES (P_Rno,P_Cno,P_Arrivaldate,P_Bookingamount)图4.7.44.8 创建触发器 访问数据库时,需要调用相应表的存储过程以及设计相应的触发器,触发器的作用主要是用于维护数据的准确性及实现多个表间数据的一致性。4.8.1 客房使用状态控制触发器USE KFGLGOCREATE TRIGGER 控制触发器ON RegistrationFOR INSERTASUPDATE RoomSET Rstatus=使用中WHERE Rno=ANY(SELECT Rno
26、FROM INSERTED)图4.8.14.8.2 入住信息删除触发器USE KFGLGOCREATE TRIGGER RegistrationdeleteON RegistrationFOR DELETEASDELETE FROM CustomerWHERE Cno=ANY(SELECT Cno FROM DELETED)UPDATE RoomSET Rstatus=未使用WHERE Rno=ANY(SELECT Rno FROM DELETED)图4.8.2下图是触发器成功执行后的视图图4.8.2.14.8.3客户信息删除控制触发器USE KFGLGOCREATE TRIGGER Cust
27、omerdeleteON CustomerFOR DELECTASDELECTFROM RegistrationWHERE Rno=ANY(SELECT Rno FROM DELETED)UPDATE RoomSET Rstatus=未使用WHERE Rno=ANY(SELECT Rno FROM DELETED)图4.8.3第五章、数据库应用开发(源码、界面图、功能介绍)5.1 登陆主界面 图5.1 登录主界面5.2登录验证界面图5.2 登录验证界面5.3查询客房信息界面图5.3 查询客房信息界面图5.4 查询结果界面第六章、结论与展望 通过本次课程设计的制作,我们学会了不少东西,对于数据库
28、的设计也了解了不少,很多知识也得到了不少巩固,像平时课堂上不是很理解的知识也得到了进一步的理解,像触发器的建立和存储过程的使用,它的设计体现出了程序和数据库的链接,及具体程序如何将操作反应到数据库。课本上讲的毕竟比较浅,用法也比较简单,通过这次课程设计,了解了存储过程中的另外一些建立规则。在数据库的建立过程中,对数据库的优化、完整性、一致性等有了更深的认识,熟悉了数据库建立的一般过程和方法。对于触发器,了解了建立的语法要求及所代表的意思,以及在维护数据库数据一致性方面的重要作用。视图是从一个或几个基本表(或视图)导出的表,其数据随基表中数据的变化而变化,通过它可以看到自己感兴趣的数据。 对于程
29、序中的不足希望老师能够谅解,系统设计也不够完善,但是我们却学到了不少东西,对数据库有了更深的了解,虽然本次课程设计中所涉及的程序都比较简单,系统存在很多不足之地,但却让我们受益匪浅,为以后的课程设计打下良好基础。相信我们以后对数据库以及其他课程设计都能有较大进步。参考文献1周力,李文华,罗勇胜,王静.SQL Server 2000实用教程.大连理工大学出版社 20102曹俊.数据库课程管理(百度文档)20103明日科技等编著. ASP程序开发范例宝典(第二版)M.人民邮电出版社20094李春葆,曾慧.SQL Server 2000 应用系统开发教程.清华大学出版社 20085李晓黎.ASP+S
30、QL Server网络应用系统开发与实例.人民邮电出版社20046闪四清. SQL Server 2005基础教程.清华大学出版社.20077王珊.撒师煊.数据库系统概论.高等教育出版社.20068王能斌.数据库系统教程.干等教育出版社.20089王珊,陈红.数据库系统教程,清华大学出版社.200710邦贵,郭胜.数据库开发入门与范例解析.机械工业出版.2006致谢 本次课程设计是在万家华老师的关心和指导下精心的完成的,老师不辞辛苦,有问必答,讲解非常耐心,并且能够充分的为我们扩展知识,他渊博的知识和严谨的作风是我们受益匪浅,对顺利完成本次课题设计起到了很大的作用。课程设计报告中万老师严禁细致地为我们的课程设计提供宝贵意见并修改斧正,最终使我们顺利完成。在此向万老师表示衷心感谢! 最后向在白忙之中评审课程设计的老师表示衷心的感谢!课程设计任务及成绩院(系):信息工程学院 教研室:软件教研室学 号学生姓名专业班级课程设计题目课 程 设 计 任 务成绩成绩: 指导教师签字: 年 月 日专心-专注-专业