1、数据库原理课程设计课题名称: 题目五:酒店管理系统 成员学号: 成员姓名: 专业班级: 数据库原理及应用课程设计报告设计题目:题目五酒店管理系统学生姓名: 专 业: 班 级: 指导教师: 西南交通大学峨眉校区2014年 月 日 目录1。需求分析阶段 1。1。引言51.2.需求分析阶段的目标与任务61。2。1。处理对象61.2。2.处理功能及要求61。2。3.安全性和完整性要求61.3。需求分析阶段成果71.3.1.酒店客房管理系统数据流程图71.3.2。酒店客房管理系统数据字典91。3.2。1.数据项9 1。3.2.2。数据结构10 1.3.2。3。数据流12 1.3。2.4。数据存储132。
2、概念设计阶段 2。1.引言142。2。标识图书管理系统中的实体和属性142.3。确定实体间的联系153.逻辑设计阶段 3。1.引言173。2.酒店管理系统的关系模型183.3。将关系设计成SQL Server 2005下相应的表194。总结和心得4.1。心得21选题:(5+7+0)%8+1=5题目五: 酒店管理系统 酒店管理系统的用户是酒店的前台、财务和管理人员,实例包括客户信息管理、客房类型管理、客房信息管理、预订客房信息管理、入住登记信息管理、续住登记信息管理、退房登记信息管理、实收房款管理。具体如下:l 客房信息的添加、修改、删除和查询.l 客房类型信息的添加、修改、删除和查询。l 客户
3、信息的添加、修改、删除和查询.l 预订客房信息的添加、修改、取消预订和查看详细.l 登记入住和修改登记信息。l 保存续住登记信息;保存退房登记信息;保存实收房款信息.1. 需求分析阶段1.1. 引言进行系统设计,首先要对系统的现状进行分析。根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。通过这样的系统,我们可以做到信息的规范管理和快速查询,从而减少了管理方面的工作量.需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。明确目的之后,就可以确定您需要保存哪些主题的信息(
4、表),以及每个主题需要保存哪些信息(表中字段)。在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。这样,就把一个大的系统分解成了几个小系统.其中将系统划分为两大模块:酒店管理员模块、客户模块。预期能够实现以下功能:客户信息管理、客房类型管理、客房信息管理、预订客房信息管理、入住登记信息管理、续住登记信息管理、退房登记信息管理、实收房款管理.1.2. 需求分析阶段的目标与任务1.2.1. 处理功能及要求酒店客房预订系统的处理需求如下:应用层面:(1) 客户查询并预订客房。(2) 客户入住客房。(3) 客户续住客房。(4) 客户退房。(5) 酒店管理员对数据的更新
5、。数据层面:(1) 能够存储一定数量的客房信息,并方便有效的进行相应的客房数据操作和管理,这主要包括:l 客房信息的添加、修改、删除和查询。l 客房类型信息的添加、修改、删除和查询。l 预订客房信息的添加、修改、取消预订和查看详细.(2) 能够对一定数量的客户读者进行相应的信息存储与管理,这其中包括:l 客户信息的添加、修改、删除和查询.l 登记入住和修改登记信息。l 保存续住登记信息;保存退房登记信息;保存实收房款信息。(3) 能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询.(4) 对查询、统计的结果能够列表显示。1.2.2. 安全性和完整性要求(1) 安全性系统安全性要求
6、体现在数据库安全性、信息安全性和系统平台的安全性等方面.安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。(2) 完整性系统完整性要求系统中数据的正确性以及相容性。可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。1.3. 需求分析阶段成果1.3.1. 酒店客房管理系统数据流程图顶层数据流程图:酒店系统管理用户客户酒店客房管理系统客户入住,续住更新反馈退房办理客户业
7、务客户变动信息图1。1酒店管理系统顶层数据流图酒店管理系统顶层数据流图反映了酒店管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。根据前面酒店管理系统功能边界的确定,再酒店管理系统顶层数据流图中的处理功能做进一步分解,可分解为客户预定、入住、续住、退房、数据更新五个子功能,这样就得到了图书管理系统的第1层数据流图.第0层数据流程图:1.0预定 空房信息S2客房信息表预订信息2.0入住客户信息S4入住信息表S1管理员信息表5.0数据更新客户房号信息S5客户信息表3.0续住 房号信息结账信息4.0退房S3客房类型房号信息 账单信息图1。2酒店管理系统第0层数据流图第1层数据流图:从酒店
8、管理系统第0层数据流图中可以看出,在酒店管理的不同业务中,客户预定、入住、续住、退房、数据更新这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图.下面的图1。31.7分别给出了预定、入住、续住、退房第1层数据流图:(1)客户预定:客户1.2预定客房1.1查询客房 预定要求 选定房间信息 预定结果信息 客房信息S5 客户信息表S4 入住信息表S2 客房信息表 图1.3酒店管理系统第1层数据流图 客户预定(2)客户入住:S2 客房信息表 客户2.1查询客房信息 预订信息 S4 入住信息表 房号信息S5 客户信息表2.2修改登记表 客户信息 图
9、1.4酒店管理系统第1层数据流图 客户入住(3)客户续住:S2 客房信息表 客户3.1查询客户信息 房号信息 S4入住信息表3.2修改登记表 客户信息 补交费用信息图1。5酒店管理系统第1层数据流图 客户续住(4)客户退房:4.3退押金信息4.2查询入住时间客户4.1检查客房信息 房号信息 S3 客户信息表S1 客房信息表S2 住宿信息表 图1.6酒店管理系统第1层数据流图 客户退房1.3。2。酒店客房预订系统数据字典按照数据流程图分层和每层数据流程图对数据字典,数据字典应包含数据流、数据存储、数据处理、和数据项4个部分进行描述.1.3。2。1数据项 系统涉及的数据项:表1.7 数据项列表数据
10、项编号数据项名称数据项含义说明存储类型及才长度DI1UID用户编号VarcharDI-2UPASSWORD用户密码VarcharDI-3UPOWER用户类型IntDI-4USEX用户性别BitDI-5UNAME用户姓名VarcharDI-6UADDRESS用户地址VarcharDI-7UTLE用户电话VarcharDI8UEMAIL用户邮箱VarcharDI-9UDEPT用户所在部门VarcharDI-10RID房间号VarcharDI11TYPE客房种类VarcharDI-12RLOCATION客房位置VarcharDI13TNO类型代码IntDI-14TNAME类型名称VarcharDI-
11、15TAREA房间标准面积FloatDI-16TBED客房标准床数IntDI17TPRICE客房标准收费MoneyDI18TAIRC是否配有空调BitDI-19TDES简单描述VarcharDI-20TTV是否配有电视BitDI21OGID入住客户身份证号VarcharDI-22OBEGIN订房时间DatetimeDI-23OENDD退房时间DatetimeDI24OPAY结账金额MoneyDI25CNAME客户姓名VarcharDI26CAGE客户年龄VarcharDI27CSEX客户性别BitDI28CNAT客户籍贯VarcharDI29CADD客户地址VarcharDI30CCERT客户
12、证件类型IntDI-31CERID证件号VarcharDI32CNO客户号Varchar1。3。2。2数据结构数据结构:表1。8 数据结构列表数据结构编号数据结构名数据结构含义组成DS1Users管理员信息UID,UPASSWORD,UPOWER,USEX,UNAME,UADDRESS,UTEL,UEMAIL,UDEPT,DS-2Guestroom客房信息RID,TYPE,RLOCATION,TNODS-3Roomtype客房类型TNO,TNAME,TAREA,TBED,TPRICE,TAIRC,TTV,TDES,DS-4Occupy入住信息RID,CNO,OGID,OBEGIN,OENDD,
13、OPAYDS-5Clients客户信息CNO,CNAME,CAGE,CSEX,CNAT,CADD,CCERT,CERID表1.9 用户(管理员)信息数据表(Users)列名数据类型大小说明UIDVarchar50每一员工的员工号,作为索引UPasswordVarchar50用户密码UPOWERInt4用户的类型USexBit1用户性别UNameVarchar50用户姓名UAddressVarchar50用户地址UTelVarchar50用户联系电话UEmailVarchar50用户电子邮箱地址UDepartmentVarchar50用户所在部门表1。10 客房基本信息数据表(GuestRoom
14、)列名数据类型大小说明RIDVarchar50房间号,唯一TYPEVarchar50客房种类RLocationVarchar50客房位置TNOInt4类型代码表1。11 客房类型信息数据表(RoomType)列名数据类型大小说明TNOInt4类型代码TnameVarchar50类型名称TareaFloat8房间标准面积TBedInt2房间标准床数TPriceMoney8每晚标准收费TAirCBit1是否配备有空调TTVBit1是否配备有电视TDesVarchar500简单描述表1.12 酒店入住信息数据表(Occupy)列名数据类型大小说明RIDVarchar50入住房间号CNOVarchar
15、50入住客人OGIDVarchar50入住客户身份证号ObeginDatetime8定房日期OEndDDatetime8退房日期OpayMoney 8结账额表1。13 客户信息数据表(clients)列名数据类型大小说明CnoVarchar50客户号CnameVarchar50姓名CageVarchar50年龄CsexBit1性别CnatVarchar50籍贯CaddVarchar50住址CcertInt2证件类型CeridVarchar50证件号1。3.2.3数据流数据流名称:客人信息来源:客人去向:订单包含的数据项:预定人,姓名,身份证号,VIP表1.14酒店客房管理系统的数据流客人信息数
16、据流名称:订单来源:订单去向:入住包含的数据项:订单编号,姓名,性别,身份证号,客户编号,客房类型,抵房时间,入住 人数,预定人,电话,住几天,订单状态表1。15 酒店客房管理系统的数据流订单数据流名称:客房信息来源:订单去向:退房包含的数据项:客房编号,客房类型,客房价格,客房状态表1.16酒店客房管理系统的数据流客房信息数据流名称:入住单来源:入住去向:退房包含的数据项:入住单号,客房编号,客房类型,入住时间,入住人数,姓名,退房时间,订单编号,入住单状态表1.17 酒店客房管理系统的数据流客户入住单数据流名称:帐单来源:管理员去向:退房包含的数据项:帐单编号,姓名,消费金额,入住时间,退
17、房时间,备注表1.18酒店客房管理系统的数据流账单1.3。2。4数据存储1、数据存储:客房信息表 组成结构:记录客房的基本信息,所属类型、房间号、位置等 输入数据流:登记 输出数据流:查询 说明:要求能立即查询并修改2、数据存储:住宿信息表 说明:记录客户入住的基本信息,如入住日期、预订房间号等 输入数据流:登记 输出数据流:查询3、数据存储名称:客户信息表 组成结构:记录客户的基本信息,如证件号、姓名、性别、籍贯等 输入数据流:登记 输出数据流:查询 说明:要求能立即查询并修改4、数据存储:客房物品信息表 组成结构:记录客房物品的基本信息,如物品编号、名称、单价、数量等 输入数据流:更新并记
18、录 输出数据流:查询 说明:要求能立即查询并修改2、 概念结构设计2.1、引言系统开发的总体目标是实现酒店客房预订管理的系统化和自动化,减少客户预订登记等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高客房管理、客户管理效率的目的.主要任务是对管理员信息、客房基本信息、客房类型信息、入住信息、结算信息、客房状态信息的基本信息的操作及外理.概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。2.2、标识图书管理系统中的实体和属性参照数据字典中对数据存储的描述,可得到下面的结果:管理
19、员:工号,密码,类型,姓名,性别,地址,电话,邮箱,部门客房:房间号,客房种类,客房位置,备注客房类型:标准面积,标准床数,标注收费,是否配有空调,是否配有电视,其他描述入住信息:入住房间号,入住客户,入住客户证件号码,订房日期,退帐金额客户信息:住址,籍贯,年龄,姓名,证件号,证件类型,性别,客户号2.3确定实体间的联系 工号姓名电话类型密码性别部门地址邮箱管理员 图 2.1管理员实体性客房种类房间号客房类型代码客房位置 图2.2 客房实体型图2.4 入住信息实体型入住信息入住客户ID退账金额订房日期退房日期入组客户入住房间号 图2.3客房类型实体型标注面积其他描述是否有电视是否有空调客房类
20、型标准收费标准床数类型代码类型名称年龄籍贯住址证件号 图 2.5 客户信息实体型客户信息姓名性别证件类型客户号是否有空调是否有电视上标准收费 类型名称类型代码其他描述标准床数标准面积2.6 酒店管理系统 E-R图房间种类房间位置房间号籍贯退款金额退房日期订房日期思琪=客户证件号入住客户客房类型入住房间客户号证件类型证件号姓名属于性别年龄住址部门电话邮箱地址姓名性别工号类型密码入住信息备注管理员客户信息客房3、 逻辑结构设计阶段3。1、引言概念设计是独立于任何一种数据模型的信息结构.逻辑结构设计的任务就是把概念设计阶段设计好的基本ER图转换为与选用DBMS(本课程设计选用 SQL Server
21、2005)产品所支持的数据模型符合的逻辑结构。3。2、酒店管理系统的关系模型将在概念结构阶段得到的基本ER图转换成关系模型,如下表所示:关系名属性及码其他约束条件管理员工号,密码,姓名,类型,性别,地址,电话,邮箱,部门1、 工号不允许为空且为主键;2、 用户密码不允许为空;3、 姓名不允许为空客房房间号,类型代码,客房位置,备注1、不允许为空;2、类型代码不允许为空且引用客房类型表中的类型代码客房类型类型代码,类型名称,标准面积,标准床数,标准收费,是否配有空调,是否配有电视,其他描述1、 类型代码不允许为空;2、 类型名称不允许为空;3、 标准收费不允许为空入住信息入住房间号,入住客户号,
22、入住客户证件号码,订房日期,结账金额1、 房间号和入住客户号不允许为空且共同组成主键并为外键;2、 订房日期和退房日期不允许为空客户信息客户号,姓名,住址,籍贯,年龄,姓名,证件号,证件类型,性别 1、号不允许为空;2、号不允许为空;3、不允许为空;4、类型不允许为空3.3、将关系设计成SQL Server 2005下相应的表USERS(管理员信息表)字段名字段含义字段类型长度是否为空列级约束UID用户编号VARCHAR50NOT NULLPRIMARY KETUPASSWORD用户密码VARCHAR50NOT NULLUPOWER用户类型INT4NULLUSEX用户性别BIT1NULLUNA
23、ME用户姓名VARCHAR50NOT NULLUADDRESS用户地址VARCHAR50NULLUTEL用户电话VARCHAR50NULLUEMAIL用户邮箱VARCHAR50NULLUDEPT用户所在部门VARCHAR50NULL表级约束GUESTROOM(客房信息表)字段名字段含义字段类型长度是否为空列级约束RID房间号VARCHAR50NOT NULLPRIMARY KEYTYPE客房种类VARCHAR50NULLRLOCATION客房位置VARCHAR50NULLTNO类型代码INT4NOT NULLFOREIGN KEY REFERENCES ROOMTYPE(TON)表级约束ROO
24、MTYPE(客房类型信息表)字段名字段含义字段类型长度是否为空列级约束TNO类型代码Int4NOT NULLPRIMARY KEYTname类型名称Varchar50NOT NULLTarea房间标准面积Float8NULLTBed房间标准床数Int2NULLTPrice标准收费Money8NOT NULLTAirC是否配备有空调Bit1NULLTTV是否配备有电视Bit1NULLTDes简单描述Varchar500NULL表级约束OCCUPY(酒店入住信息表)字段名字段含义字段类型长度是否为空列级约束RID入住房间号Varchar50NOT NULLFOREIGN KEY REFERENCE
25、S GUESTROOM(RID)CNO入住客人Varchar50NOT NULLFOREIGN KEY REFERENCES CLIENTS(CNO)OGID入住客户身份证号Varchar50NULLOBEGIN定房日期Datetime8NOT NULLOENDD退房日期Datetime8NOT NULLOPAY结账额Money 8NULL表级约束PRIMARY KEY(RID,CNO)CLIENTS(客户信息表)字段名字段含义字段类型长度是否为空列级约束CNO客户号Varchar50NOT NULLPRIMARY KEYCNAME姓名Varchar50NOT NULLCAGE年龄Varcha
26、r50NULLCSEX性别Bit1NULLCNAT籍贯Varchar50NULLCADD住址Varchar50NULLCCERT证件类型Int2NOT NULLCERID证件号Varchar50NOT NULL表级约束4、 总结和心得通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,ER图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助。20