酒店客房管理系统数据库设计

合集下载

数据库课程设计宾馆客房信息管理系统

数据库课程设计宾馆客房信息管理系统

数据库课程设计宾馆客房信息管理系统(总34页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March一、设计内容与设计要求1.设计内容:数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。

因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。

下面是各个设计阶段的具体内容。

⒈系统需求分析需求分析是数据库系统设计的一个重要的环节。

本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。

用户对数据库的需求包括:⑴处理需求。

即用户要完成什么处理功能等。

学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。

⑵信息需求。

即在数据库中需要存储哪些数据。

学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。

⑶安全性和完整性功能。

实践中这是一个需要与用户不断交流才能逐步确定的需求。

本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。

本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。

⒉数据库的概念设计数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型。

本课程设计要求学生采用E-R方法进行数据库的概念设计。

本设计阶段可分为:● 数据抽象。

即根据需求分析的结果,抽取出与本课程设计相关的特性。

酒店客房数据库设计

酒店客房数据库设计

酒店客房数据库设计1.系统概述1.1 酒店数据库开发前言随着计算机技术的飞速发展,信息时代的到来,信息改变了我们这个社会。

各类行业在日常经营管理各个方面也在悄悄地走向规范化和网络化。

作为计算机及网络应用的一部分,使用计算机对客房信息进行管理,具有手工管理所无法比拟的优点。

例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。

这些优点能够极大地提高客房经营管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。

且办事效率也是决定收入的一个关键因素。

现代化的酒店组织庞大、服务项目多、信息量大,使用传统人工的方式管理文件档案,这种管理方式几乎是不可能实现的。

要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来对酒店客房进行现代化的信息管理。

所以就必须建立一个合适高效的酒店客房信息的数据库。

1.2 可行性分析现代化的酒店组织庞大、服务项目多、信息量大,要想提高劳动生产、降低成本、提高服务质量和管理水平,进而促进经济效益,必须借助计算机来进行现代化的信息管理。

一直以来人们使用传统人工的方式管理文件档案,这种管理方式存在着许多弊端,如:效率低、保密性差,容易出现差错等,且对于查询空房间及已定房间等极为不方便。

所以在工作效率方面来说建立一个这样的系统是完全可行的。

另外,客房管理系统是酒店经营管理中不可缺少的部分,它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。

在酒店客房管理系统的主要任务是对酒店的客房进行管理,使用户能轻松地找到所需要的客房信息,提供订房和退房服务,并对酒店客房的业绩进行统计。

通常,酒店客房管理系统的数据库主要记录以下几个方面的信息。

(1) 记录用户信息:对酒店客房管理系统的使用员工进行管理,包括对员工的基本信息(如用户姓名、所属部门、用户类型等)进行检索、录入和修改。

酒店客房管理系统数据库设计

酒店客房管理系统数据库设计

酒店客房管理系统数据库设计一.概述酒店客房管理系统的主要任务是对酒店的客房进行管理,使用户能轻松地找到所需要的客房信息,提供订房和退房服务,并对酒店客房的业绩进行统计。

图1是一个典型的酒店客房管理系统的界面。

图1 典型的酒店客房管理系统界面在不同的酒店之间,酒店客房管理系统会存在一些差异。

通常,酒店客房管理系统的主要功能包括以下几个方面。

(1) 用户信息管理:对酒店客房管理系统的使用员工进行管理,包括对员工的基本信息(如用户姓名、所属部门、用户类型等)进行检索、录入和修改。

(2) 客房类型管理:用户可自定义客房类型,并对其进行管理,包括对客房类型的基本信息(如类型名称、面积、床位、价格等)进行检索、录入和修改。

(3) 客房信息管理:用户对客房信息进行管理,包括对客房的基本信息(如客房号、客房类型、客房位置等)进行检索、录入和修改。

(4) 客房经营管理:实现对客房的订房和退房管理,包括对客房的业务信息(如客房号、入房时间、退房时间、金额等)进行检索、录入和修改。

(5) 客户信息查询:用户可对入住过酒店的客户信息进行查询,包括对客户的基本信息(如身份证号、客户姓名、联系电话)进行检索。

(6) 经营状况统计:根据酒店客房的业务记录,用户可选择不同的统计方式对营业额进行统计。

从功能描述的内容来看,本实例可以实现六大功能。

我们根据这些功能,设计出系统的功能模块,如图2所示。

图2 酒店客房管理系统功能模块示意图二.需求分析需求分析阶段是酒店客房管理系统开发最重要的阶段。

开发者首先要了解和澄清用户的需求,然后严格地定义该系统的需求规格说明书。

这里我们将需求分析分为两个过程,一是理解需求,二是分析需求,下面分别讲解。

1.理解需求理解需求是在问题及其最终解决方案之间架设桥梁的第一步。

开发者只有和客户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须大量的返工。

下面是经过双方调研后得到的需求规格说明。

酒店管理系统的数据库设计

酒店管理系统的数据库设计

目录:一.概念结构设计二.数据字典三.E-R图四.数据库逻辑结构设计一.概念结构设计建立一个酒店前台管理系统,方便酒店的信息管理和部门管理。

该前台管理系统要求具备以下几个主要功能1.登记客人的基本信息,进行客房分配,建立客人账单和客人在店数据文件;2.计算客人的购物,餐饮消费;3.计算客人的总消费金额,以便结账处理;4.保留熟客的历史档案信息。

二.数据字典客 户 信 息项数据类型 长度 含义说明性别 字符型 20 身份标识 姓名 字符型10性别标识 年龄 整形10身份证号码 整形50身份验证联系方式 整形50联系方式入住日期 日期型8名称 编号 组成 数据量 存取频率房源信息D2房号,楼层,状态,已预定,已清理.....500 不定期客户在店 D3门卡号,姓名,性别,证件号,入住日期.....200 不定期客户消费D4项目编号,类型,项目名,价格,计量单位....1000 不定期房型类 D6类别,名称,普通价,优惠价.....30 固定价格表D8编号,名称,类别,细目,价格.....100 固定三.E-R 图1.入住单预付款操作员姓名结算方式入住天数门卡号2.客户消费项目编号门卡号项目名计量单位预付款金额3.房型表优惠价普通价类别名称长包价4.房源信息楼层状态已清理已预定房号5.客户在店门卡号性别入住日期姓名证件号电话6.总E-R 图入住单房源信息房型表客户在店客户消费分配对应选择门卡号预付款入住天数操作员姓名结算方式已入住已清理已预订状态房号楼层占用普通价类别长包价优惠价名称登记门卡号性别入住日期姓名证件号电话数量时间项目编码金额预付款计量单位项目名门卡号四.数据库逻辑结构设计客户在店(门卡号 ,证件号,姓名,性别,入住日期,电)话 .....顾客消费(项目编码,门卡号,项目名,金额,计量单位,预付款....)入住单(门卡号,姓名,预付款,结算方式,入住天数,操作员.....))房源信息(房号,楼层,状态,已预定,已清理.....)房型表(类别,名称,普通价,长包价,优惠价.....。

酒店管理系统数据库设计

酒店管理系统数据库设计

酒店管理系统酒店管理系统第1页,共15页酒店管理系统一.酒店管理系统的需求分析用户的需求具体体现在各种信息的提供、用户的需求具体体现在各种信息的提供、保存、保存、更新和查询等方面,更新和查询等方面,这就要这就要求数据库结构能充分满足各种信息的输出和输入。

收集基本数据、数据结构以及数据处理的流程,得出本系统所处理的数据流程。

数据处理的流程,得出本系统所处理的数据流程。

针对一般酒店客房信息管理系统的需求,内容和流程分析,设计下面的数据项和数据结构:项和数据结构: 员工标准信息,包括的数据项有:员工编号,姓名,性别,出生日期,工龄,密码,电话,备注等。

密码,电话,备注等。

客户标准信息,包括的数据项有:客户编号,性名,性别,出生日期,身份证号,手机,备注等。

证号,手机,备注等。

客房标准信息,包括的数据项有:客房编号,类型编号,状态,备注等。

客房标准信息,包括的数据项有:客房编号,类型编号,状态,备注等。

类型标准信息,包括的数据项有:类型编号,类型名称,费用,总量,剩余量,备注等。

量,备注等。

订单标准信息,包括的数据项有:订单编号,员工编号,客户编号,客房编号,时间,押金,备注等。

号,时间,押金,备注等。

退房标准信息,包括的数据项有:员工编号,客户编号,客房编号,时间,备注等。

备注等。

二.概念结构设计:经过对酒店一般形式的调查,了解到了该系统包括的实体类型有:经过对酒店一般形式的调查,了解到了该系统包括的实体类型有: 员工、客户、客房等。

员工、客户、客房等。

经过分析画出了“酒店管理系统”数据库的E-R 图,分别如图1~图6所示:所示:图-1 员工实体员工实体E-R 图 员工员工 员工编号员工编号 姓名姓名 性别性别 出生日期出生日期 工龄工龄 密码密码电话电话备注备注图-2 客户实体客户实体E-R 图图-3 客房实体客房实体E-R 图客户客户客户编号客户编号 姓名姓名性别性别 出生日期出生日期 身份证号身份证号手机手机备注备注客房客房客房编号客房编号 类型编号类型编号 状态状态备注备注图-4 类型实体类型实体E-R 图图-5 订单实体订单实体E-R 图图-6 退房实体退房实体E-R 图 通过对个实体之间联系的分析,将局部E-T 图综合成全局E-R 图,类型类型类型编号类型编号 类型名称类型名称 费用费用总量总量 剩余量剩余量 备注备注订单订单订单编号订单编号 员工编号员工编号客户编号客户编号 客房编号客房编号 时间时间押金押金备注备注退房退房员工编号员工编号 客房编号客房编号客户编号客户编号 时间时间备注备注如图-7所示:所示:图-7 全局E-R 图三.逻辑结构设计:根据概念设计的结果,将其转换为关系模型:将其转换为关系模型:员工(员工编号,姓名,性别,出生日期,工龄,密码,电话,备注)员工(员工编号,姓名,性别,出生日期,工龄,密码,电话,备注) 客户(客户编号,性名,性别,出生日期,身份证号,手机,备注)客户(客户编号,性名,性别,出生日期,身份证号,手机,备注) 客房(客房编号,类型编号,状态,备注)客房(客房编号,类型编号,状态,备注)类型(类型编号,类型名称,费用,总量,剩余量,备注)类型(类型编号,类型名称,费用,总量,剩余量,备注)订单(订单编号,员工编号,客户编号,客房编号,时间,押金,备注)订单(订单编号,员工编号,客户编号,客房编号,时间,押金,备注) 退房(员工编号,客户编号,客房编号,时间,备注)退房(员工编号,客户编号,客房编号,时间,备注)四.物理结构设计:1.员工表列名列名数据类型数据类型是否允许为空是否允许为空默认值默认值是否为主键是否为主键员工编号员工编号 Char(10) 否 是 姓名姓名 Char(10) 否性别性别 Char(2) 否 男 出生日期出生日期 Smalldatetime工龄工龄 Int 密码密码 Char(6) 否 电话电话Char(20)客户员工客房客房 退房退房住宿住宿n离开离开m登记登记管理管理分类分类类型类型预定预定 登记登记订单订单n mmnnm mmnnmn备注备注Text2.客户表列名列名数据类型数据类型 是否允许为空是否允许为空默认值默认值 是否为主键是否为主键客户编号客户编号 Char(10) 否 是 姓名姓名 Char(10)否性别性别 Char(2) 否 男 出生日期出生日期 Smalldatetime 身份证号身份证号 Char(18) 否 手机手机 Char(20) 备注备注Text3.客房表列名列名 数据类型数据类型是否允许为空是否允许为空默认值默认值是否为主键是否为主键客房编号客房编号 Char(6) 否是类型编号类型编号 Char(2) 否 状态状态 Char(4) 备注备注Text4.类型表列名列名数据类型数据类型 是否允许为空是否允许为空默认值默认值是否为主键是否为主键类型编号类型编号 Char(2)否是类型名称类型名称 Char(16) 否 费用费用 Int 总量总量 Int 剩余量剩余量 Int 备注备注Text5.订单表列名列名数据类型数据类型 是否允许为空是否允许为空默认值默认值是否为主键是否为主键订单编号订单编号 Char(10) 否 是 员工编号员工编号 Char(10) 客户编号客户编号 Char(10) 客房编号客房编号Char(6)时间时间SmalldatetimeGETDA TE()押金押金 Int备注备注Text6.退房表列名列名数据类型数据类型 是否允许为空是否允许为空默认值默认值是否为主键是否为主键员工编号员工编号 Char(10) 客户编号客户编号 Char(10) 客房编号客房编号 Char(5) 时间时间 SmalldatetimeGETDA TE()备注备注Text题目: (一)1.用T-SQL 语句创建数据库CREATE DATABASE 酒店管理系统酒店管理系统 ON PRIMARY(NAME ='酒店管理系统_data1',FILENAME ='E:\SQL\酒店管理系统\酒店管理系统_data1.mdf',SIZE =5,MAXSIZE =UNLIMITED ,FILEGROWTH =2), FILEGROUP FGROUP(NAME ='酒店管理系统_data2',FILENAME ='E:\SQL\酒店管理系统\酒店管理系统_data2.ndf',SIZE =5,MAXSIZE =UNLIMITED , FILEGROWTH =2) LOG ON(NAME ='酒店管理系统_log1',FILENAME ='E:\SQL\酒店管理系统\酒店管理系统_log1.ldf',SIZE =1010, ,MAXSIZE =UNLIMITED , FILEGROWTH =4) GO2.用T-SQL 语句创建所有的表及设置主键CREATE TABLE 员工表员工表(员工编号员工编号CHAR (1010)) NOT NULL PRIMARY KEY , 姓名姓名CHAR (1010)) NOT NULL, 性别性别CHAR (2) NOT NULL, 出生日期出生日期 SMALLDATETIME , 工龄工龄INT , 密码密码CHAR (6) NOT NULL, 电话电话 CHAR (2020), ), 备注备注TEXT ) GOCREATE TABLE 客户表客户表 (客户编号客户编号CHAR (1010)) NOT NULL PRIMARY KEY , 姓名姓名CHAR (1010)) NOT NULL, 性别性别CHAR (2) NOT NULL, 出生日期出生日期SMALLDATETIME , 身份证号身份证号 CHAR (1818)) NOT NULL, 手机手机CHAR (2020), ), 备注备注TEXT ) GOCREATE TABLE 客房表客房表(客房编号客房编号CHAR (6) NOT NULL PRIMARY KEY , 类型编号类型编号CHAR (2) NOT NULL, 状态状态 CHAR (4), 备注备注TEXT ) GOCREATE TABLE 类型表类型表 (类型编号类型编号CHAR (2) NOT NULL PRIMARY KEY , 类型名称类型名称CHAR (1616)) NOT NULL, 费用费用 INT , 总量总量INT , 剩余量剩余量 INT , 备注备注TEXT ) GOCREATE TABLE 订单表订单表(订单编号订单编号CHAR (1010)) NOT NULL PRIMARY KEY , 员工编号员工编号CHAR (1010), ), 客户编号客户编号CHAR (1010), ), 客房编号客房编号CHAR (6), 时间时间SMALLDATETIME , 押金押金INT ,备注备注TEXT ) GOCREATE TABLE 退房表退房表 (员工编号员工编号CHAR (1010), ), 客户编号客户编号CHAR (1010), ), 客房编号客房编号CHAR (6), 时间时间SMALLDATETIME , 备注备注TEXT ) GO3.用T-SQL 语句给需要设外键的表设置外键ALTER TABLE 客房表客房表 ADD CONSTRAINT FK_类型表_客房表客房表 FOREIGN KEY (类型编号) REFERENCES 类型表(类型编号) GOALTER TABLE 订单表订单表 ADD CONSTRAINT FK_员工表_订单表订单表 FOREIGN KEY (员工编号) REFERENCES 员工表(员工编号) GOALTER TABLE 订单表订单表 ADD CONSTRAINT FK_客户表_订单表订单表 FOREIGN KEY (客户编号) REFERENCES 客户表(客户编号) GOALTER TABLE 订单表订单表 ADD CONSTRAINT FK_客房表_订单表订单表 FOREIGN KEY (客房编号) REFERENCES 客房表(客房编号) GOALTER TABLE 退房表退房表 ADD CONSTRAINT FK_员工表_退房表退房表 FOREIGN KEY (员工编号) REFERENCES 员工表(员工编号) GOALTER TABLE 退房表退房表ADD CONSTRAINT FK_客户表_退房表退房表 FOREIGN KEY (客户编号) REFERENCES 客户表(客户编号) GOALTER TABLE 退房表退房表 ADD CONSTRAINT FK_客房表_退房表退房表FOREIGN KEY (客房编号) REFERENCES 客房表(客房编号)GO4.用T-SQL语句给表加上check约束、UNIQUE约束、DEFAULT约束 ALTER TABLE 员工表员工表ADD CONSTRAINT CK_员工性别性别 IN('男','女'))员工性别 CHECK(性别GOALTER TABLE 员工表员工表ADD CONSTRAINT DF_员工性别性别员工性别 DEFAULT('男') FOR 性别GOALTER TABLE 客户表客户表ADD CONSTRAINT CK_客户性别客户性别 CHECK(性别性别 IN('男','女'))GOALTER TABLE 客户表客户表ADD CONSTRAINT DF_客户性别性别客户性别 DEFAULT('男') FOR 性别GOALTER TABLE 客户表客户表ADD CONSTRAINT UQ_身份证号身份证号 UNIQUE(身份证号)GOALTER TABLE 订单表订单表ADD CONSTRAINT DF_订房时间时间订房时间 DEFAULT(GETDATE()) FOR 时间GOALTER TABLE 退房表退房表ADD CONSTRAINT DF_退房时间退房时间 DEFAULT(GETDATE()) FOR 时间时间GO5.使用insert语句初始化数据库INSERT INTO 员工表(员工编号,姓名,性别,出生日期,工龄,密码,电话)VALUES('010*******','张三','男','1982-2-1',2,'123401','0758-*******')INSERT INTO 客户表(客户编号,姓名,性别,出生日期,身份证号,手机)VALUES('1009010001','王恒','女',461324************,,'136********')'1987-8-16',461324************INSERT INTO 客房表(客房编号,类型编号,状态)VALUES('120501','12','空')INSERT INTO 类型表(类型编号,类型名称,费用,总量,剩余量)VALUES ('12','豪华双人房','480','20','20')INSERT INTO 订单表(订单编号,员工编号,客户编号,客房编号,押金)VALUES ('1005010001','010*******','1009010001','120506','50')INSERT INTO 退房表(员工编号,客户编号,客房编号) VALUES ('010*******','1009010001','210301')(二)1、流程控制语句与函数(1)、用上while 语句根据入住天数,查询客户应付费用declare @y @y int int declare @x @x int int set @x @x==0 set @y @y==0while @x @x<><>datediff (day ,'2010-12-10',getdate ()) begin beginset set @x @x==@x @x++1 set set @y @y==@x @x**300 end endselect fare fare==@y(2)、用上if if……else 语句 查出普通房中,单人房多少钱。

酒店客房管理系统数据库设计报告

酒店客房管理系统数据库设计报告

酒店客房管理系统数据库设计报告摘要本文档旨在对酒店客房管理系统的数据库设计进行详细说明和解释。

酒店客房管理系统是一种旨在提供客房管理和预订服务的软件系统,通过有效的数据库设计可以提高系统的性能和扩展性。

本文档将介绍系统的需求分析,数据库设计思路,数据表设计,以及一些重要的数据关系和查询操作。

1. 引言酒店客房管理系统是为酒店提供客房管理和预订服务的系统,旨在提供高效、准确和可靠的客房管理功能。

数据库设计对于该系统的性能和扩展性起着至关重要的作用。

一个良好设计的数据库可以提高系统的运行效率,减少数据冗余和不一致性,并且能够轻松支持未来的扩展和功能增加。

2. 需求分析在进行数据库设计之前,我们首先需要对酒店客房管理系统的需求进行分析。

根据需求分析,我们可以确定系统需要存储的数据及其相关结构和关系。

酒店客房管理系统的主要功能包括客房管理、客户管理和预订管理。

其中客房管理包括客房类型、客房设施和客房价格的管理;客户管理包括客户信息的管理;预订管理包括客房预订信息的管理。

此外,系统还需要支持查询客房的可用性、查询客户的预订信息等功能。

3. 数据库设计思路基于需求分析,我们可以得到以下的数据库设计思路:•将客房、客户和预订信息分别作为不同的数据表存储。

•使用主键和外键设计有效的数据关系。

•使用索引提高查询性能。

•使用适当的数据类型和约束确保数据的完整性和一致性。

•根据实际需求进行合理的数据表分割和合并。

4. 数据表设计根据数据库设计思路,我们可以设计以下几个数据表:4.1 客房表客房表包含客房的基本信息,如客房号、客房类型、客房设施和价格等。

表结构如下:字段名类型约束room_id int 主键room_number varchar 唯一,非空type_id int 外键,参考客房类型表facility varcharprice decimal4.2 客房类型表客房类型表用于存储不同客房类型的信息,如单人间、双人间等。

宾馆客房管理系统数据库设计报告(精选五篇)

宾馆客房管理系统数据库设计报告(精选五篇)

宾馆客房管理系统数据库设计报告(精选五篇)第一篇:宾馆客房管理系统数据库设计报告宾馆客房管理系统数据库设计报告摘要:本系统是宾馆客房管理系统,该报告主要介绍了数据库的设计,建立,主要功能的实现。

数据库系统包括员工管理、客房管理、顾客管理几个大块。

主要实现了登记功能,预订功能,多种方法查询顾客功能,查看客房状态功能,操作人员对系统的修改功能,以及结账报表功能。

一、需求分析(1)具有方便的登记、结账功能,以及预订客房的功能,能够支持团体登记和团体结账。

(2)能快速、准确地了解宾馆内的客房状态,以方便管理者决策。

(3)提供多种手段查询客人的信息。

(4)具备一定的维护手段,有一定权利的操作人员在密码的支持下才可以更改房价、房间类型、增减客房。

(5)完善的结账报表系统。

二、E-R关系图三、关系表本系统有八个表,分别是职工信息表(staffinfo)、顾客信息表(custmerinfo)、经理信息表(managerinfo)、客房信息表(roominfo)、客房状态表(roomstatus)、入住表(checkin)、退房表(checkout)、结账订单表(orderinfo)。

1,职工信息表(staffinfo)2,顾客信息表(custmerinfo)3,经理信息表(managerinfo)4,客房信息表(roominfo)5,客房状态表(roomstatus)6,入住表(checkin)7,退房表(checkout)8,结账订单表(orderinfo)四、范式分析本系统所有的表均为BCNF,职工和经理表由各自的工作编号为主码,并且可以决定其他所有属性,顾客表由身份证号做为主码,同理,客房的房间号可以决定其他所有属性。

五、功能分析 1,登记功能本系统采用存储过程实现登记功能,顾客前来预订客房,由工作人员调用存储过程向顾客表中插入该顾客信息,完成登记。

create procedure register@身份证号 varchar(20),@姓名 varchar(10),@性别 char(5),@电话 char(15), char(10)asinsert into custmerinfovalues(@身份证号,@姓名,@性别,@电话,@员工编号)@员工编号2,预订功能采用存储过程实现,由工作人员调用存储过程,在入住表中插入相应信息,并且设计触发器,在预定的同时在客房状态表中修改客房状态为“已入住”。

如家酒店客房服务管理系统数据库设计

如家酒店客房服务管理系统数据库设计

1.客房表room类型大小非空约束默认描述ID Number 4 √客房号(主键)TypeID Number 4 √客房类型编号IsAvailble char 1 √否客房是否空闲状态,包括是和否两种状态Notes varchar 50 备注1.客房类型表ROOMTYPE字段名称类型大小读写非空约束默认描述TypeID Number 4 w/r √客房类型编号(主键)Type varchar 20 w/r √客房类型,包括标准间,商务间,三人间等等(3)客人表CUSTOMER:记录客人身份证号、客人姓名、客人性别等信息字段名称类型大小非空约束默认描述Id Number 10 √客人编号(主键)CardId Number 20 √唯一客人身份证号Name varchar 20 √客人姓名Sex char 1 √男性别(男/女)Telephone Number 8 √联系电话Address varchar 50 地址Notes varchar 50 备注(4)职工表staff字段名称类型大小非空约束默认描述Id Number 20 √工作证号码(主键)Name varchar 20 √职员姓名Password varchar 20 √111 密码Sex char 1 √女性别(男/女)CardId Number 20 √唯一身份证号Level varchar 20 √职务Notes varchar 50 备注(5)住宿表字段名称类型大小非空约束默认描述id Number 4 √住宿记录编号(主键)RoomId char 4 √入住房间CustomId Number 10 √客人编号CheckInTime DateTime √入住时间CheckInTime DateTime √离开时间Due Number 4 √应付款Deposit Number 4 押金数Payment Number 4 实际支付金额Change Number 4 找零Notes varchar 50 备注。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

任务书一、数据库原理课程设计的任务1)通过本课程设计的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程。

2)通过课程设计,掌握数据库开发工具的使用以及综合编程调试的能力,结合数据库原理的基本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统,具备基本的数据库编程能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。

3)提升工程实践能力、团队协作精神、交流与沟通能力;4)通过规化的实验报告,培养学生良好的文档习惯以及撰写规文档的能力。

二、课程设计的基本容..目录1.数据库需求分析·41.1设计目的··41.2系统功能分析··41.3功能模块设计··52.数据库概念结构设计·62.1概念模型··62.2 E-R模型··63.数据库逻辑结构设计·83.1关系模型设计··93.2数据模型的优化··93.3子模式设计··94.数据库物理结构设计·94.1存取方式设计··94.2存储结构设计··105.数据库安全性、完整性设计·10 5.1主要视图设计··105.2用户权限··106.数据库实现·116.1编码实现··116.1.1主要数据表的创建·116.1.2主要视图的创建·146.1.3索引的创建·146.1.4创建用户权限·146.1.5创建存储结构·157.数据录入调试及运行·168.课程设计总结体会·189.参考文献·191.数据库需求分析1.1设计目的本酒店客房管理系统是为了满足现代酒店的管理需求、提高对顾客的服务质量、方便酒店的管理和运营而设计的一款多功能易操作的基于B/S模式的数据库管理系统。

由于当前的多数酒店都是以人工的方式来统计管理酒店里的各项事务,其中带来了很多的不便,使得酒店的管理也相对比较困难。

对于酒店的营业情况的统计,要耗费很大的人力来进行统计分析。

人工方式的管理也很容易出现管理上的失误。

随着计算机技术和互联网技术的发展,设计一种可以实现自动化管理酒店事务的系统是当前酒店行业的一个迫切要求。

本款酒店客房管理系统就是应运而生的一款快捷酒店管理系统,它可以使酒店人员很方便的管理酒店的各项事务,并将管理的失误降到最低。

本系统通过对不同的人员分配不同的权限可以很好的防止客户以及酒店一些信息的泄露。

酒店会计还可以通过本系统快捷地统计出酒店在特定阶段的营业情况,可以根据分析的结果进行相应业务的调整。

顾客可以通过本系统对入住的体验进行评价或者提出相关的建议,可以使酒店的服务更加完善。

1.2系统功能分析本系统是为方便酒店管理和日常的营业需要,加入了酒店房间预定功能、顾客入住登记功能、员工维修客房设施记录功能、顾客体验反馈功能、营业情况统计功能。

酒店房间预订系统:顾客可根酒店客房的一些信息,根据自身需求预定相应的客房,并支付一定的押金,顾客可根据情况选择入住或者退订已预订的房间。

顾客入住登记功能:当顾客预定好房间选择入住时,系统进入住登记阶段,用户登记自身信息,并根据预定的订单信息办理入住房间。

员工维修记录功能:当酒店里的服务设施发生故障时,维修人员对故障进行维修,并记录维修的设施名称及其维修时间,以及维修所产生的费用,最后将数据存储在数据库中,并打印凭条以便上报。

顾客体验反馈系统:当顾客要退房离开时,顾客可根据自身体验对酒店的设施和服务进行相应的评价和对一些问题提出相应的建议便于酒店对此做出改进。

营业情况统计功能:酒店人员可根据特定阶段的营业状况,对消费记录进行分析,得出相应阶段营业盈亏的原因,并从中提取一些好的建议,以利于酒店的盈利。

1.3功能模块设计--系统功能模块图—●有关客房标准的制定、标准信息的输入,包括标准编号、标准名称、房间面积、床位数量、住房单价、是否有空调、电视机、以及单独卫生间等。

●客房标准信息的修改、查询等。

●客房基本信息的输入,包括客房编号、客房类型、客房位置、客房单价、备注等。

●客房基本信息的查询、修改,包括客房编号、客房类型、客房位置、客房单价、备注等。

●剩余客房信息的查询等。

●订房信息的输入,包括客房编号、客房种类、客房位置、客房单价、顾客、顾客、入住日期、折扣、备注信息等。

●订房信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客、顾客、入住日期、折扣、备注信息等。

●入住信息的输入,包括客房编号、客房种类、位置、客房单价、顾客、顾客、入住日期、折扣、结算日期、备注信息等。

●入住信息的修改和查询,包括客房编号、客房种类、客房位置、客房单价、顾客、顾客、入住日期、折扣、结日期、备注信息等。

●员工信息的输入,包括员工工号,员工,性别,年龄,手机,酒店编号信息等。

2.数据库概念结构设计2.1概念模型●客房标准信息:客房编号、客房名称、床位数量、住房单价。

●客房信息:客房编号、客房种类、客房位置、客房单价,客房状态。

●订房信息:订单编号、客房种类、顾客、顾客、订房时间、折扣。

●顾客信息:顾客、顾客、手机。

●入住信息:流水单号、客房编号、客房类型、顾客、入住时间、结算时间、职工工号、结算备注。

●职工信息:工号、职工、职工性别、职工年龄、入职时间、职务。

●酒店信息:酒店编号、酒店名称、酒店。

●物品信息:物品编号、物品名称、物品类别、物品单价、库存。

●维修信息:流水单号、维修时间、维修物品、房间编号、维修费用。

2.2 E-R图客房状态客房标准信息E-R图职工信息E-R图顾客信息E-R图物品信息E-R图酒店信息E-R图手机号库存房间编号实体间联系E-R图3.数据库逻辑结构设计3.1 关系模型设计客房(客房编号,客房名称,客房类型,床位数量,住房单价,酒店编号)顾客(顾客,顾客,手机)员工(员工工号,员工,员工性别,员工年龄,手机,入职时间,职务)酒店(酒店编号,酒店名称)物品(物品编号,物品名称,物品单价,物品类型)入住(流水单号,房间名称,顾客号,入住时间,退房时间,住宿时长,住宿费用)预定(流水单号,顾客号,房间类型,预定时间,预定入住时长,押金,预定状态)维修(流水单号,员工工号,房间编号,维修设施名称,维修费用,维修时间)消费(流水单号,入住单号,消费物品名称,消费量,消费金额)评价(流水单号,顾客号,评论时间,评论星级,评论容,酒店编号)3.2 数据模型的优化客房信息关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合3NF.顾客信息关系模型中的关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合5NF.员工信息关系模型中的主属性可推出所有其他非主属性,模式中不存在传递依赖和部分依赖所以符合3NF.酒店信息在酒店信息关系模式中,因仅有两个属性且属性间不存在部分依赖,传递依赖所以该模式设计合理符合第三式。

物品信息在物品信息关系模式中,主属性可推出关系中的所有非主属性,关系中不存在传递依赖和部分依赖,且每一个决定因素都包含码,该关系模式满足BCNF式。

入住信息3.3 子模式设计为方便系统的使用,以及开发人员对程序的设计和顾客身份信息的安全性,本数据库系统采用子模式的设计方法来提高数据的使用效率和安全保障。

在酒店查询客房信息的时候设计一个子模式仅供系统用户查询到客房名称,客房类型,床位数量,住房单价等一些主要信息,而客房编号和酒店编号是为了系统的灵活性和数据库后台的方便操作而设计的用户可忽略。

在系统人员查询顾客身份信息时,系统可添加子模式使系统用户只能顾客信息的前六位和后四位,以防止顾客信息的泄露。

在用户查询入住信息,评价信息,消费信息以及维修信息时,流水单号都可忽略,减少用户的信息阅读量。

4. 数据库物理结构设计4.1存取方式设计由于本系统的数据信息的查询操作频繁,所以在部分表中建立索引以提高查询效率。

客房信息表修改删除插入操作较少,查询操作较为频繁,所以在该表中以客房编号上建立聚簇索引以提高查询效率。

顾客信息表由于插入操作较为频繁,所以不适合建立聚簇索引,采用在用户属性上建立非聚簇索引的方法提高数据的查询效率。

入住信息表和预定信息表要频繁的进行插入和查询操作,入住信息表和预定信息表中的流水单号具有有序的特性且插入的操作仅发生在表的末尾,所以适合在该模式的流水单号属性上建立聚簇索引便于数据的查询。

由于职工表的在本系统使用频率较少且数据量较少,添加索引反而使系统在索引的维护上耗费大量时间,所以不建议添加索引。

评价表由于要经常的插入和查询数据,且该表的数据量随营业时间增加而增加,所以要添加索引以提高系统对数据的查询效率。

4.2存储结构设计本系统的数据的存储结构可根据数据的规模的进行设计,对于小型的酒店建议采用单个硬盘的存储方式,减少设计开销。

对于大型的酒店,数据量较大,建议使用多个磁盘或使用磁盘阵列的形式来存储数据。

具体的设计要根据实际情况进行详细的设计。

5. 数据库安全性、完整性设计5.1主要视图设计顾客加密信息(顾客号,顾客)顾客只显示前六位和后四位。

客房基本信息(客房名称,客房类型,床位数量,住房单价)入住基本信息(房间编号,顾客号,入住时间,退房时间,住宿时长,住宿费用)只显示前六位和后四位。

预定基本信息(顾客号,房间类型,预定时间,预定入住时长,押金,预定状态)只显示前六位和后四位。

顾客消费总金额(客房名称,客房类型,入住时间,退房时间,住宿时长,住宿费用,消费总金额)5.2 用户权限酒店经理:对于客房信息表具有查看,修改,添加权限。

对于顾客信息表具有查看权限。

对于入住和预定信息表具有查看权限。

对于员工信息表具有查看,修改,插入和删除权限。

酒店会计:对于客房信息表具有查看结算信息表具有查看和插入权限。

对于员工表具有查看权限。

酒店前台:对于客房信息表具有查看权限,对其中的客房的入住状态具有修改权。

对于顾客信息表具有插入权。

对于入住表和预定表具有插入权。

顾客:对客房信息某些记录具有查询权。

6. 数据库实现6.1编码实现6.1.1主要数据表的创建CREATE DATABASE [酒店客房信息管理系统] ON PRIMARY(NAME = N'酒店客房信息管理系统',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\ DATA\酒店客房信息管理系统.mdf' ,SIZE = 3072KB ,FILEGROWTH = 1024KB)LOG ON(NAME = N'酒店客房信息管理系统_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\ DATA\酒店客房信息管理系统_log.ldf' ,SIZE = 1024KB ,FILEGROWTH = 10%)create table 物品(物品编号 char(5) primary key,物品名称 char(30) not null,物品单价 money,物品类型 char(10));create table 顾客(号 char(18) primary key,char(20) not null,手机号 char(11));create table 酒店(酒店编号 char(4) primary key,酒店名称 char(20));create table 客房(客房编号 char(4) primary key,客房名称 char(4) not null,客房类型 char(8) check(客房类型 in ('标准间','豪华间')),客房状态 char(4) check(客房状态 in('入住','空闲')),床位数 int,客房单价 money);create table 员工(员工工号 char(6) primary key,员工 char(20) not null,员工性别 char(2) check(员工性别 in('男','女')),员工年龄 int check(员工年龄>18 and 员工年龄<60),员工职务 char(20) not null,手机号 char(11));create table 维修(维修流水单号 int primary key IDENTITY (1, 1),维修房间编号 char(4) foreign key references 客房(客房编号), 维修员工工号 char(6) foreign key references 员工(员工工号), 维修物品名称 char(20),维修时间 date,维修费用 money);create table 评论(酒店编号 char(4),顾客号 char(18),评论时间 date,评论星级 int,评论容 char(500) not null);create table 预定(流水号 char(8) primary key,预定客房编号 char(4) foreign key references 客房(客房编号), 顾客号 char(18) foreign key references 顾客(号),员工工号 char(6) foreign key references 员工(员工工号),预定时间 date,预订时长 int,预定状态 char(10),退订时间 date,押金 money);create table 入住(流水单号 int primary key IDENTITY (1, 1),入住客房编号 char(4) foreign key references 客房(客房编号), 顾客号 char(18) foreign key references 顾客(号),入住时间 date,退房时间 date,住宿费用 money,);create table 消费单(消费流水单号 int primary key IDENTITY (1, 1),入住流水单号 int foreign key references 入住(流水单号),物品编号 char(5) foreign key references 物品(物品编号),消费量 int,消费金额 money);6.1.2主要视图的创建--创建客房基本信息视图--create view 客房基本信息asselect 客房名称,客房类型,床位数,客房单价from 客房--统计顾客住宿的消费费用--create view 消费统计asselect 流水单号, 客房名称, 客房类型, 入住时间,退房时间,DATEDIFF(day,入住时间,退房时间) as 住宿时长,住宿费用from 入住 join 客房 on 客房.客房编号=入住.入住客房编号--创建顾客加密信息视图--create view 顾客加密信息asselect =replace(号,substring(号,7,8),'********'),,手机号from 顾客.--创建预订概要信息便于查询--create view 预定概要信息asselect 预定客房编号,顾客号,预定时间,客房类型,押金,预定状态from 预定6.1.3索引的创建因其他表在建立主键时以默认添加,此处不再添加额外索引。

相关文档
最新文档