《《数据库原理及应用》课程设计报告-酒店管理信息系统数据库设计..docx》由会员分享,可在线阅读,更多相关《《数据库原理及应用》课程设计报告-酒店管理信息系统数据库设计..docx(14页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、数据库原理及应用课程设计报告设计题目:酒店管理信息系统数据库设计冠天期T巨石丽底W(二)(三)18001800020020003003000800800040040005平安体系设计1、用户游客:所有人,拥有查询房间状态及收费权限,利于了解酒店。2、用户前台:拥有对各个基本表(视图)所有客人、客房的查询及局部修改、删除、插入权限,便对象斫有者SELECTINSERTUPDATEDELETE EXECDRI晅|客居dbo直收费标准dbo必 1时空房信息dbosr于管理与登记入住客人的信息与换房、退房活动以及收费。对象斯有者 SELECT INSERT UPDATE国时 时雪国国入住dbo客人db
2、o客人交费情况dbo客人信息dbo客房dbo换房dbo收费标准dbo收费记录dbotg1田、nII3、用户客人:客人拥有对自己各类信息的全部查询功能。便于了解自己的交费与住宿情况并核对,及时交费。所有者入住dbosr客人dbo客房dbo换房dbo收费标准dbo收费记录dbo现住客人费用情况dbo空房信息dbo tssrsrsrsrsrsrrn4、用户会计:拥有一切与费用相关表(视图)的查询功能,以核对实际情况的正确性。对象斫有者 SELECTINSERTUPDATE以退客人费dbo用客人交费情况dbo 而客人信息dbo国收费标准dbo对现住客人贾dbo 而空房信息dboDELETE EXEC
3、DRI 口 口 口口 口 口 srsrsrsrsr5、总经理用户:拥有所有表的一切功能,以掌握酒店经营状况。SELECT INSERT UPDATE DELETE EXEC DRI以退客人费dbosrsr sr sr SELECT INSERT UPDATE DELETE EXEC Dsrsrsrsrsrsrsr arararsrsrsrsr srsrsrsrarsrsr srsrarsrarsrsr圜入住dbo富客人dbo时客人交费情况dbo时客人信息dboB客房dbo重换房dbo国收费标准dborn6、dbo:记数据库拥有者,拥有一切功能。6典型功能处理过程设计(1)空房查询功能处理过程使
4、用背景:客户入住前查询可入住空闲房间及价格标准。具体要求:能够查询酒店空余房间及其等级价格操作命令及结果:FROM客房,收费标准WHERE客房.等级二收费标准.等级AND客房.是否使用IS NULL客房编号等级价格102四人标准间200201二人标准间150202二人标准间150204单人标准间100205单人标准间100206单人标准间100207单人标准间100208单人标准间100301豪华间300302豪华间300(2)客人消费以及交费情况查询功能处理过程使用背景:入住客人查询自己的费用情况。具体要求:能够使客人清楚的查询自己的交费、消费、欠费情况。操作命令及结果:此功能由以建视图实现
5、,例如:20101231002查询自己费用信息SELECT入住.客人号,现住客人费用情况.姓名,DATEDIFF(d,入住,日期,GETDATE()FROM现住客人费用情况,入住Where现住客人费用情况.客人编号二入住.客人号AND入住.客人号=20101231002客人骂 I姓名I入住天数I应交矍用电交谓用I金颔 I_ 20101231002 柳擎 7140014000VII(3)统计酒店的进账数目功能处理过程 使用背景:酒店会计与经理查询账目。 具体要求:统计酒店每天的进账数目。 操作命令及结果:SELECT日期,SUM(交费金额)AS收入FROM收费记录GROUP BY 日期日期1收入
6、|2010/12/3130002011/1/125002011/1/22002011/1/313002011/1/47002011/1/519002011/1/66002011/1/7-1007总结7.1设计中遇到的主要问题及解决方法这次数据库课程设计中遇到很多问题,主要表现在以下几个方面。主要问题一:由于在设计要求中有换房这一项,而换房时房间变换可能使房间等级改变,而进一步 改变房间的价格,因此在计算换房客人费用时要将两个不同的收费标准分别计算。在计算所有客人应收 费用时就有两个不同情况:换房客人与未换房客人。两种情况计算方法不同,无法在一个视图中实现, 而为了查询方便又必须在同一视图中显示
7、。同时现住客人与已退房客人之间也存在着一个问题,即退房 客人住宿天数已确定而现住客人不确定。经过不断考虑,想到以下解决方法,为了建立最终的费用视图 先根据各种不同情况(是否换房、是否退房)建立几个过渡视图,然后将过渡视图综合,在综合时遇到 的两视图合并显示通过查询资料用UNION命令解决。主要问题二:计算费用时需用“住宿天数*价格”实现,而住宿天数的计算让我思考了很久,时间 跨年与跨月的差值计算通过已学各种知识感觉无法实现,后来通过查找资料找到解决方法:使用 datediff函数计算。7. 2设计方案的主要优点及缺乏方案优点:正确有效的的实现了既定目标与功能,能够执行各类输入、修改、查询与统计
8、等功能, 由于设计多个视图而使系统的使用简单方便。客人的费用等信息可以由视图直接查询得出,而不必要用 复杂繁琐的命令。方案缺乏:由于时间仓促,该系统缺少了现实中某些必要的局部,例如酒店服务员的有关信息管 理、酒店的日常消费支出、工资管理等方面的内容。而且视图建立时自己感觉局部算法太过于复杂,但 没有更好的方法改进。7. 3收获及建议这次课程设计感触颇深,首先是深刻感受到程序的实际应用性,这学期的课程设计的题目都是贴近 实际生活的问题,我们就能够很清楚的明白自己写的程序要解决什么样的实际问题,应该解决什么样的 实际问题,觉得自己的程序如何更有实用价值。这次设计中不断的出现问题,我那么自己努力,不
9、断的改正错误,改进自己的程序,有些自己实在是 无法解决的问题,那么会与其他同学讨论,或上网查询、搜寻资料在不断的改进过程中,深刻的认识 到自己程序的漏洞和不健全性。通过这次设计,不但让我进一步加深了对知识的巩固,而且很好的锻炼 了我的独立思考能力,以及分析问题解决问题的能力。今后凡事都不要着急,要冷静的分析思考,越是 急越是无法解决,只有沉着冷静深入思考才能真正的解决问题。只要自己努力凡事都能解决。而且深刻 感受到了知识的重要性。我对课设的建议:由于课设时间较短,仓促中无法更好的改进某些方面的设计,所以我觉得应该适 当的增加时间,另外我觉得我们应该学习局部编程语言与SQL相结合来更好的设计一个
10、较为实用的管理 系统。参考文献王珊,萨师宣.数据库系统概论(第四版).北京:高等教育出版社,2006.目录 1数据库需求分析21. 1调查对象基本情况说明 222数据库概念结构设计222.2 E-R图设计33数据库逻辑结构设计4逻辑结构设计4主要表的作用说明及内容图示54主要视图设计65平安体系设计96典型需求的处理过程及命令107总结117.1设计中遇到的主要问题及解决方法 11设计方案的主要优点及缺乏127. 3收获及建议12参考文献 12酒店管理信息系统数据库设计1数据库需求分析1.1 调查对象基本情况说明酒店有总经理、会计和前台工作人员。总经理总管各类事务,会计负责对酒店收入统计管理,
11、 前台负责客人的入住、退房以及一般的查询等事务办理。酒店有各种标准的房间。房间数据包括房间号、房间级别、房间床位数目、房间价位以及房 间的状态(是否已经有客人)。房间编号唯一表示一个房间,房间级别决定房间价格,房间有四种 级别分别表示:四人标准间、二人标准间,单人标准间,豪华间。房间状态表示此房间是否入住或 者转房。酒店要求了解顾客的一般信息,能够为顾客提供入住、换房、退房、随时交费服务,并能够满 足顾客对自身消费以及酒店房间状况等各类信息的查询要求。酒店在正常运营中需要对客房资源、顾客信息、顾客住宿情况、收费信息进行管理。一套功能 强大而又使用简便实用的酒店管理系统有利于提高管理效率。1、系
12、统设计的总体目标:实现酒店各种信息的系统化、规范化和自动化,提供客户、客房信息录 入和查询修改,客户住宿情况的变动管理以及酒店与客户的费用统计查询。进一步的提高酒店 的管理效率。2、主要功能:不同等级客房信息的录入与记录,客人的信息登记,客人的入住、换房、退房、交 费信息记录,有关客人交费情况、酒店住宿收入情况、客房状态、客人各类信息等各种强大的 统计报表,另外还提供各类统计查询。2数据库概念结构设计实体属性描述数据类型及长度是否空约束客房编号客房编号varChar(3)否唯一等级四个等级Verchar (10)是唯一价格等级决定价格smallint是唯一状态是否有客varchar(2)否是与
13、NULL客人编号客人编号varChar(11)否唯一身份证号客人身份varChar(18)否唯一姓名客人姓名Verchar(10)是无联系客人Verchar(15)是无日期各类活动日期smalldatetime否无收费金额支付金额smallint否无需建立七个表,如下(下划线为主码)。其中客房、客人、收费记录属于实体;收费标准包含于客房 实体之中;入住、换房、退房属于实体之间的联系。客房密废般,等级,是否使用);收费标准(等级,价格);客人(客人编号,身份证号,姓名,联系);入住(客房号,客人号,日期,是否换房);换房(客人号,原房号,现房号,日期);退房(客人号,房号,日期);收费记录(客人
14、号,日期,交费金额);2.2 ER图设计3数据库逻辑结构设计FK_客房_收费标准FK_客房_收费标准客房列名I数据类型I长度I允许空人客房编号 var char等级var char是否使用varchar3102CXX全收费标准列名|数据类型|长度|允许空A等级 varchar价格 smallint102FK多房一客房2FKjf房客房 00FKjf房客房 00FK用房一客房1FK一入住一客房入住列名1数据类型1长度|允许空|A闻V客人号 日期var char smalldat114是否换房var char2M2是否退房var char入住列名1数据类型1长度|允许空|A闻V客人号 日期var c
15、har smalldat114是否换房var char2M2是否退房var char换房列名|数据类型|长度|允许空客人号var char11原房号var char3现房号varchar3日期smalldate4vFK_入住.客人FK_入住.客人FK_退房一客人客人客人客人编号varcha11身份证号varcha18姓名varcha8联系 varcha15列名|数据类型|长度|允许空|FK退房客人1心FK_收费记录一客人於CC收费记录列名|数据类型|长度|允许空|八客人号 日期 交费金额var char wmall date smaliint11424、换房表:记录换房客人的情况,包括换房前后
16、客房号与时期,用于计算费用。|客人号|原房号|现房号|日期|201012310013013022011-01-02201101010022012092011-01-03201101020012022032011-01-055、退房表:记录客人的退房情况,用于计算费用和改变客房状态客人号|房号|日期201012310013022011-01-06201012310032042011-01-0220110101003208二 2011-01-04201101010051022011-01-05201101030012062011-01-076、收费标准表:记录客房等级对应的价位,方便收费与交费的统
17、计计算。等级|价格单人标准间100二人标椎间150豪华间300四人标准间2007、收费记录表:记录客人的交费记录与酒店退款(超额)记录,用于计算收入与费用。客人号日期|交费金颔201012310012010-12-311500201012310012011-01-0630020101231002201012310022010-12-3110002011-01-04400201012310032010-01-02-300201012310032010-12-31500201101010012011-01-01500201101010012011-01-05500201101010022011-0
18、1-01500201101010022011-01-06300201101010032011-01-01500201101010032011-01-04-200201101010042011-01-01500201101010042011-01-04500201101010052011-01-01500201101010052011-01-05300201101020012011-01-02500201101020012011-01-05300201101030012011-01-03500201101030012011-01-07-100201101030022011-01-03800201
19、101030022011-01-058004主要视图设计(1)客人信息视图创立必要性:创立客人信息视图,方便酒店服务员对客户服务,方便酒店与客户进行联系与沟通。 该视图用于前台服务人员。命令:,入住房间,入住日期,是否离开)CREATE VIEW客人信息(客人编号,姓名,身份证号,联系FROM客人,入住数据图示:|客人编号|姓名|身份证号|联系 |是否离开2010123100220110101005201101010012011010100420110101002201101020012010123100320110103001201101010032010123100120110103002
20、瑕剑阳坡儿燕岳 t 门方宫东飞容子易衍神 西东南海赵慕白洪箫梦1011021031042012022042062083013032010-12-31 2011-01-01 2011-01-01 2011-01-01 2011-01-01 2011-01-02 2010-12-312011-01-03 2011-01-01 2010-12-31 2011-01-03ORJLL) 是(2)现住客人费用情况视图创立必要性:创立现住客人费用情况视图用于前台服务员对退房客户进行收费与退费,客户查询 自己需交费用与以交费用以及余额。命令:由于此视图较为复杂,在创立该视图时必须先建立另外几个视图,所有视图命
21、令如下:一、CREATE VIEW客人交费情况(客人编号,缴费总额)AS SELECT客人.客人编号,SUM(收费记录.交费金额)FROM客人,收费记录WHERE客人.客人编号二收费记录.客人号GROUP BY客人编号二、CREATE VIEW现住客人费用情况一(客人编号,应交费用)AS SELECT客人.客人编号,datediff(d,入住.日期,换房.日期)* DL价格+ datediff(d,换房.日期, getdateO) * D2,价格FROM客人,入住,客房S1,收费标准D1,客房S2,收费标准D2,换房WHERE客人.客人编号二入住.客人号AND入住.客房号=S1.客房编号AND
22、入住.客房号=换房.原房号 AND S1.等级=D1.等级AND S2.等级=D2.等级AND换房.现房号二S2.客房编号and入住.是否退房 is null三、CREATE VIEW现住客人费用情况二(客人编号,应交费用)AS SELECT客人.客人编号,datediff(d,入住.日期,getdateO) *收费标准.价格FROM客人,入住,收费标准,客房WHERE客人.客人编号=入住.客人号AND入住.客房号二客房.客房编号AND客房.等级二收费标准. 等级AND入住.是否退房IS NULL AND入住.是否换房IS NULL四、CREATE VIEW现住客人费用情况(客人编号,姓名,应
23、交费用,已交费用,余额)AS SELECT客人,客人编号,姓名,现住客人费用情况一.应交费用,客人交费情况.缴费总额,客人交费情 况.缴费总额-现住客人费用情况一,应交费用FROM现住客人费用情况一,客人交费情况,客人WHERE现住客人费用情况一.客人编号二客人交费情况.客人编号AND客人.客人编号二客人交费情况.客 人编号FROM现住客人费用情况二,客人交费情况,客人数据视图:创立必要性:现住客人所交费用不是其实际应交费用,创立已退房客人费用情况视图用于会计 统计酒店收入情况,经理了解酒店的盈利等。命令:此视图较为复杂,在创立该视图时必须先建立另外几个视图,顺序与视图(2)相似, 所有视图命
24、令如下:一、CREATE VIEW客人交费情况(客人编号,缴费总额)AS SELECT客人.客人编号,SUM(收费记录,交费金额)FROM客人,收费记录WHERE客人.客人编号=收费记录.客人号GROUP BY客人编号二、CREATE VIEW退房客人费用情况一(客人编号,应交费用)AS SELECT客人.客人编号,datediff (d,入住.日期,换房.日期)* DL价格+ datediff(d,换房.日期, 退房.日期)* D2.价格FROM客人,入住,客房S1,收费标准D1,客房S2,收费标准D2,换房,退房CREATE VIEW退房客人费用情况二(客人编号,应交费用)AS SELEC
25、T客人.客人编号,datediff (d,入住.日期,退房.日期)*收费标准,价格FROM客人,入住,客房,收费标准,退房WHERE客人.客人编号=入住.客人号AND入住.客房号=客房.客房编号AND入住.客房号=退房.房 号AND客房.等级=收费标准.等级AND入住.是否换房IS NULLCREATE VIEW以退客人费用情况(客人编号,姓名,应交费用,已交费用,余额)AS SELECT客人.客人编号,姓名,退房客人费用情况一,应交费用,客人交费情况.缴费总额,客人交费 情况.缴费总额-退房客人费用情况一.应交费用FROM退房客人费用情况一,客人交费情况,客人WHERE退房客人费用情况一,客人编号二客人交费情况.客人编号AND客人.客人编号二客人交费情况. 客人编号UNION SELECT客人.客人编号,姓名,退房客人费用情况二.应交费用,客人交费情况.缴费总额,客人 交费情况.缴费总额-退房客人费用情况二.应交费用FROM退房客人费用情况二,客人交费情况,客人数据视图: