




已阅读5页,还剩3页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
客房管理系统数据库设计系 科: 管 理 信 息 系 专 业: 计算机软件技术 班 级: 软件3111 学 号: 0326111019 姓 名: 史平安 时 间: 2013年 6月 指导教师: 杨洋 客房管理系统数据库设计1、 设计的目的和意义2、 客房管理系统功能模块 1.数据录入功能 2.数据查询功能 3.数据统计功能3、 数据库设计 1.数据库与数据表设计 (1)个人信息表定义 (2)客房信息数据表定义 (3)客房类型数据表定义 2、数据完整性设计 (1)主键约束、非空值约束 (2)CHECK 约束 (3)使用缺省值 (4)唯一约束 (5)外键约束 (6)规则 (7)标识列 3、视图、触发器和存储过程设计 (1)客人选择客房处理 (2)客人入住登记处理 (3) 客人离店退房处理 (4)统计某年份每月的客房销售数据客房管理系统数据库设计一、设计的目的和意义在当今经济和商务交往日益频繁的状况下,宾馆服务行当正面临客流量骤增的压力。越来越多的宾馆饭店都认识到传统的管理方法已经不能适合当今社会的需要,必须借助先进的计算机信息技术对宾馆服务进行管理。“客房管理系统”可以说是整个宾馆计算机信息管理系统的中心子系统,因为宾馆最主要的功能就是为旅客提供客房。设计客房管理系统数据库,可以涉及到大多数SQL Server数据库的重要数据库对象、重要功能和特性,比如:视图、触发器和存储过程等。由此,通过这个课程设计可以加深对这些SQL Server数据库知识的学习、理解,积累在实际工程应用中运用各种数据库对象的经验。二、客房管理系统功能模块系统功能需求分析是数据库分析设计的前提,由于本设计为数据库设计,所以简化前期的需求分析,现将系统功能模块描述如下。1、 数据录入功能:在本系统中提供客人信息登记功能。可以录入客人的姓名、性别、年龄、身份证号码、 家庭住址、工作单位、来自地的地名、入住时间、预计入住天数、客房类别、客房号、离店时间以及缴纳押金金额等信息。在客人退房时,系统根据输入的离店时间以及客房单价自动计算客人住宿费金额。2、数据查询功能系统需要提供以下查询功能:1) 查某类客房的入住情况及空房情况,显示所有该类客房空房数目和客房号。2) 根据客人姓名、来自地的地名、工作单位或家庭住址等信息查询客人信息;根据客房号查询入住客人的信息。3) 查询某个客人住宿费用情况,显示客人缴纳押金金额、实际入住天数、客房价格、实际住宿费、住宿费差额及余额等信息。4) 查询所有入住时间达到或超过预计入住天数的客人。3、数据统计功能1)统计一段时间内各类客房的入住情况。2)统计全年各月份的客房收入。3)统计一段时间内各类客房的入住率。三、数据库设计1、数据库与数据表设计分析前面的系统功能要求,需要一个表来存储和管理客人信息,使系统能够接受客人入住时输入的各项数据,以实现数据录入、查询或统计客人信息等功能。客人是本系统的第一个实体。为了能实现查询和统计客房入住情况等功能,必须有一个表来存储和管理所有客房的信息,包括客房的类型、客房号、是否入住客人等。客房是本系统的第二个实体。一般来说,客房价格是以客房的类型来制定的。为了保证系统数据库最小的数据冗余和数据完整性,需要建立一个表来记录各种客房类型的信息。它主要为各种查询和统计功能提供客房价格数据。它与客房表是一对多的关系,在客房价格变动时,只需要在客房类型表中更改。综上所述,在客房管理数据库中需要建立3个数据表:客人信息数据表、客房信息数据表和客房类型数据表。(1)客人信息数据表定义根据系统功能要求,客人信息表需要能接受客人登记入住和离店时输入的所有信息.还必须包括客人最终的住宿费金额,因为住宿费金额是统计客房收入的基本数据。客人信息表的结构定义如表1所示。表1 客人信息数据表定义 列名数据类型 大小 空 值 键 说明cIdint 4 主键(标识列) 序号cNamechar 8 姓名cSexbit 1 性别cAgetinyint 1 年龄cPNumchar 18 身份证号码cAddvarchar 50 家庭住址cWorkvarchar 50 工作单位cFromchar 10 来自地的地名cInTimesmalldatetime 4 入住时间cDayTinyint 1 预计入住天数rNumchar 5 客房号cOutTimesmalldatetime 4 离店时间cDepositsmallmoney 4 押金金额cCostsmallmoney 4 住宿费 其中,cId(序号)是表的主键,唯一标识一个入住的客人。设计时定义它为标识列,系统自动地产生连续的永不重复的序列号。 rNum(客房号)在客人信息表中是外键,它是客房信息表的主键,唯一标识一个房间。通过它,系统将引用到客房类型、客房单价等信息。 客人信息表取名为tblClient。(2)客房信息数据表定义客房信息表中应该记录每一个客房的信息和状态,系统查询这些信息并决定客人能否入住。每个客房的类型决定了客房的价格,可供客人入住时选择房间及离店时结算住宿费用。客房数据表的定义如表2所示。表2 客房信息数据表定义列名数据类型 大 小 空 值 键 说明rNumrStatsrTypechar 5 主键 客房号char 1 客房状态char 2 客房类型编号 其中,rNum(客房号)是该表的主键,唯一标识一个客房房间。它将作为客人信息表的外键,保证客人信息表的参照完整性。 rStats 表示房间的状态,设定其值为“N”时,表示客房没有入住客人;值为“F”时,表示客房以有客人入住;值为“P”时,表示客房被预定。 rType 表示客房的类型,它是该表的一个外键,来自下面将要说明的客房类型数据表。 客房信息表取名为tblRoom。(3)客房类型数据表定义客房类型主要描述客房的服务标准和收费价格,这些信息如果包含进每个客房的记录中,将会使客房信息表产生较大的数据冗余,特别在客房数量大的情况下。此外,如果客房信息表的每条记录都包括价格信息,那当某种类型的客房价格变动时,用户就不得不对客房信息表中的记录逐一进行修改。客房类型数据表的定义如表3-3所示。表3-3 客房类型数据表定义列名数据类型 大 小 空 值 键 说明 rTyperNamerPricechar 2 主键 客房类型编号char 10 客房类型名称smallmoney 4 该类型客房价格其中,rType 表示客房类型的编号,作为该表的主键,唯一标识某一类客房。它将作为客房信息表的外键,保证客房信息表数据的完整性。客房类型数据表取名为tblRoomType。2、数据完整性设计设计好表的结构后,需要根据实际应用和操作规则为表制定一系列约束和规则,从而达到保证数据完整性原则的目的。约束(1)主键约束、非空值约束在三个表的设计中已经规定了每个表的主键列、非空列,这些规定都是在实际应用环境中所必需的。比如tblRoom表中定义了房间号rNum为主键,则在表tblRoomr中Num必须是唯一的;客房类型Type和客房状态rStats 不能为空值,因为rType是辨别客人入住客房中类、住宿费用结算的依据,所以不能为空值;rStats是辨别客人能否入住的依据,所以也不能为空值。(2)CHECK 约束对于tblClient表,应该建立一个检查约束,即所有客人的离店时间都不可能小于入住时间。(3)使用缺省值tblClient表的预住天数cDay的默认值可定义为1,而客人入住时间cInTime的缺省值应该就是添加客人记录的时间,所以可以设定缺省值为“(GETDATE)”。(4)唯一约束除了每个表的主键需定义为唯一外,对于tblRoomType的客房类型名rName,也应该定义为唯一的名称。因为在系统功能需求中,要求按客房类型对数据进行统计,如果在统计结果中只显示客房类型编号,用户就必须记忆那种类型是什么编号,这样很不直观。所以应按照相关的SQL Server数据库教材中建立唯一约束的方法进行创建。(5)外键约束在数据表设计中已经讨论了各个表的外键,这里加以实现。(6)规则为了检查tblClinent表中输入的身份证号码cPNum是有效位数(我国身份证号码有旧的15位数字和18位数字两种),可以创建一个规则邦定到该列,在数据操作时进行检查。规则的定义语句为: (LEN(CardNum)=15) OR (LEN(CardNum)=18)具体实现请参见教材中的相关内容。(7)标识列在设计客人信息表tblClient时,我们把客人序号cId定义为标识列,使其在添加记录时自动产生序列号,并且每个序号唯一地标识一次客人入住信息。3、视图、触发器和存储过程设计(1)客人选择客房处理客人来到饭店入住前要做的第一件事是选择合适的房间,客人将告知饭店服务员自己需要的客房类型,服务员在系统中选择指定的客房类型后系统将显示所有的空余的该类型房间,并显示该类型客房价格供客人参考选择。这个过程可以通过一个存储过程来实现。在这个存储过程中,需要的输入参数是客房类型,输出的结果集是所有这种客房类型的空房记录和价格。(2)客人入住登记处理客人入住登记操作完成后,入住的客房状态应该及时做相应的改变,并记录客人的序号供以后查询。这一功能可以使用触发器来自动进行:因为进行客人入住登记操作是在客人信息表tblClient中添加一条新的记录,所以可以为tblClient设计一个Insert触发器,当tblClient执行Insert操作后自动更改tblRoom相应客房记录的数据。(3) 客人离店退房处理客人在离店退房时,服务员输入客人的退房时间,然后要计算出客人的住宿费用,以便于客人结帐。同时,系统应该将客人所退客房的状态更改为“空”,以便于接待下一个客人入住。这一功能也可以通过一个触发器来实现。为tblClient表设计一个名为client-update的UPDATE触发器,当系统对tblClient的cOutTime(退房时间)进行UPDATE操作后,将会自动触发它。该触发器将自动取得
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年公路工程试验检测师考试复习要点:(道路工程)综合练习题及答案二
- 安宁市2025-2026学年七年级下学期语文月考模拟试卷
- 安徽省合肥市肥西县2023-2024学年高一下学期期末考试地理考题及答案
- 2025 年小升初韶关市初一新生分班考试语文试卷(带答案解析)-(人教版)
- 2025 年小升初北京市初一新生分班考试英语试卷(带答案解析)-(人教版)
- 广东江门2025-2026学年高二调研测试理综生物试题及答案
- 吉林省吉林市舒兰市第十六中学校2024-2025学年上学期期末测试八年级数学试题(含部分答案)
- 南京管道安装合同范本
- 铺面设备转让合同范本
- 贷款用进货合同范本
- 万达入职性格在线测评题
- 车位无偿使用补充协议书范本
- 中华人民共和国标准设计施工总承包招标文件(2012年版)
- 保险公司与定点医院合作协议书(2篇)
- 数学七年级上册《合并同类项》说课-课件
- Magic Tree House 神奇树屋词汇大全
- 四川省中小学生健康体检表
- 广东省中山一中、仲元中学等七校2025届高一数学第二学期期末统考试题含解析
- 2024年县乡教师选调进城考试《教育学》题库及完整答案(全优)
- 渭南万泉330千伏变电站-雷家洼110千伏线路工程环境影响报告
- 企业后勤安全管理培训课件
评论
0/150
提交评论