西南交通大学 数据库课程设计酒店管理系统.docx
《西南交通大学 数据库课程设计酒店管理系统.docx》由会员分享,可在线阅读,更多相关《西南交通大学 数据库课程设计酒店管理系统.docx(24页珍藏版)》请在冰豆网上搜索。
西南交通大学数据库课程设计酒店管理系统
数据库原理
课程设计
课题名称:
题目五:
酒店管理系统
成员学号:
成员:
专业班级:
《数据库原理及应用》课程设计报告
设计题目:
题目五——酒店管理系统
学生:
专业:
班级:
指导教师:
西南交通大学峨眉校区
2014年月日
选题:
(5+7+0)%8+1=5
题目五:
酒店管理系统
酒店管理系统的用户是酒店的前台、财务和管理人员,实例包括客户信息管理、客房类型管理、客房信息管理、预订客房信息管理、入住登记信息管理、续住登记信息管理、退房登记信息管理、实收房款管理。
具体如下:
●客房信息的添加、修改、删除和查询。
●客房类型信息的添加、修改、删除和查询。
●客户信息的添加、修改、删除和查询。
●预订客房信息的添加、修改、取消预订和查看详细。
●登记入住和修改登记信息。
●保存续住登记信息;保存退房登记信息;保存实收房款信息。
1.需求分析阶段
1.1.引言
进行系统设计,首先要对系统的现状进行分析。
根据系统的目标、需求和功能,制定和选择一个较好的系统方案,从而达到一个合理的优化系统。
通过这样的系统,我们可以做到信息的规管理和快速查询,从而减少了管理方面的工作量。
需求分析是在于要弄清用户对开发的数据库应用系统的确切要求。
数据库设计的第一步是明确数据库的目的和如何使用,也就是说需要从数据库中得到哪些信息。
明确目的之后,就可以确定您需要保存哪些主题的信息(表),以及每个主题需要保存哪些信息(表中字段)。
在构造系统时,首先从需求出发构造数据库表,然后再由数据库表结合需求划分系统功能模块。
这样,就把一个大的系统分解成了几个小系统。
其中将系统划分为两大模块:
酒店管理员模块、客户模块。
预期能够实现以下功能:
客户信息管理、客房类型管理、客房信息管理、预订客房信息管理、入住登记信息管理、续住登记信息管理、退房登记信息管理、实收房款管理。
1.2.需求分析阶段的目标与任务
1.2.1.处理功能及要求
酒店客房预订系统的处理需求如下:
应用层面:
(1)客户查询并预订客房。
(2)客户入住客房。
(3)客户续住客房。
(4)客户退房。
(5)酒店管理员对数据的更新。
数据层面:
(1)能够存储一定数量的客房信息,并方便有效的进行相应的客房数据操作和管理,这主要包括:
●客房信息的添加、修改、删除和查询。
●客房类型信息的添加、修改、删除和查询。
●预订客房信息的添加、修改、取消预订和查看详细。
(2)能够对一定数量的客户读者进行相应的信息存储与管理,这其中包括:
●客户信息的添加、修改、删除和查询。
●登记入住和修改登记信息。
●保存续住登记信息;保存退房登记信息;保存实收房款信息。
(3)能够提供一定的安全机制,提供数据信息授权访问,防止随意删改、查询。
(4)对查询、统计的结果能够列表显示。
1.2.2.安全性和完整性要求
(1)安全性
系统安全性要求体现在数据库安全性、信息安全性和系统平台的安全性等方面。
安全性先通过视图机制,不同的用户只能访问系统授权的视图,这样可提供系统数据一定程度上的安全性,再通过分配权限、设置权限级别来区别对待不同操作者对数据库的操作来提高数据库的安全性;系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。
(2)完整性
系统完整性要求系统中数据的正确性以及相容性。
可通过建立主、外键,使用check约束,或者通过使用触发器和级联更新。
1.3.需求分析阶段成果
1.3.1.酒店客房管理系统数据流程图
顶层数据流程图:
客户入住,续住更新反馈
退房
办理客户业务客户变动信息
图1.1酒店管理系统顶层数据流图
酒店管理系统顶层数据流图反映了酒店管理系统与外界的接口,但未表明数据的加工要求,需要进一步细化。
根据前面酒店管理系统功能边界的确定,再酒店管理系统顶层数据流图中的处理功能做进一步分解,可分解为客户预定、入住、续住、退房、数据更新五个子功能,这样就得到了图书管理系统的第1层数据流图.
第0层数据流程图:
空房信息
预订信息
客户信息
房号信息
房号信息
结账信息
房号信息
账单信息
图1.2酒店管理系统第0层数据流图
第1层数据流图:
从酒店管理系统第0层数据流图中可以看出,在酒店管理的不同业务中,客户预定、入住、续住、退房、数据更新这几个处理较为复杂,使用到不同的数据较多,因此有必要对其进行更深层次的分析,即构建这些处理的第1层数据流图。
下面的图1.3——1.7分别给出了预定、入住、续住、退房第1层数据流图:
(1)客户预定:
预定要求选定房间信息
预定结果信息
客房信息
图1.3酒店管理系统第1层数据流图客户预定
(2)客户入住:
预订信息
房号信息
客户信息
图1.4酒店管理系统第1层数据流图客户入住
(3)客户续住:
房号信息
客户信息
补交费用信息
图1.5酒店管理系统第1层数据流图客户续住
(4)客户退房:
房号信息
图1.6酒店管理系统第1层数据流图客户退房
1.3.2.酒店客房预订系统数据字典
按照数据流程图分层和每层数据流程图对数据字典,数据字典应包含数据流、数据存储、数据处理、和数据项4个部分进行描述。
1.3.2.1数据项
系统涉及的数据项:
表1.7数据项列表
数据项
编号
数据项名称
数据项含义说明
存储类型及才长度
DI-1
UID
用户编号
Varchar
DI-2
UPASSWORD
用户密码
Varchar
DI-3
UPOWER
用户类型
Int
DI-4
USEX
用户性别
Bit
DI-5
UNAME
用户
Varchar
DI-6
UADDRESS
用户地址
Varchar
DI-7
UTLE
用户
Varchar
DI-8
UEMAIL
用户
Varchar
DI-9
UDEPT
用户所在部门
Varchar
DI-10
RID
房间号
Varchar
DI-11
TYPE
客房种类
Varchar
DI-12
RLOCATION
客房位置
Varchar
DI-13
TNO
类型代码
Int
DI-14
TNAME
类型名称
Varchar
DI-15
TAREA
房间标准面积
Float
DI-16
TBED
客房标准床数
Int
DI-17
TPRICE
客房标准收费
Money
DI-18
TAIRC
是否配有空调
Bit
DI-19
TDES
简单描述
Varchar
DI-20
TTV
是否配有电视
Bit
DI-21
OGID
入住客户号
Varchar
DI-22
OBEGIN
订房时间
Datetime
DI-23
OENDD
退房时间
Datetime
DI-24
OPAY
结账金额
Money
DI-25
CNAME
客户
Varchar
DI-26
CAGE
客户年龄
Varchar
DI-27
CSEX
客户性别
Bit
DI-28
CNAT
客户籍贯
Varchar
DI-29
CADD
客户地址
Varchar
DI-30
CCERT
客户证件类型
Int
DI-31
CERID
证件号
Varchar
DI-32
CNO
客户号
Varchar
1.3.2.2数据结构
数据结构:
表1.8数据结构列表
数据结构编号
数据结构名
数据结构含义
组成
DS-1
Users
管理员信息
UID,UPASSWORD,UPOWER,USEX,UNAME,UADDRESS,UTEL,UEMAIL,UDEPT,
DS-2
Guestroom
客房信息
RID,TYPE,RLOCATION,TNO
DS-3
Roomtype
客房类型
TNO,TNAME,TAREA,TBED,TPRICE,TAIRC,TTV,TDES,
DS-4
Occupy
入住信息
RID,CNO,OGID,OBEGIN,OENDD,OPAY
DS-5
Clients
客户信息
CNO,CNAME,CAGE,CSEX,CNAT,CADD,CCERT,CERID
表1.9用户(管理员)信息数据表(Users)
列名
数据类型
大小
说明
UID
Varchar
50
每一员工的员工号,作为索引
UPassword
Varchar
50
用户密码
UPower
Int
4
用户的类型
USex
Bit
1
用户性别
UName
Varchar
50
用户
UAddress
Varchar
50
用户地址
UTel
Varchar
50
用户联系
UEmail
Varchar
50
用户电子地址
UDepartment
Varchar
50
用户所在部门
表1.10客房基本信息数据表(GuestRoom)
列名
数据类型
大小
说明
RID
Varchar
50
房间号,唯一
TYPE
Varchar
50
客房种类
RLocation
Varchar
50
客房位置
TNO
Int
4
类型代码
表1.11客房类型信息数据表(RoomType)
列名
数据类型
大小
说 明
TNO
Int
4
类型代码
Tname
Varchar
50
类型名称
Tarea
Float
8
房间标准面积
TBed
Int
2
房间标准床数
TPrice
Money
8
每晚标准收费
TAirC
Bit
1
是否配备有空调
TTV
Bit
1
是否配备有电视
TDes
Varchar
500
简单描述
表1.12酒店入住信息数据表(Occupy)
列名
数据类型
大小
说 明
RID
Varchar
50
入住房间号
CNO
Varchar
50
入住客人
OGid
Varchar
50
入住客户号
Obegin
Datetime
8
定房日期
OEndD
Datetime
8
退房日期
Opay
Money
8
结账额
表1.13客户信息数据表(clients)
列名
数据类型
大小
说明
Cno
Varchar
50
客户号
Cname
Varchar
50
Cage
Varchar
50
年龄
Csex
Bit
1
性别
Cnat
Varchar
50
籍贯
Cadd
Varchar
50
住址
Ccert
Int
2
证件类型
Cerid
Varchar
50
证件号
1.3.2.3数据流
数据流名称:
客人信息
来源:
客人
去向:
订单
包含的数据项:
预定人,,号,VIP
表1.14酒店客房管理系统的数据流——客人信息
数据流名称:
订单
来源:
订单
去向:
入住
包含的数据项:
订单编号,,性别,号,客户编号,客房类型,抵房时间,入住人数,预定人,,住几天,订单状态
表1.15酒店客房管理系统的数据流——订单
数据流名称:
客房信息
来源:
订单
去向:
退房
包含的数据项:
客房编号,客房类型,客房价格,客房状态
表1.16酒店客房管理系统的数据流——客房信息
数据流名称:
入住单
来源:
入住
去向:
退房
包含的数据项:
入住单号,客房编号,客房类型,入住时间,入住人数,,退房时间,订单编号,入住单状态
表1.17酒店客房管理系统的数据流——客户入住单
数据流名称:
帐单
来源:
管理员
去向:
退房
包含的数据项:
帐单编号,,消费金额,入住时间,退房时间,备注
表1.18酒店客房管理系统的数据流——账单
1.3.2.4数据存储
1、数据存储:
客房信息表
组成结构:
记录客房的基本信息,所属类型、房间号、位置等
输入数据流:
登记
输出数据流:
查询
说明:
要求能立即查询并修改
2、数据存储:
住宿信息表
说明:
记录客户入住的基本信息,如入住日期、预订房间号等
输入数据流:
登记
输出数据流:
查询
3、数据存储名称:
客户信息表
组成结构:
记录客户的基本信息,如证件号、、性别、籍贯等
输入数据流:
登记
输出数据流:
查询
说明:
要求能立即查询并修改
4、数据存储:
客房物品信息表
组成结构:
记录客房物品的基本信息,如物品编号、名称、单价、数量等
输入数据流:
更新并记录
输出数据流:
查询
说明:
要求能立即查询并修改
2、概念结构设计
2.1、引言
系统开发的总体目标是实现酒店客房预订管理的系统化和自动化,减少客户预订登记等待时间,减轻工作人员的工作量,方便工作人员对它的操作,提高管理的质量和水平,做到高效、智能化管理,从而达到提高客房管理、客户管理效率的目的。
主要任务是对管理员信息、客房基本信息、客房类型信息、入住信息、结算信息、客房状态信息的基本信息的操作及外理。
概念设计阶段主要是将需求分析阶段得到的用户需求抽象为信息结构(概念模型)的过程,它是整个数据库设计的关键。
2.2、标识图书管理系统中的实体和属性
参照数据字典中对数据存储的描述,可得到下面的结果:
管理员:
{工号,密码,类型,,性别,地址,,,部门}
客房:
{房间号,客房种类,客房位置,备注}
客房类型:
{标准面积,标准床数,标注收费,是否配有空调,是否配有电视,其他描述}
入住信息:
{入住房间号,入住客户,入住客户证件,订房日期,退帐金额}
客户信息:
{住址,籍贯,年龄,,证件号,证件类型,性别,客户号}
2.3.确定实体间的联系
图2.1管理员实体性
图2.2客房实体型
2.6酒店管理系统E-R图
3、逻辑结构设计阶段
3.1、引言
概念设计是独立于任何一种数据模型的信息结构。
逻辑结构设计的任务就是把概念设计阶段设计好的基本E-R图转换为与选用DBMS(本课程设计选用SQLServer2005)产品所支持的数据模型符合的逻辑结构。
3.2、酒店管理系统的关系模型
将在概念结构阶段得到的基本E-R图转换成关系模型,如下表所示:
关系名
属性及码
其他约束条件
管理员
工号,密码,,类型,性别,地址,,,部门
1、工号不允许为空且为主键;
2、用户密码不允许为空;
3、不允许为空
客房
房间号,类型代码,客房位置,备注
1、不允许为空;
2、类型代码不允许为空且引用客房类型表中的类型代码
客房类型
类型代码,类型名称,标准面积,标准床数,标准收费,是否配有空调,是否配有电视,其他描述
1、类型代码不允许为空;
2、类型名称不允许为空;
3、标准收费不允许为空
入住信息
入住房间号,入住客户号,入住客户证件,订房日期,结账金额
1、房间号和入住客户号不允许为空且共同组成主键并为外键;
2、订房日期和退房日期不允许为空
客户信息
客户号,,住址,籍贯,年龄,,证件号,证件类型,性别
1、号不允许为空;
2、号不允许为空;
3、不允许为空;
4、类型不允许为空
3.3、将关系设计成SQLServer2005下相应的表
USERS(管理员信息表)
字段名
字段含义
字段类型
长度
是否为空
列级约束
UID
用户编号
VARCHAR
50
NOTNULL
PRIMARYKET
UPASSWORD
用户密码
VARCHAR
50
NOTNULL
UPOWER
用户类型
INT
4
NULL
USEX
用户性别
BIT
1
NULL
UNAME
用户
VARCHAR
50
NOTNULL
UADDRESS
用户地址
VARCHAR
50
NULL
UTEL
用户
VARCHAR
50
NULL
UEMAIL
用户
VARCHAR
50
NULL
UDEPT
用户所在部门
VARCHAR
50
NULL
表级约束
GUESTROOM(客房信息表)
字段名
字段含义
字段类型
长度
是否为空
列级约束
RID
房间号
VARCHAR
50
NOTNULL
PRIMARYKEY
TYPE
客房种类
VARCHAR
50
NULL
RLOCATION
客房位置
VARCHAR
50
NULL
TNO
类型代码
INT
4
NOTNULL
FOREIGNKEYREFERENCESROOMTYPE(TON)
表级约束
ROOMTYPE(客房类型信息表)
字段名
字段含义
字段类型
长度
是否为空
列级约束
TNO
类型代码
Int
4
NOTNULL
PRIMARYKEY
Tname
类型名称
Varchar
50
NOTNULL
Tarea
房间标准面积
Float
8
NULL
TBed
房间标准床数
Int
2
NULL
TPrice
标准收费
Money
8
NOTNULL
TAirC
是否配备有空调
Bit
1
NULL
TTV
是否配备有电视
Bit
1
NULL
TDes
简单描述
Varchar
500
NULL
表级约束
OCCUPY(酒店入住信息表)
字段名
字段含义
字段类型
长度
是否为空
列级约束
RID
入住房间号
Varchar
50
NOTNULL
FOREIGNKEYREFERENCESGUESTROOM(RID)
CNO
入住客人
Varchar
50
NOTNULL
FOREIGNKEYREFERENCESCLIENTS(CNO)
OGid
入住客户号
Varchar
50
NULL
OBEGIN
定房日期
Datetime
8
NOTNULL
OENDD
退房日期
Datetime
8
NOTNULL
OPAY
结账额
Money
8
NULL
表级约束
PRIMARYKEY(RID,CNO)
CLIENTS(客户信息表)
字段名
字段含义
字段类型
长度
是否为空
列级约束
CNO
客户号
Varchar
50
NOTNULL
PRIMARYKEY
CNAME
Varchar
50
NOTNULL
CAGE
年龄
Varchar
50
NULL
CSEX
性别
Bit
1
NULL
CNAT
籍贯
Varchar
50
NULL
CADD
住址
Varchar
50
NULL
CCERT
证件类型
Int
2
NOTNULL
CERID
证件号
Varchar
50
NOTNULL
表级约束
4、总结和心得
通过此次数据库的课程设计,真正达到了学与用的结合,增强了对数据库方面应用的理解,对自己今后参与开发数据库系统积累了不少经验,在实验过程中,从建立数据开始,对数据库设计理念及思想上有更高的认识,从需求分析,到概念设计和逻辑设计,E-R图的表示,数据字典的创建,懂得了不少有关数据库开发过程中的知识,增强了自己在数据库中应用SQL语言的灵活性,其中包括,插入、删除、修改、查询,牵涉表和表之间的联系,主建与外主键的定义,约束项的设置,使逻辑更严密,在学习过程中,我也能过上网查了不少资料,也看了一些别人设计的旅馆管理信息系统的设计报告,学以致用,自我创新,独立完成了这份自己的报告,从中在学到用,从用又到学,不断修改,系统更新。
虽然不能达到完善系统,但也做到了尽善尽美,加强理论学习对完善系统会有很多帮助。