数据库酒店客房管理系统.docx

上传人:b****4 文档编号:4112624 上传时间:2022-11-28 格式:DOCX 页数:27 大小:407.03KB
下载 相关 举报
数据库酒店客房管理系统.docx_第1页
第1页 / 共27页
数据库酒店客房管理系统.docx_第2页
第2页 / 共27页
数据库酒店客房管理系统.docx_第3页
第3页 / 共27页
数据库酒店客房管理系统.docx_第4页
第4页 / 共27页
数据库酒店客房管理系统.docx_第5页
第5页 / 共27页
点击查看更多>>
下载资源
资源描述

数据库酒店客房管理系统.docx

《数据库酒店客房管理系统.docx》由会员分享,可在线阅读,更多相关《数据库酒店客房管理系统.docx(27页珍藏版)》请在冰豆网上搜索。

数据库酒店客房管理系统.docx

数据库酒店客房管理系统

河南城建学院

No.:

000000000000058571

《数据库原理及应用课程设计》

专业班级:

0834131

课程设计题目:

酒店客房管理系统

指导教师:

吴孝丽苏靖枫

学生学号:

083413135

学生姓名:

本小组合作者:

 

计算机科学与工程学院

2015年6月

 

1需求分析阶段

1.1概述

进行数据库系统设计,首先要对系统的现状进行分析,明确自己酒店客房管理系统课程设计所要实现的目标、需求和功能,制定和选择一个较好的系统方案,有计划,有头绪,有思路,不能盲目的就着手去做,从而达到一个合理的优化系统。

需求分析在于弄清这次课程设计的酒店管理系统的确切要求,因此,数据库课程设计的第一步就是明确数据库的目的和如何使用该系统。

明确目的之后,才可以确定自己需要保存那些表信息,以及每个表中需要保存哪些字段。

对于酒店客房管理系统,需要了解以下内容:

1.了解酒店客房管理的基本内容;

2.综合的理解酒店客房管理各身份层次的不同需求;

3.了解酒店客房管理的基本业务流程;

4.了解酒店客房人工管理模式与信息系统的工作概况,以及它们之间的区别;

5.通过网上查阅资料以及翻阅相关书籍,了解用户对酒店客房管理系统的业务要求,安全性和完整性要求;

1.2需求阶段的目标及任务

(1)处理对象

房客基本信息(Customer):

房客编号,房客身份证号,房客姓名,房客性别,房客电话;

房间基本信息(Room):

房间编号,房间类型号,房间位置(楼层),房间描述(朝向);

房间类型信息(RoomType):

房间类型号,房间类型名,房间面积,房间价格;

客房业务历史记录信息(History):

房客编号,房客身份证号,房客姓名,房客电话,房间编号,消费金额,入住时间,退房时间;

客房业务信息(RoomOperation):

房客编号,房客身份证号,房间编号,入住时间;

房间状态信息(RoomStatus):

房间编号,房间状态(有人/未住)。

(2)处理功能及要求

系统对酒店客房管理系统的功能及要求如下:

①能够存储一定数量的房客信息,并方便有效的进行相应的房客数据操作和管理,这主要包括:

·房客信息的录入,删除和修改;

·房客信息的关键字检索查询。

②能够对房客的入住信息,换房信息,退房信息,进行相应的操作,这主要包括:

·房客入住,换房,退房的登记,删除及修改;

·房客住房历史信息的删除、修改;

·房客住房金额的统计与查询。

③能够提供一定的安全机制,提供数据信息授权访问,修改和删除,防止随意查询,修改及删除。

④对查询、统计的结果能够列表显示。

1.3安全性和完整性要求

(1)安全性要求

系统安全性要求体现在数据库安全性、信息安全性和系统分平台的安全性等方面。

安全性之基础的是通过视图机制,不同用户只能访问系统授权的视图,这样可以提供系统数据一定程度上的安全性。

系统平台的安全性体现在操作系统的安全性、计算机系统的安全性和网络体系的安全性等方面。

(2)完整性要求

系统完整性要求系统中数据的正确性以及相容性。

可通过建立主、外键,使用unique约束,或者使用触发器更新。

1.4建立数据业务流程及数据字典

(1)酒店客房管理系统业务流程图(如图1)

图1酒店客房管理系统业务流程图

(2)酒店客房管理系统数据字典

①数据项:

系统涉及的数据项有16项,如表1所示

表1数据项列表

数据项编号

数据项名

数据项含义

存储结构

别名

DI-01

CuName

房客姓名

NVARCHAR(10)

姓名

DI-02

CuNo

房客编号

NCHAR(6)

房客号

DI-03

CuSex

房客性别

NCHAR

(2)

性别

DI-04

RoomNo

房间号

NCHAR(6)

房间号

DI-05

CuPhone

房客电话

NVARCHAR(20)

电话

DI-06

CuCard

房客身份证

NVARCHAR(20)

身份证

DI-07

TypeNo

房间类型号

NCHAR(6)

类型号

DI-08

RoomFloor

房间楼层

NVARCHAR(10)

位置

DI-09

RoomStatus

房间状态

NVARCHAR(10)

状态

DI-10

TypeName

房间类型名称

NVARCHAR(10)

类型名

DI-11

TypeArea

房间面积

NVARCHAR(10)

面积

DI-12

TypePrice

房间价钱

INT

价钱

DI-13

Descripiption

房间描述

NVARCHAR(20)

描述

DI-14

Price

房客消费

INT

消费

DI-15

IntoTime

入住时间

DATETIME

入住时间

DI-16

OutTime

退房时间

DATETIME

退房时间

数据结构,如表2所示。

表2数据结构列表

数据结构编号

数据结构名

数据结构含义

组成

DS-1

Customer

房客信息

CuNo,CuName,CuPhone,CuSex,CuCard

DS-2

Room

房间信息

RoomNo,TypeNo,

RoomFloor,

Descripiption

DS-3

RoomType

房间类型

TypeNo,TypeName,

TypeArea,TypePrice

DS-4

History

业务记录信息

CuNo,CuName,CuPhone,

CuCard,Price,OutTime,RoomNo

DS-5

RoomStatus

房间状态

RoomNo,RoomStatus

DS-6

RoomOperation

客房业务信息

RoomNo,CuNo,CuCard,

IntoTime

 

2概念分析阶段

图2酒店客房管理系统全局E-R图

上述E-R图各实体的属性如下所示:

房客基本信息:

Customer(CuNo,CuCard,CuName,CuSex,CuPhone)

房间基本信息:

Room(RoomNo,TypeNo,RoomFloor,Description)

房间类型信息:

RoomType(TypeNo,TypeName,TypeArea,TypePrice)

客房业务历史记录信息:

History(CuNo,CuCard,CuName,CuPhone,RoomNo,Price,IntoTime,OutTime)

客房业务信息:

RoomOperation(CuNo,CuCard,RoomNo,IntoTime)

房间状态信息:

RoomStatus(RoomNo,Status)

数据库关系图:

3逻辑设计阶段

以上的概念设计阶段是独立于任何一种数据模型的,但是逻辑设计阶段就与选用的数据库管理系统(DBMS)产品发生关系了,系统逻辑设计的任务就是将概念设计阶段设计好的基本E-R图转换为选用DBMS产品所支持的数据模型相符合的逻辑结构。

具体内容包括数据组织(将E-R图转换成关系模型、模型优化、数据库模式定义、用户子模式设计)、数据处理(画出系统功能模块图)两大任务。

3.1数据组织

(1)将E-R图转换为关系模型

实体型转换为关系模式。

实体的属性就是关系的属性,实体的码就是关系的码。

对于实体间的联系则有以下不同的情况:

一个m:

n联系转换为一个关系模式。

与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合。

一个1:

n联系可以转换为一个独立的关系模式,也可以与n端对应的关系模式合并。

如果转换为一个独立的关系模式,则与该联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为n端实体的码。

一个1:

1联系可以转换为一个独立的关系模式,也可以与任意一端对应的关系模式合并。

三个或三个以上实体间的一个多元联系可以转换为一个关系模式。

与该多元联系相连的各实体的码以及联系本身的属性均转换为关系的属性,而关系的码为各实体码的组合具有相同码的关系模式可合并。

例如房间信息与房间类型信息之间是1:

n的关联。

可以将其之间的联系转化为独立的关系模式,具体的基本E-R图向关系模型的转化如下:

房客基本信息:

Customer(CuNo,CuCard,CuName,CuSex,CuPhone)

房间基本信息:

Room(RoomNo,TypeNo,RoomFloor,Description)

房间类型信息:

RoomType(TypeNo,TypeName,TypeArea,TypePrice)

客房业务历史记录信息:

History(CuNo,CuCard,CuName,CuPhone,RoomNo,Price,IntoTime,OutTime)

客房业务信息:

RoomOperation(CuNo,CuCard,RoomNo,IntoTime)

房间状态信息:

(RoomNo,Status)

(注:

标有直线下划线的为主属性,标有波浪线下划线的是外键属性)

(2)模型优化

第一范式要求每一列的项不可分割,酒店管理系统的六个表都满足了1NF;简单理解,第二范式要求每个表所描述的是一件事,例如在Room表中如果加上房间状态Status,则Room表就不满足2NF了,它包括了房间信息和房间是否有房客入住的信息两个事件,所以就有了RoomStatus表;第三范式要求,每一项都不传递依赖,如果Room表中再加上房间类型名,则TypeName通过Room中的TypeNo传递依赖于RoomNo,所以有了RoomType表。

现在六张表都达到了3NF。

(3)数据库模式定义

根据分析,本数据库共创建了6个表,如表3~表8所示

表3房客信息表

列名

数据类型

可否为空

说明

CuNo

NCHAR

NOTNULL

房客编号

CuName

NVARCHAR

NOTNULL

房客姓名

CuSex

NCHAR

房客性别

CuPhone

NVARCHAR

电话

CuCard

NVARCHAR

NOTNULL

身份证

 

表4房间信息表

列名

数据类型

可否为空

说明

RoomNo

NCHAR

NOTNULL

房间号

TypeNo

NCHAR

NOTNULL

类型号

RoomFloor

NVARCHAR

位置

Description

NVARCHAR

描述

表5房间类型信息表

列名

数据类型

可否为空

说明

TypeNo

NCHAR

NOTNULL

类型号

TypeName

NVARCHAR

NOTNULL

类型名

TypeArea

NVARCHAR

NOTNULL

面积

TypePrice

INT

价钱

表6客房业务表

列名

数据类型

可否为空

说明

CuNo

NCHAR

NOTNULL

房客编号

RoomNo

NCHAR

房间号

IntoTime

DATETIME

入住时间

CuCard

NVARCHAR

NOTNULL

身份证

表7业务记录表

列名

数据类型

可否为空

说明

CuNo

NCHAR

房客编号

CuCard

NVARCHAR

身份证

CuPhone

NVARCHAR

电话

CuName

NVARCHAR

姓名

RoomNo

NCHAR

NOTNULL

房间号

Price

INT

消费金额

IntoTime

DATETIME

入住时间

OutTime

DATETIME

退房时间

表8房间状态表

列名

数据类型

可否为空

说明

RoomNo

NCHAR

NOTNULL

房间号

Status

NVARCHAR

状态

(4)用户子模式定义,如表9~12。

表9房间基本信息视图

列名

数据类型

可否为空

说明

RoomNo

NCHAR

NOTNULL

房间号

TypeName

NCHAR

NOTNULL

类型号

RoomFloor

NVARCHAR

位置

TypePrice

INT

价钱

 

表10退房房客基本信息视图

列名

数据类型

可否为空

说明

CuName

NVARCHAR

姓名

CuSex

NCHAR

房客性别

CuCard

NVARCHAR

NOTNULL

身份证

CuPhone

NVARCHAR

电话

OutTime

DATETIME

退房时间

 

表11空房间基本信息视图

列名

数据类型

可否为空

说明

RoomNo

NCHAR

NOTNULL

房间号

TypeName

NCHAR

NOTNULL

类型号

RoomFloor

NVARCHAR

位置

TypePrice

INT

价钱

 

表12房客基本信息视图

列名

数据类型

可否为空

说明

CuName

NVARCHAR

姓名

CuSex

NCHAR

房客性别

CuCard

NVARCHAR

NOTNULL

身份证

CuPhone

NVARCHAR

电话

 

3.2数据处理

酒店客房管理系统

房客管理

房间管理

类型管理

增加房间

删除房间

查询

住房

换房

退房

修改信息

图3系统功能模块图

4物理设计阶段

数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段中要完成两大任务:

(1)确定数据库的物理结构,在关系数据库中主要是存取方法和存储结构;

(2)对物理结构进行评价,评价的重点是时间和空间效率。

4.1数据存储方面

为数据库中各基本表建立的索引如下:

由于基本表History、Customer的CuName、CuCard在现实生活中经常在查询条件中出现,在两个属性上建立索引。

4.2系统功能模块

实现对房间信息,房客信息的查询、添加、删除操作,功能模块见图3。

5数据实施阶段

5.1建立数据库、数据表、视图、索引

(1)建立数据库

Createdatabase酒店客房管理系统

(2)建立数据表

1房客基本信息表的建立:

CREATETABLECustomer(

CuNoNCHAR(6)PRIMARYKEY,--房客编号

CuCardNVARCHAR(20)UNIQUENOTNULL,--身份证

CuNameNVARCHAR(10)NOTNULL,--房客姓名

CuSexNCHAR

(2),--房客性别

CuPhoneNVARCHAR(20),--电话

②房间基本信息表的建立:

CREATETABLERoom(

RoomNoNCHAR(6)PRIMARYKEY,--房间号

TypeNoNCHAR(6)NOTNULL,--房间类型号

RoomFloorNVARCHAR(10),--房间位置

DescriptionNVARCHAR(20)--房间描述

③房间类型基本信息表的建立:

CREATETABLERoomType(

TypeNoNCHAR(6)PRIMARYKEY,--房间类型号

TypeNameNVARCHAR(10)NOTNULL,--类型名称

TypeAreaNVARCHAR(10),--房间面积

TypePriceINTNOTNULL--房间价钱

④业务记录基本信息表的建立:

CREATETABLEHistory(

CuNoNCHAR(6),--房客编号

CuCardNVARCHAR(20)UNIQUENOTNULL,--身份证

CuNameNVARCHAR(10),--姓名

CuPhoneNVARCHAR(20),--电话

RoomNoNCHAR(6),--房间号

Priceint,--消费金额

IntoTimeDATETIME,--入住时间

OutTimeDATETIME,--退房时间

PRIMARYKEY(IntoTime,RoomNo)

客房业务基本信息表的建立

CREATETABLERoomOperation(

CuNoNCHAR(6)PRIMARYKEY,--房客编号

RoomNoNCHAR(6),--房间号

IntoTimeDATETIME,--入住时间

CuCardNVARCHAR(20)UNIQUENOTNULL--身份证

房间状态基本信息表的建立

CREATETABLERoomStatus(

RoomNoNCHAR(6)PRIMARYKEY,--房间号

StatusNVARCHAR(6)--状态

(3)建立视图

用于查询房间基本信息的视图

createviewRoomview(房间号,房间类型,位置,价钱)

as

selectRoomNo,TypeName,RoomFloor,TypePrice

fromRoom,RoomType

whereRoom.TypeNo=RoomType.TypeNo

用于查询退房房客基本信息的视图

createviewCustomerview(姓名,性别,身份证,电话,退房时间)

as

selectCustomer.CuName,CuSex,Customer.CuCard,Customer.CuPhone,History.OutTime

fromHistory,Customer

whereCustomer.CuNo=History.CuNo

用于查询未住人的客房信息

createviewRoomnopeople(房间号,类型,位置,价钱)

as

selectRoom.RoomNo,TypeName,RoomFloor,TypePrice

fromRoom,RoomStatus,RoomType

whereStatus='未住'andRoom.RoomNo=RoomStatus.RoomNoandRoom.TypeNo=RoomType.TypeNo

用于查询房客基本信息的视图

createviewShowCustomerview(姓名,性别,身份证,电话)

as

selectCuName,CuSex,CuCard,CuPhone

fromCustomer

(4)建立索引

建立业务记录信息上的房客姓名索引

createindexi_HistoryonHistory(CuName)

建立房客信息上的身份证索引

createindexi_CustomeronCustomer(CuCard)

(5)建立存储过程

添加新的房间存储过程的建立:

createprocp_InsertRoom

@RoomNonchar(6),@TypeNonchar(6),@RoomFloornvarchar(10),@Descriptionnvarchar(20),@Statusnvarchar(6)='未住'

as

insertintoRoomvalues(@RoomNo,@TypeNo,@RoomFloor,@Description)

insertintoRoomStatusvalues(@RoomNo,@Status)

根据房间类型获取未住房间信息的存储过程的建立:

createprocp_ShowRoom

@TypeNonchar(6),@Statusnvarchar(6)='未住'

as

selectRoom.RoomNo,Room.RoomFloor,Room.Description,RoomType.TypeArea,RoomType.TypeName,RoomType.TypePrice

fromRoom,RoomType,RoomStatus

whereRoom.TypeNo=@TypeNoandStatus=@StatusandRoom.TypeNo=RoomType.TypeNoandRoom.RoomNo=RoomStatus.RoomNo

-根据房间号查询房间信息的存储过程的建立

createprocp_GetRoom

@RoomNonchar(6)

as

selectRoom.RoomNo,RoomFloor,Description,TypeName,TypeArea,TypePrice

fromRoom,RoomType

whereRoom.TypeNo=RoomType.TypeNoandRoom.RoomNo=@RoomNo

新的房客入住时的存储过程的建立

createprocp_AddCustomer

@CuNonchar(6),@RoomNOnchar(6),@CuNamenvarchar(10),@CuSexnchar

(2),@CuCardnvarchar(20),@CoPhonenvarchar(20),@IntoTimedatetime

as

updateRoomStatussetStatus='有人'

whereRoomNo=@RoomNo

if(selectCOUNT(*)fromCustomerwhereCuNo=@CuNo)=0

begin

insertintoCustomervalues(@CuNo,@CuCard,@CuName,@CuSex,@CoPhone)

end

else

begin

updateCustomersetCuCard=@CuCard,CuName=@CuName,CuSex=@CuSex,CuPhone=@CoPhone

whereCuNo=@CuNo

end

insertintoRoomOperation

values(@CuNo,@RoomNO,@IntoTime,@CuCard)

根据姓名信息查询房客具体信息的存储过程的建立

createprocp_Customer-

@CuNamenvarchar(10)='%'

as

select*fromCu

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 农林牧渔 > 林学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1