客房管理数据库设计与实现.docx
- 文档编号:24938715
- 上传时间:2023-06-03
- 格式:DOCX
- 页数:31
- 大小:773.09KB
客房管理数据库设计与实现.docx
《客房管理数据库设计与实现.docx》由会员分享,可在线阅读,更多相关《客房管理数据库设计与实现.docx(31页珍藏版)》请在冰豆网上搜索。
客房管理数据库设计与实现
课程设计(论文)
课程名称:
数据库系统分析和设计
题目:
客房管理数据库设计和实现
院(系):
专业班级:
姓名:
学号:
指导教师:
2012年12月24日
西安建筑科技大学课程设计(论文)任务书
专业班级:
学生姓名:
指导教师(签名):
一、课程设计(论文)题目
客房管理系统数据库设计和实现
二、本次课程设计(论文)应达到的目的
数据库系统分析和设计课程设计是信息管理和信息系统专业集中实践性环节之一,是学习完《数据库数据库系统原理及技术》及《数据库系统分析和设计》课程后进行的一次全面的综合练习。
其目的在和加深对数据库基础理论和基本知识的理解,掌握借助PowerDesigner开发和设计一个小型数据库系统时设计数据库系统模型的基本方法,提高运用数据库解决实际问题的能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术参数、设计要求等)
要求学生能独立完成一个数据库模型的设计和实现,包括:
1)数据库系统需求分析;
2)数据库概念模型设计;
3)数据库逻辑模型设计;
4)数据库物理模型的实现;
5)完成不少于6000字的课程设计报告撰写。
四、应收集的资料及主要参考文献:
[1]王珊,萨师煊.数据库系统概论(第4版).北京:
高教出版社,2006年5月.
[2]赵韶平等.PowerDesigner系统分析和建模(第2版).北京:
清华大学出版社,2010.
[3]DataModelingandRelationalDatabaseDesign.OracleInc.2001.
五、审核批准意见
教研室主任(签字)
摘要
随着社会的发展,人们生活水平不断提高,旅游经济不停发展,这一切都带动了酒店业的发展。
现在不仅有旅游业的发展,还有各种跨地域的商务活动。
随着人员流动的规模不断扩大,宾馆酒店的数量不断增加,关于客房的信息量也在不断增长,导致传统的客房管理系统已不能满足现在管理客房的及时、准确、全方位的需要。
为了提高工作效率,促进经济的增长,需要借助计算机进行现代化的数据管理。
此次数据库设计利用powerdesigner这个建模工具,经过系统需求分析,了解确定该系统的功能结构、业务流程和内部数据流程问题,建立系统数据库的概念模型,并且转换为逻辑模型和物理模型,最终实现物理模型和数据库的连接,建立满足用户需求的数据库,为整个管理信息系统的后续建设和维护打好基础
关键字:
需求分析,概念模型,逻辑模型,物理模型,数据库
1绪论
1.1系统简介
每个酒店、宾馆的规模不同,有时的系统要求也会不一样。
但是对于主要经营住房型的酒店而言,他的系统要求和其他差不多都是一样的,他们的组织机构也差不多是相同的,在客房管理系统中主要是对客房信息、房间备品信息、经营情况、营业统计、客户的入住信息、员工信息、客户信息反馈、客户网上订房信息、房间类型等进行管理。
这样,对客户和工作人员都带来了方便。
对客户而言,他们可以在网上就查到酒店客房的类型,价格等等;真正对于工作人员来讲,可以让工作人员及时了解到关于客房的所有信息,比如还剩余多少房间、哪些顾客需要结账了,避免一些不必要的差错,提高他们的工作效率。
1.2设计目的
这次是利用Powerdesigner进行数据库的设计和实现,完成对客房管理系统的数据库设计和实现。
客房管理系统的目的是实现电子信息化,利用数据库的实现对客房的管理,在这个系统中,主要任务是:
(1)真正做到为用户服务,按照客房管理工作的基本流程设计出符合要求的数据库
(2)该系统主要面对的用户是客房的工作人员,要实现方便、快捷、简单、便于操作
(3)提供一些基本功能,比如查询、修改等功能,以提高工作效率,实现信息化
1.3设计内容
根据客房管理系统的要求内幕的而言,在这个系统中观要实现
(1)系统的需求分析
(2)概念模型的设计
(3)逻辑模型的设计
(4)物理模型的设计
(5)数据库的实现
2需求分析
2.1.需求分析的任务
进行整个数据库设计必须准确了解和分析用户需求(包括数据和处理)。
需求分析是整个设计过程的基础,是最困难、最耗费时间的一步。
作为地基的需求分析是否做得充分和准确,决定了在其上构建数据库大厦的速度和质量。
需求分析的任务是通过详细调查现实世界要处理的对象(组织、部门、企业等),充分了解原系统(手工系统或计算机系统)工作概况,明确用户的各种需求,然后在此基础上确定新系统的功能。
需求分析调查的重点是“数据”和“处理”,通过调查、收集和分析,获得用户对数据库的如下需求:
(1)信息需求。
指用户需要从数据库中获得信息的内容和性质。
由信息要求可以导出数据要求,即在数据库中需要存储哪些数据。
(2)处理要求。
指用户需要完成什么处理功能。
明确用户对数据有什么样的处理要求,从而确定数据之间的相互关系。
(3)安全性和完整性要求。
2.2系统数据流程分析
1)基本业务调查
通过网上调查、查阅相关的书籍、开座谈会、跟班作业等方法,对所设计系统的业务进行调查,明确其基本功能为:
实现订房信息的管理,比如:
添加、删除、修改、查询,前台管理,比如:
结账、登记等,还有
系统用户管理,比如修改密码、注册、管理等。
根据需求分析,整个系统可以分为二部分,分别为:
(1)前台查询
(2)后台管理
2)数据流程图
(1)前台查询数据流程图
(2)后台管理数据流程图
2.3数据字典
在数据流程图中,数据信息和处理过程需要通过数据字典才能描述清楚,因此在数据字典中主要对数据流程图中的数据流、数据存储和处理过程给出更详细、更准确的说明。
1)数据流定义
可以通过表格的形式给出数据流程图的主要数据流,如表2.1所示。
表2.1客房管理系统主要数据流定义
序号
名称
位置
结构定义
最大数据流量
1
查询各种信息
工作人员→查询
客户信息+客房信息+客房状态信息
1000次/天
2
入住申请
顾客→入住登记
顾客编号+顾客姓名+顾客电话+客房编号
1000次/天
3
退房申请
顾客→退房登记
顾客编码+顾客姓名+客房编码+费用
1000次/天
4
传递信息
前台→信息存储
客户信息+客房信息+客房状态
1000次/天
5
收到信息
后台→修改信息
新的客户信息+新客房信息+新客房状态
1000次/天
6
新客户信息
后台→数据存储
顾客编码+顾客姓名+顾客电话+客房编码
1000次/天
7
新信息传递
修改信息→前台
新的客户信息+新客房信息+新客房状态
1000次/天
2)数据存储定义
可以采用如下表格的形式给出系统的主要数据定义,如表2.2所示。
表2.2客房管理系统主要数据存储定义
编号
名称
输入
输出
数据量
存取频度
存取方式
说明
D1
客户信息表
客户编号
客户详细信息
2500条
2500次/天
联机处理;检索和更新;随即检索
客户编号唯一
D2
客房信息表
客房编号
客房详细信息
2500条
2500次/天
联机处理;检索和更新;随即检索
客房编号唯一
D3
预订信息表
预定编号
预定详细信息
2500条
2500次/天
联机处理;检索和更新;随即检索
预定编号唯一
D4
入住信息表
入住编号;
房间号;
客户编号
入住详细信息
1500条
2000次/天
联机处理;检索和更新;随即检索
入住编号唯一
D5
消费结算表
账单编号;客户号;消费总额
消费结算详细信息
1500条
1500次/天
联机处理;检索和更新;随即检索
账单编号唯一
D6
退房信息
退房编号;顾客编号;客房编号
退房详细信息
1500条
1500次/天
联机处理;检索和更新;随即检索
退房编号唯一
3)处理过程
可以采用如下表格的形式给出系统的主要处理过程定义,如表2.3所示。
表2.3客房管理系统主要处理过程定义
序号
处理过程名称
输入
输出
处理说明
P1.1
查询
查询条件
和之相符的数据
在系统存储的信息中检索符合要求的信息记录并输出
P1.2
入住登记
顾客编号;客房编号
顾客的入住信息
在客户信息表和客房信息表、客房状态信息中增加数据
P1.3
退房登记
顾客编号;客房编号
顾客的所有信息
在客户信息表和客房信息表、客房状态信息中删除数据
P1.4
结算
顾客编号
顾客的消费信息
在消费结算表中得到所消费的金额
P2.1
信息存储
新加入信息
所有信息
将新加入的信息传递给后台,进行信息的统一存储
P2.2
修改信息
要修改的信息
修改后的信息
将要修改的信息传递给后台进行数据修改
P2.3
数据备份
要备份的信息
备份后的信息
将信息传递给后台进行数据备份
3概念模型设计
3.1概念模型设计的方法和步骤
(1)根据需求分析,确定系统中的实体及属性,根据上面的分析,在这个系统中,确定了10个实体
1 顾客(顾客编号,顾客姓名,身份证号,顾客性别,顾客电话,顾客地址,预交款,余额)
2 客房基本信息(客房编号,客房类型,客房价格,客房楼层,备注)
3 客房状态信息(客房编号,顾客编号,入住时间,退房时间,入住价格)
4 员工(员工编号,部门编号,员工姓名,员工性别,员工电话,员工住址)
5 部门(部门编号,部门名称,部门电话,部门地址)
6 入住信息(入住编号,入住时间,入住人数,备注)
7 退房信息(退房编号,退房时间,备注)
8 消费项目基本信息(消费编号,消费类型,消费价格,备注)
9 订单信息(订单编号,入住时间,离开时间,人数)
10 楼层信息(楼层编号,楼层名称,备注)
并利用powerdesigner创建这些实体,如下图所示:
(2)建立实体之间的联系
1 楼层信息和客房基本信息:
一对多,一个楼层可有有多个客房,一个客房只能属于一个楼层
2 客房基本信息和员工:
多对多,一个客房可以有多个员工工作,而且一个员工可以工作于多个客房
3 部门和员工:
一对多,一个部门可以有多个员工,一个员工只能属于一个部门
4 客房基本信息和客房状态信息:
一对一,一个客房只能有一个状态信息,一个状态信息也只能对应一个客房
5 客房状态信息和订单信息:
多对一,一个状态信息只能对应一个订单,一个订单可以对应多个客房状态
6 顾客和订单信息:
一对多,一个顾客可以有多个订单,但一个订单只能对应一个顾客
7 顾客和入住信息:
一对一,一个顾客只能有一个入住信息,一个入住信息只能对应一个顾客
8 顾客和退房信息:
一对一,一个顾客只能有一个退房信息,一个退房信息只能对应一个顾客
9 顾客和消费项目基本信息:
多对多,一个顾客可以有多个消费项目,一个消费项目也可以被多个顾客消费。
最后利用powerdesigner完成实体间关系
3.2系统概念模型
利用powerdesigner完成所涉及的概念模型
客房管理CDM
4逻辑模型设计
4.1逻辑模型设计的方法
(1)打开CDM模型,选择Tools→GenerateLogicalDataModel命令,打开如下图所示的LDMGenerationOptions窗口。
(2)选择Detail选项卡,进行设置
(3)选择Selection选项,可以选择CDM、实体,如图所示:
(4)按“确定”,开始生成LDM
4.2逻辑模型实现
客房管理LDM模型
4.3数据完整性约束定义
根据上面的关系模式,数据库的完整性约束如下所示:
1)实体完整性约束
(1)楼层信息(楼层编号)
(2)客房基本信息(客房编号,楼层编号)
(3)员工(员工编号,部门编号)
(4)部门(部门编号)
(5)订单信息(订单编号,顾客编号)
(6)客房状态信息(客房编号,订单编号)
(7)顾客(顾客编号)
(8)入住信息(入住编号,)
(9)退房信息(退房编号,)
(10)消费项目基本信息(消费编号)
2)参照完整性约束
3)用户自定义完整性约束
(1)员工编号like'[0-9][0-9][0-9][0-9][0-9][0-9]'
(2)部门编号like'[0-9][0-9][0-9][0-9]'
(3)楼层编号like'F[0-9][0-9][0-9][0-9]'
(4)订单编号like'[1-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'
5物理数据库模型设计和实现
5.1物理数据库模型的图示
由CDM生成PDM的过程和生成LDM的过程有些类似,生成PDM模型如下所示:
5.2物理数据库模型的详细表示
(1)listofdiagram
Name
Code
Diagram_1
Diagram_1
(2)listoftablecolums
Name
Code
消费编号
Co-Id
消费类型
Co_type
消费价格
Co_price
员工编号
S_Code
部门编号2
D_Code
部门编号
Depart_Code
员工住址
S_Adress
员工姓名
S_Name
员工性别
S_Sex
员工电话
S_tel
客房编号2
Room_Code
客房编号
R_Code
顾客编号
C_Code
入住时间
I_time
订单编号
Order_code
退房时间
L_time
入住价格
price
楼层编号
F_Code
楼层名称
F_Name
备注
BeiZhu
订单编号
Order_code
顾客编号
Client_code
入住时间
In_Time
退房时间
L_time
人数
count
客房编号
Room_Code
楼层编号
F_Code
客房类型
Room_Type
客房价格
Room_Price
客房楼层
Room_Floor
备注
BeiZhu
顾客编号
Client_code
退房编号
Tui_Code
入住编号
In_Code
顾客姓名
Client_name
身份证号
ID
顾客性别
Client_sex
顾客电话
Client_tel
顾客地址
Client_adress
预交款
Pre_money
余额
Balance
入住编号
In_Code
顾客编号
Client_code
入住时间
In_Time
入住人数
In_count
备注
BeiZhu
退房编号
Tui_Code
顾客编号
Client_code
退房时间
Tui_time
备注
BeiZhu
员工编号
S_Code
客房编号
Room_Code
顾客编号
Client_code
(3)listofrefenences
Name
Code
ParentTable
ChildTable
1
1
楼层信息
客房基本信息
4
4
订单信息
客房状态信息
7
7
顾客
订单信息
beleft
beleft
退房信息
顾客
belivedin
belivedin
入住信息
顾客
beowedby
beowedby
顾客
6
have
have3
消费项目基本信息
6
have
have2
员工
3
have
have
客房基本信息
客房状态信息
leave
leave
顾客
退房信息
live
live
顾客
入住信息
ordered
ordered
客房基本信息
3
response
response
客房状态信息
客房基本信息
(4)listoftables
Name
Code
3
3
6
6
入住信息
入住信息
员工
员工
客房基本信息
客房基本信息
客房状态信息
客房状态信息
楼层信息
楼层信息
消费项目基本信息
消费项目基本信息
订单信息
订单信息
退房信息
退房信息
顾客
顾客
5.3物理数据库模型的实现
SQL语句如下:
createtable3(
S_Codeintnotnull,
Room_Codeintnotnull,
constraintPK_3primarykey(S_Code,Room_Code)
)
go
createindexhave2_FKon3(
S_CodeASC
)
go
createindexordered_FKon3(
Room_CodeASC
)
go
createtable6(
Client_codeintnotnull,
"Co-Id"intnull,
constraintPK_6primarykey(Client_code)
)
go
createindexhave3_FKon6(
"Co-Id"ASC
)
go
createtable入住信息(
In_Codeintnotnull,
Client_codeintnull,
In_Timedatetimenull,
In_countintnull,
BeiZhuvarchar(50)null,
constraintPK_入住信息primarykeynonclustered(In_Code)
)
go
createindexlive_FKon入住信息(
Client_codeASC
)
go
createtable员工(
S_Codeintnotnull,
D_Codeintnull,
Depart_Codeintnull,
S_Adressvarchar(50)null,
S_Namechar(10)null,
S_Sexchar
(2)null,
S_telintnull,
constraintPK_员工primarykeynonclustered(S_Code)
)
go
createtable客房基本信息(
Room_Codeintnotnull,
F_Codechar(20)null,
R_Codeintnull,
Room_Typechar(10)null,
Room_Pricemoneynull,
Room_Floorchar(20)null,
BeiZhuvarchar(50)null,
constraintPK_客房基本信息primarykeynonclustered(Room_Code)
)
go
createindex1_FKon客房基本信息(
F_CodeASC
)
go
createindexresponse_FKon客房基本信息(
R_CodeASC
)
go
createtable客房状态信息(
Room_Codeintnull,
R_Codeintnotnull,
C_Codeintnull,
I_timedatetimenull,
Order_codeintnull,
L_timedatetimenull,
pricechar(10)null,
constraintPK_客房状态信息primarykeynonclustered(R_Code)
)
go
createindexhave_FKon客房状态信息(
Room_CodeASC
)
go
createindex4_FKon客房状态信息(
Order_codeASC
)
go
createtable楼层信息(
F_Codechar(20)notnull,
F_Namechar(20)null,
BeiZhuvarchar(50)null,
constraintPK_楼层信息primarykeynonclustered(F_Code)
)
go
createtable消费项目基本信息(
"Co-Id"intnotnull,
Co_typechar(20)null,
Co_pricechar(10)null,
constraintPK_消费项目基本信息primarykey("Co-Id")
)
go
createtable订单信息(
Order_codeintnotnull,
Client_codeintnull,
In_Timedatetimenull,
L_timedatetimenull,
countintnull,
constraintPK_订单信息primarykeynonclustered(Order_code)
)
go
createindex7_FKon订单信息(
Client_codeASC
)
go
createtable退房信息(
Tui_Codeintnotnull,
Client_codeintnull,
Tui_timedatetimenull,
BeiZhuvarchar(50)null,
constraintPK_退房信息primarykeynonclustered(Tui_Code)
)
go
createindexleave_FKon退房信息(
Client_codeASC
)
go
createtable顾客(
Client_codeintnotnull,
Tui_Codeintnull,
In_Codeintnull,
Client_namechar(20)null,
IDchar(20)null,
Client_sexchar
(2)null,
Client_telintnull,
Client_adressvarchar(20)null,
Pre_moneyintnull,
Balanceintnull,
constraintPK_顾客primarykeynonclustered(Client_code)
)
go
createindex"belivedin_FK"on顾客(
In_CodeASC
)
go
createindex"beleft_FK"on顾客(
Tui_CodeASC
)
go
altertable3
addconstraintFK_3_HAVE2_员工foreignkey(S_Code)
references员工(S_Code)
go
altertable3
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 客房 管理 数据库 设计 实现