酒店客房管理系统数据库设计
酒店客房管理系统的设计与实现
酒店客房管理系统的设计与实现1. 引言酒店客房管理系统是一种帮助酒店管理客房信息并提供相关服务的软件系统。
该系统能够方便酒店管理人员对客房进行预订管理、入住登记、客房状态跟踪等操作,提高客房的利用率和服务质量。
本文将介绍酒店客房管理系统的设计与实现。
2. 功能需求分析酒店客房管理系统的功能主要包括以下几点:1.客房信息管理:包括客房类型、客房价格、客房状态等信息的录入和查询。
2.客房预订管理:支持客户对客房进行预订操作,同时能够进行客房的冲突检测,避免重复预订。
3.客房入住管理:记录客户的入住信息,包括入住登记、客房分配、押金收取等。
4.客房状态跟踪:及时更新客房的状态信息,包括客房是否已打扫、客房是否已空净等。
5.客房费用管理:包括客房的消费记录、押金退还、费用结算等功能。
6.统计报表生成:能够根据需求生成各类统计报表,如客房利用率、客房收入等。
3. 系统设计3.1 数据库设计酒店客房管理系统的数据库设计是系统设计的关键部分。
系统需要设计以下几个主要的数据表:•客房表:存储客房的基本信息,包括客房ID、客房类型、价格、状态等字段。
•客户表:存储客户的基本信息,包括客户ID、姓名、联系方式等字段。
•预订表:存储客户的预订信息,包括客户ID、客房ID、预订时间、预订状态等字段。
•入住表:存储客户的入住信息,包括客户ID、客房ID、入住时间、退房时间、押金等字段。
•消费表:存储客户的消费记录,包括客户ID、客房ID、消费金额、消费时间等字段。
3.2 系统架构设计酒店客房管理系统的架构设计应该采用分层结构,主要包括表示层、业务逻辑层和数据存储层。
•表示层:负责与用户交互,展示界面并接收用户输入,使用HTML、CSS和JavaScript等前端技术完成。
•业务逻辑层:负责处理用户请求、业务逻辑判断、调用数据存储层从数据库中读取或写入数据等,使用Java或其他后端语言实现。
•数据存储层:负责与数据库进行交互,读取或写入数据,可以使用关系数据库(SQL Server、MySQL)或非关系数据库(MongoDB、Redis)等进行存储。
数据库课程设计报告酒店客房管理
数据库课程设计报告酒店客房管理酒店客房管理对于整个酒店的运营和管理具有至关重要的作用。
为了更好地实现酒店客房管理的规范和自动化,我们设计了一个数据库课程项目——酒店客房管理系统,该系统可以实现客房预定、入住、退房、客房管理等功能,以下是详细的报告:一、需求分析1.1用户需求为酒店客户提供方便的客房预定、入住、退房等服务,实现客户信息管理,在用户交互方面适合不同需求客户的使用。
1.2系统功能能够完成相应的客房数据管理、客房预定、订单管理、及时的预订余量查看、用户信息管理等。
1.3技术实现使用MySQL数据库和Java语言实现酒店客房管理系统,采用B/S架构,提供Web端和PC端双端服务。
二、系统设计2.1设计思路在本项目中我们采用了MySQL数据库和Java语言编程,并采用了B/S架构的设计思路。
B/S架构优点是可以快速开发和更新同步体现,操作系统和浏览器的兼容性都不错。
我们采用java作为系统开发语言,通过Web端和PC端实现数据管理,提供高效的客房管理服务,并添加了合理的权限控制和身份验证。
2.2系统模块和功能该系统模块包括客房管理、订单管理、客户管理三大模块,分别实现以下功能:(1)客房管理:包含客房搜索、客房预订、查看及修改客房信息等功能;(2)订单管理:包含订单查询、订单取消、订单结算、订单信息更新等功能;(3)客户管理:包含客户信息查询、添加、删除、修改等功能。
三、系统实现3.1数据库搭建我们选择MySQL数据库作为本项目的数据库,搭建了相应的数据表,包括员工表、客房表、订单表、客户表等。
3.2后端代码实现我们使用Java语言实现了后端代码,包括实现客房预订、查看客房信息、订单结算等功能,并为管理人员设计了权限控制和身份验证功能。
3.3前端界面实现我们采用了基于Bootstrap的前端UI框架,提供了简约、美观的Web页面,以及基于Java Swing的PC客户端,实现了用户与系统的交互功能。
数据库原理课程设计客房预订系统
客房预订系统
设计要求
• 概念设计 • 逻辑设计 • 要求:关系模式满足第三范式
一.需求分析(流程图)
顾客
反馈给客户以确认
需要预定
查询
无空房
有空房
不能
用户要求的客 房能被提供吗
服务台
能 财务部
有 基本信息
无
有误吗
客房管理部
Hale Waihona Puke 文字描述:1. 顾客可以用电话或上网注册的方式预定。 其方式不同,但提交的内容是相同的:需 要的房间类型,房间数,客人人数,预定 时间,退房时间等。
理 部
收 入 客
部
1
房
身
联 系 电家 话庭
地 址
退 房 日 期
订 房 日 期
当 值 服 务 员 工 号
服 务 员 姓客 名房
设 备
管理 位 置
N
客房
今 日 状 态
客 房 单 价
客 房 种 类
客 房 编 号
份 证 号
三.逻辑设计
• 将E-R图转化为关系模式(不是最终的)
– 顾客(姓名,性别,身份证号,联系电话,家 庭住址,客房种类,房间数,订房日期,退房 日期,服务台台号,当值服务员工号) 3NF
2. 服务台查询客房管理部,看看是否有满足 客人要求的客房。如果有,则记录下客人 的需要,同时客房管理部通知财务部准备 收预约金,同时反馈给客人确认信息。
3. 如果客人要求的客房无法提供,则通知顾 客无法满足。
二.概念设计
• 实体:
– 顾客 – 服务台 – 客房 – 客房管理部 – 财务部
• 局部视图 – 顾客-预定-服务台 – 服务台-查询-客房管理部 – 客房管理部-管理-客房
宾馆客房管理系统数据库设计报告(精选五篇)
宾馆客房管理系统数据库设计报告(精选五篇)第一篇:宾馆客房管理系统数据库设计报告宾馆客房管理系统数据库设计报告摘要:本系统是宾馆客房管理系统,该报告主要介绍了数据库的设计,建立,主要功能的实现。
数据库系统包括员工管理、客房管理、顾客管理几个大块。
主要实现了登记功能,预订功能,多种方法查询顾客功能,查看客房状态功能,操作人员对系统的修改功能,以及结账报表功能。
一、需求分析(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.酒店实体2.客房实体客房实体包含以下属性:客房ID、客房类型、客房价格、客房状态等。
客房与酒店之间是多对一的关系,即一个酒店可以有多个客房,但一个客房只属于一个酒店。
3.员工实体员工实体包含以下属性:员工ID、员工姓名、员工职位、员工工资等。
员工与酒店之间是多对一的关系,即一个酒店可以有多个员工,但一个员工只属于一个酒店。
4.顾客实体5.订单实体订单实体包含以下属性:订单ID、顾客ID、酒店ID、客房ID、订单状态等。
订单与顾客、酒店和客房之间是多对一的关系,即一个订单属于一个顾客、一个酒店和一个客房。
二、酒店管理系统的关系分析通过对实体之间的关系进行分析,可以确定各个实体之间的关系。
1.酒店与客房之间的关系一个酒店可以有多个客房,一个客房只属于一个酒店,这是一对多的关系。
酒店与客房之间通过酒店ID进行关联。
2.酒店与员工之间的关系一个酒店可以有多个员工,一个员工只属于一个酒店,这是一对多的关系。
酒店与员工之间通过酒店ID进行关联。
3.订单与顾客之间的关系一个订单属于一个顾客,一个顾客可以有多个订单,这是一对多的关系。
订单与顾客之间通过顾客ID进行关联。
4.订单与酒店之间的关系一个订单属于一个酒店,一个酒店可以有多个订单,这是一对多的关系。
订单与酒店之间通过酒店ID进行关联。
5.订单与客房之间的关系一个订单属于一个客房,一个客房可以有多个订单,这是一对多的关系。
订单与客房之间通过客房ID进行关联。
三、酒店管理系统的数据表设计根据以上的实体分析和关系分析,可以设计出数据库的数据表。
1.酒店表2.客房表字段:客房ID、客房类型、客房价格、客房状态、酒店ID等。
宾馆客房管理系统数据库课程设计
5、宾馆客房管理系统(难度系数1)
功能介绍:
1)客房数量的基本设置(例如:一楼有101,102……109九个标准间,二楼有201,202……208八个三人间,……七楼有701,702……706六个套房)根据实际考察,再进行房间价格,入住手续办理等各环节业务流程设置
2)办理入住手续(客人姓名、身份证号,家庭住址,入住客房,入住时间,预住时间,押金(>=当天客房费用+200押金))
3)客房门卡管理系统(入住时发卡;每天进行一次刷卡登记,必要时需要补交房费,否则不能够正常开锁;退房时交卡结算)
4)办理退房手续
5)日、周、月核算报表
6)网上预定及处理
注:要求图形化交互界面,友好易用。
客房房间号楼层单价类别
客人信息客人姓名、身份证号,家庭住址,入住客房,入住时间,预住时间,押金
1.客房表(客房号,楼层,客房类型,入住单价,可入住人数,清洁周期) room
2.客户表(入住编号,客户姓名,客房号,入住日期,入住天数,每天单价,入住压金,接待员)
3.订房表(订房编号,客户姓名,客户号,预计入住日期,预计入住天数,订房压金,订房日期,接待员)
4.清洁表(客房号,清洁记录,清洁人,清洁日期)
5.结算表(入住编号,入住天数,入住金额,结算员,结算日期
6.报表(入住编号。
房间号房间类别实际价押金总额操作员入住时间)。
酒店管理系统数据库设计
酒店管理系统数据库设计1. 客房信息表(Room)该表包含酒店客房的各项信息,包括客房号、类型、价格、状态等。
字段:- Room_ID: 客房号(主键)- Type: 客房类型- Price: 房间价格- Status: 房间状态(已预订、空闲等)2. 客户信息表(Customer)该表包含顾客的个人信息,用于酒店管理系统进行客户管理与预订。
字段:- Customer_ID: 客户ID(主键)- Name: 客户名称- Address: 客户地址3. 订单信息表(Order)该表包含顾客预订酒店客房的订单信息,包括入住日期、离店日期、房间号、顾客ID等。
字段:- Order_ID: 订单号(主键)- Room_ID: 客房号(外键,关联Room表)- Customer_ID: 客户ID(外键,关联Customer表)- CheckIn_Date: 入住日期- CheckOut_Date: 离店日期- Total_Price: 订单总价- Payment_Method: 支付方式4. 房间设施表(Room_Facility)该表包含客房的设施信息,如空调、电视、Wi-Fi等。
字段:- Room_ID: 客房号(外键,关联Room表)- Facility_Name: 设施名称5. 员工信息表(Employee)该表包含酒店员工的个人信息。
字段:- Employee_ID: 员工ID(主键)- Name: 员工姓名- Position: 员工职位以上是一个简单的酒店管理系统数据库设计示例。
在实际应用中,可能还会涉及其他表和字段,如酒店楼层信息表、房间图片表等。
根据实际需求,数据库设计需要进一步细化和优化。
某宾馆客房管理系统——数据库课程设计
数据库原理课程设计报告设计题目某宾馆客房管理系统专业班级学号学生姓名同组人起止日期年月日至月1 日摘要宾馆管理系统是对宾馆管理系统的现代化、网络化;逐步摆脱当前宾馆管理的人工管理方式;拓展经营空间;降低运营成本;提高管理和决策效率而开发的..传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分;基本包含了宾馆主要业务部门;初步实现了对顾客服务和进行财务核算所需要的各个功能..它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块;并提供了对各功能模块的查询和更新功能..其中客户信息管理、入住和退房管理是系统开发的重点..本文讲述的是基于客户/服务器的宾馆管理系统;实现了宾馆管理的信息化..本系统涉及数据库方面的技术;采用SQL语言来实现..本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成..目录1.问题描述 (1)1.1背景 (1)1.2功能要求 (1)2.需求分析 (1)2.1需求分析 (1)2.2系统功能模块图 (3)2.3数据流图 (3)2.4数据字典 (6)3.概念结构设计 (7)3.1E-R图 (7)3.2实体及属性的定义 (7)4.逻辑结构设计 (8)5.物理结构设计 (9)6.触发器设计 (10)7.数据库的实施和维护 (10)8.结束语 (12)8.答辩与成绩考核 (13)1.问题描述1.1背景随着宾馆业竞争的加剧;宾馆之间客源的争夺越来越激烈;宾馆需要使用更有效的信息化手段;拓展经营空间;降低运营成本;提高管理和决策效率..传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分;基本包含了宾馆主要业务部门;初步实现了对顾客服务和进行财务核算所需要的各个功能..但传统的宾馆管理基于财务管理为主线的设计理念;无法满足宾馆全面信息化管理的需要..现代宾馆酒店业迅速发展;新的管理观念与模式层出不穷..宾馆客房管理系统亦随着宾馆管理理念的发展而发展..宾馆客房管理系统依旧采用了先进的数据库理论;多媒体技术;软件工程理念等;从基层;中层;高层三个管理者层次为切入点;以成本分析;预测;控制为一线;形成一套上下贯通;操作便捷的酒店系统解决方案;科学地将宾馆各种日常业务完美的结合在一起;为管理及决策提供了强有力的支持..其对客人个性化服务及全面彻底的信息化;使企业电算化水平提升到一个新的更高层次;提供大量丰富的基于企业管理经营过程中实际的数据..1.2功能要求1客人基本信息的录入;2客人基本信息的查询、修改、增加、删除等;3客房相关信息的录入;包括房间号、收费标准、床位、类别等;4客房类别标准的制定、类别信息的输入;5客房基本信息的查询、修改、删除等;6住房信息的录入;包括房间号、客人姓名等;7退房信息的更新;2.需求分析2.1需求分析1. 处理对象系统要处理的对象包括信息管理、客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等7个方面;各个对象包含的信息如下所示:1信息管理:可以对于各种信息的查询;个人信息可以查看自己的私人信息;还可以对自己的私人信息进行修改..用户信息查看用户的个人信息;对用户的信息进行增、删、查、改..2客户信息管理:可以新建客户;输入客户的身份证号码、姓名、性别、出生日期和地址等信息;可以对于客户的信息进行相应的修改;还可以对客户的消费信息进行统计..3客房信息管理:可以在相应的房间类型下面进行添加相应的房间;对相应的房间进行删除;查看空房以及客房的情况..4入住和退房管理:客户可以入住相应的类型房型下的空房;然后可以退房;系统自动将相应的订单状态置为失效;入住状态置为已退房;将相应房间的状态置为空房..5客房类型管理:管理员可以对相应的房型进行各种属性的修改;可以按照需求添加相应的房型;管理员、工作人员都可以查看相应的房型信息;管理员有需要时可以删除相应的房型;系统自动将该房型下的房间删除..6费用管理:管理员、工作人员都可以查看相应的费用信息;管理员有需要时可以对宾馆的收入与支出进行查询或修改..7价目信息管理:可以查看客房的收费标准;管理员可以对客房价格进行查询与修改;工作人员可以查看可风的价目信息..2. 系统功能分析某宾馆需要建立一个住房管理系统;需求分析结果如下:1宾馆要求该系统能实现住房信息管理、客户信息管理等功能;2一个房间有多个床位;同一房间内的床位具有相同的收费标准..不同类型的房间的床位收费标准可能不同;3每个房间有房间号、收费标准、床位数目等信息;4每位客人有身份证号码、姓名、性别、出生日期和地址等信息;5对每位客人的每次住宿;应该记录其入住日期、退房日期和预付款额信息;6管理系统可查询出客人住宿相关信息、房间信息..3.安全性和完整性要求安全性先通过试图机制;不同的用户只能访问系统授权的视图;这样可以满足系统数据一定程度上的安全性;在通过用户授权机制;用户登录来识别用户级别;根据这个级别来分配用户权限;达到数据更高层次的安全保密功能..系统完整性要求系统中数据的正确性以及相容性..可以通过建立主、外键;使用check约束;或者通过使用触发器和级联更新..2.2系统功能模块图系统功能模块图;如图2.2所示..图2.2 系统的功能模块图2.3数据流图1.业务流程图;如图2.3.1所示..图2.3.1 客房管理业务流程图1顶层数据流程图;如图2.3.2所示..客人入住、图2.3.2 顶层数据流程图2第二层数据流图;如图2.3.3所示..图2.3.3 第二层数据流图3宾馆开房数据流程图;如图2.3.4所示..缴费单图2.3.4 宾馆开房数据流程图4客户续房数据流程图;如图2.3.5所示..补交费用图2.3.5 客户续房数据流程图5客人退房数据流程图;如图2.3.6所示..图2.3.6 客人退房数据流程图2.4数据字典表2-5. 客户住宿Living信息:表2-6. 客房物品Roomitem信息:3.概念结构设计3.1 E-R图各实体之间的E-R图;如图3-1所示..图3-1 实体之间的E-R图3.2实体及属性的定义3.2.1类别实体E-R图:客户信息实体的E-R图;如图3-2所示..图3—2 客户信息实体的E—R图客房信息实体的E-R图;如图3-3所示..图3—3 客房信息实体的E—R图客户住宿实体的E-R图;如图3-4所示..图3—4 客户住宿实体的E—R图客房物品信息实体的E-R图;如图3-5所示..图3—5 客房物品实体的E—R图4.逻辑结构设计具体的基本E-R图向关系模型的转化结果如下:客户Travellers Tno;Tname;Tsex;Tid客房Rooms Rno;Rstyle;Rprice;Rstate;Rtel客户住宿Living Tno;Rno;Tcomedate;Tleftdate;Ttime;Tamount客房物品RoomitemRno;Ritemno;Ritemname;Ritemprice;Ritemstate;Ritemnum数据库模式定义表4-2 客房基本信息表Rooms表4-3 客房物品信息表Roomitem表4-4 客户住宿信息Living5.物理结构设计数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程;在这个阶段要完成两大任务..(1)确定数据库的物理结构;在关系数据库中主要是存储方法和存储结构..(2)对物理结构进行评价;评价的重点是时间和空间效率..CREATE UNIQUE INDEX Travno ON TravellersTnoCREATE UNIQUE INDEX Roomno ON RoomsRnoCREATE UNIQUE INDEX Ritemno ON RoomitemRitemnoCREATE UNIQUE INDEX Livno ON LivingTno6.触发器设计触发器C1的功能为当有一条信息插入Living表中时;触发Rooms表中的Rstate='满'.. 代码如下:create trigger c1on tb_Living for insertasif existsselect from tb_Living;tb_Rooms where tb_Living.Rno=tb_Rooms.Rnobeginupdate tb_Roomsset Rstate='满'where Rno=select Rnofrom insertedEnd触发器C2的功能为当从Living表中删除一条信息时;触发Rooms表中的Rstate='空'.. 代码如下:create trigger c2on tb_Living for deleteasif existsselect from tb_Living;tb_Rooms where tb_Living.Rno=tb_Rooms.Rno beginupdate tb_Roomsset Rstate='空'where Rno=select Rnofrom deletedEnd7.数据库的实施和维护7.1 建立数据库、数据表、索引1.建立数据库Create database db_hotel;2.建立数据表1客户基本信息表Travellers的建立..Create table tb_TravellersTno int CheckTno>=0 and Tno<=9999;Tname char10 not null;Tsex char2 CheckTsex in ‘男’;’女’;Tid char20 not null;Primary key Tno;2 客房基本信息表Rooms的建立..Create table tb_RoomsRno int not null;Rstyle char10 not null;Rprice intRstate char 10Rtel char15PRIMARY KEY Rno;3客房物品信息表Roomitem的建立..Create table tb_RoomitemRitemno int not null;Rno int not null;Ritemname char20 not null;Ritemprice intRitemstate char10Ritemnum intPrimary key RitemnoForeign key Rno references tb_RoomsRno;4 客户住宿信息Living的建立..Create table tb_LivingTno int not null;Rno int not null;Tcomedate datetime not null;Tleftdate datetime not null;Ttime intTamount intPrimary key Tno;Rno;Foreign key Tno references tb_TravellersTno; Foreign key Rno references tb_RoomsRno;3.建立视图1查询客户Travellers信息的视图定义如下..Create view view_Travellers 客户编号;客户姓名;客户性别;客户身份证号As select Tno;Tname;Tsex;TidFrom tb_Travellers2查询客房Rooms信息的视图定义如下..Create view view_Rooms 客房号;客房类型;客房单价;客房状态;客房As select Rno; Rstyle; Rprice; Rstate; RtelFrom tb_Rooms3查询客户住宿Living信息的视图如下..Create view view_Living 客房编号;客房号;入住日期;结算日期;住宿时间;房费As select Tno;Rno;Tcomedate;Tleftdate;Ttime;TamountFrom tb_Living4查询客房物品Roomitem信息的视图定义如下..Create view view_Roomitem客房号;客房物品编号;客房物品名称;物品状态;客房物品单价;物品数量As select Rno;;Ritemno;Ritemname;Ritemstate;Ritemprice;RitemnumFrom tb_Roomitem4.建立索引CREATE UNIQUE INDEX Travno ON tb_TravellersTnoCREATE UNIQUE INDEX Roomno ON tb_RoomsRnoCREATE UNIQUE INDEX Ritemno ON tb_RoomitemRitemnoCREATE UNIQUE INDEX Livno ON tb_LivingTno8.结束语通过此次数据库的课程设计;真正达到了学与用的结合;增强了对数据库方面应用的理解;对自己今后参与开发数据库系统积累了不少经验;在实验过程中;从建立数据开始;对数据库设计理念及思想上有更高的认识;从需求分析;到概念设计和逻辑设计;E-R图的表示;数据字典的创建;懂得了不少有关数据库开发过程中的知识;增强了自己在数据库中应用SQL语言的灵活性;其中包括;插入、删除、修改、查询;牵涉表和表之间的联系;主建与外主键的定义;约束项的设置;使逻辑更严密;在学习过程中;我也能过上网查了不少资料;也看了一些别人设计的旅馆管理信息系统的设计报告;学以致用;自我创新;独立完成了这份自己的报告;从中在学到用;从用又到学;不断修改;系统更新..虽然不能达到完善系统;但也做到了尽善尽美;加强理论学习对完善系统会有很多帮助;不管怎么说;对这次做的课程设计自己觉得还算满意..9.答辩与成绩考核。
数据库课程设计 宾馆客房信息管理系统
一、设计内容与设计要求1.设计内容:数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。
因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。
下面是各个设计阶段的具体内容.⒈系统需求分析需求分析是数据库系统设计的一个重要的环节。
本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求.用户对数据库的需求包括:⑴处理需求。
即用户要完成什么处理功能等。
学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等.⑵信息需求。
即在数据库中需要存储哪些数据。
学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。
⑶安全性和完整性功能。
实践中这是一个需要与用户不断交流才能逐步确定的需求.本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。
本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一.⒉数据库的概念设计数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型.本课程设计要求学生采用E-R方法进行数据库的概念设计。
本设计阶段可分为:● 数据抽象。
即根据需求分析的结果,抽取出与本课程设计相关的特性.设计局部概念模式。
运用E-R方法,设计出系统的各个局部ER模型。
● 设计全局概念模式.通过对局部E-R模型的操作,解决各个E—R模型关于对象定义不一致问题,以及对各个E—R模型进行合并优化等,最终形成数据库的全局概念模式.本阶段的设计结果(局部和全局E-R图、具体数据库设计工具中概念结构设计图)应该在课程设计报告中进行详细描述,应该能够反映该设计的正确性,作为本课程设计的验收依据之一。
客房数据库设计
客房数据库设计1数据库概念结构设计通过以上对数据字典的设计,总结出3个数据库实体,其E-R图如图5至图7所示。
图5 :客户实体图图6:客房实体图图7:客房类型实体图该系统的综合E-R图如图8所示。
图8:系统综合E-R图.2数据库逻辑结构设计根据上一节中的E-R图可以设计出以下的数据库表:客房表(房间号,房间类型,价格,房态,标志,配置,使用设置,营业日期,备注)客房住宿登记表(凭证号码,姓名,证件名称,证件号码,详细地址,出差事由,房间号,客房类型,联系电话,客房价格,住宿日期,住宿时间,住宿天数,宿费,折扣,应收宿费,预收金额,提醒日期,退宿日期,备注,标志,日期,时间,结款方式,退宿时间,提醒时间,摘要,BZ)退房登记表(凭证号码,姓名,证件名称,证件号码,详细地址,工作单位,房间号,客房类型,客房价格,住宿日期,住宿时间,住宿天数,宿费,折扣或招待,折扣,应收宿费,杂费,电话费,会议费,存车费,赔偿费,金额总计,预收宿费,退还宿费,退房日期,退房时间,日期,时间,备注,联系电话,BZ)挂账登记表(ID,日期,挂账单位,摘要,住宿金额,欠款金额,还款金额,金额累计,姓名,证件号码,票号,时间,序号,房间标准,房间价格)用户表(用户名,密码)用户权限表(客房预定,住宿登记,追加押金,调房登记,退宿登记,客房管理,客房查询,房态查看,挂帐查询,客户结款,预定房查询,住宿查询,退宿查询,宿费提醒,登记预收报表,客房销售报表,客房销售统计报表,操作员设置,密码设置,数据库备份,权限设置,用户名)宾馆客房管理系统的详细设计与实现1数据库的实现1、创建数据库:打开Microsoft SQL Server 2000的企业管理器,创建一个空数据库,命名为Hotel,如图9所示。
图9:数据库实现图2、在Hotel中创建六张表,分别为客房住宿登记表,退房登记表,挂账表,客房信息表用户表,用户权限表,其结构如图10至图15所示。
酒店客房管理系统数据库设计
酒店客房管理系统数据库设计一.概述酒店客房管理系统的主要任务是对酒店的客房进行管理,使用户能轻松地找到所需要的客房信息,提供订房和退房服务,并对酒店客房的业绩进行统计。
图1是一个典型的酒店客房管理系统的界面。
图1 典型的酒店客房管理系统界面在不同的酒店之间,酒店客房管理系统会存在一些差异。
通常,酒店客房管理系统的主要功能包括以下几个方面。
(1) 用户信息管理:对酒店客房管理系统的使用员工进行管理,包括对员工的基本信息(如用户姓名、所属部门、用户类型等)进行检索、录入和修改。
(2) 客房类型管理:用户可自定义客房类型,并对其进行管理,包括对客房类型的基本信息(如类型名称、面积、床位、价格等)进行检索、录入和修改。
(3) 客房信息管理:用户对客房信息进行管理,包括对客房的基本信息(如客房号、客房类型、客房位置等)进行检索、录入和修改。
(4) 客房经营管理:实现对客房的订房和退房管理,包括对客房的业务信息(如客房号、入房时间、退房时间、金额等)进行检索、录入和修改。
(5) 客户信息查询:用户可对入住过酒店的客户信息进行查询,包括对客户的基本信息(如身份证号、客户姓名、联系电话)进行检索。
(6) 经营状况统计:根据酒店客房的业务记录,用户可选择不同的统计方式对营业额进行统计。
从功能描述的内容来看,本实例可以实现六大功能。
我们根据这些功能,设计出系统的功能模块,如图2所示。
图2 酒店客房管理系统功能模块示意图二.需求分析需求分析阶段是酒店客房管理系统开发最重要的阶段。
开发者首先要了解和澄清用户的需求,然后严格地定义该系统的需求规格说明书。
这里我们将需求分析分为两个过程,一是理解需求,二是分析需求,下面分别讲解。
1.理解需求理解需求是在问题及其最终解决方案之间架设桥梁的第一步。
开发者只有和客户充分理解了需求之后才能开始设计系统,否则,对需求定义的任何改进,在设计上都必须大量的返工。
下面是经过双方调研后得到的需求规格说明。
数据库课程设计酒店客房管理系统的设计与实现
.需求分析1. 系统需求:根据宾馆管理系统的理念,宾馆管理系统必须满足一下需要:(1)具有方便的登记、结帐功能和预订客房的功能,能够支持团体登记和团体结帐;(2)能快速、准确地了解宾馆内的客房状态,以便管理者决策;(3)提供多种手段查询客人的信息;(4)具备一定的维护手段,有一定权利的操作员在密码的支持下才可以更改房价、房间类型、增减客房;(5)完善的结帐报表系统;(6)系统维护:如数据安全管理(含备份与恢复)、操作员管理、权限设置等。
2. 功能需求:根据系统的需求分析,得到本系统的功能要求如下:1. 系统管理:管理登陆系统的用户2. 订房信息的管理:管理订房信息,对订房信息进行查询和添加新的订房信息。
3. 基础数据库管理:设置房的基本属性,如等级,价格等。
4. 顾客信息管理:管理顾客的信息,查询居住记录等。
3. 性能需求:(1)硬件环境:处理器:Intel Pentium 4 或更高内存:256M 或更高硬盘:40G或更高(2)软件环境操作系统:Windows 2000/XP/Vista ;支持软件:Microsoft SQL Sever 2000 ,Visual C++ 6.0 。
.总体设计1.系统概述;有需求分析,要完成本系统的运行,需要的是客户机/服务器的运行方式。
采用的是VisualC++6.0 作为开发工具,采用了SQL Sever 2000 作为后台数据库,就可以满足一般的宾馆的客房管理的需求.2.系统模块:三.详细设计(I)数据库设计1. 结构设计(1)客房标准信息的E-R 图2)订房信息的E-R 图3)实体之间关系的E-R 图1)登陆需要的数据有:登陆 ID 密码 pwd ,pas2. 建立表格 user :系统 E-R 图:2.数据库表的设计(2)房子的属性种类:建立表格roomtype:34)客房表55) 结算信息表利用查询分析器实现他们1. 建立表格user2. Bookin 表63. roomtype 表4. rooms 表5. oucall 表输入数据即可。
通用酒店客房管理系统数据库设计说明书
通用酒店客房管理系统数据库设计说明书目录1引言 (3)1.1编写目的 (3)1.2开发背景 (3)1.3参考资料 (3)2实体-联系图(E-R图) (3)3 数据库设计 (4)3.1数据表 (4)3.2视图 (11)3.3存储过程 (13)1 引言1.1 编写目的本说明书是在《酒店客房管理系统需求规格说明书》的基础上,对系统的概念结构模型进行分析,进而进行数据库设计,为建立数据库提供依据。
同时,本说明书也是项目完成后验收的重要依据。
1.2 开发背景酒店行业的激烈竞争使得争取客源、提高酒店入住率、制定正确营销策略已经成为一项重要的任务,而借助于当前蓬勃发展的IT工具来拓展销售能力,创造客观的经济效益已经成为许多酒店的首选。
作为一种有效的统计分析手段,计算机管理系统发挥其强大的优势,在数据保存、数据交换方面的快速可靠,是手工操作所不能完成的。
本酒店客房管理系统主要针对酒店管理中最核心的客房管理,旨在提高酒店的管理效率,减免手工处理的繁琐与误差,及时、准确地反映酒店的工作情况、经营情况,从而提高酒店的服务质量,获得更好的经济效益;实现客房管理的规范化、自动化。
1.3 参考资料2 实体-联系图(E-R图)3 数据库设计3.1 数据表数据表清单(TableList):楼层信息表(FloorInfo):客房类型表(RoomType):客房信息表(RoomInfo):商品设置表(CommoditySet):会员信息表(MememberInfo):宾客预订表(ReserveInfo):预订客房信息表(ReserveRoomInfo):时间(计费)设置表(TimeSet):宾客入住表(RegisterInfo):宾客信息表(GuestInfo):入住客房信息表(RegisterRoomInfo):换房记录表(ChangeRoom):客史资料表(GuestHistoryInfo):员工信息表(StaffInfo):其它商品消费明细表(CommodityConsume):消费项目明细清单表(ConsumeList):宾客结帐表(PayBill):消费退单明细表(AlterBill):日营业状况统计表(DayBusiness):3.2 视图视图清单(ViewList):客房信息视图(V_RoomInfo):预订客房信息视图(V_ReserveRoomInfo):入住客房信息视图(V_RegisterRoomInfo):宾客信息查询视图(V_GuestQuery):宾客结帐视图(V_PayBill):其它商品消费明细视图(V_CommodityConsume):消费退单明细视图(V_AlterBill):3.2 存储过程存储过程清单(ProcedureList):计算应收帐款(P_TotalAccount):CREATE procedure P_TotalAccount @RegisterNo varchar(10)ASBEGIN TRANdeclare @daycount float,@flag int,@arrivetime datetimedeclare @start int,@halfday int,@wholeday int,@extra int,@hour intIF NOT EXISTS(SELECT * FROM PayBill WHERE RegisterNo=@RegisterNo) insert into PayBill(RegisterNo) values(@RegisterNo)update PayBill set LeaveTime=getdate() where RegisterNo=@RegisterNo update PayBill set PayTime=getdate() where RegisterNo=@RegisterNo --计算住店总天数SELECT @arrivetime=ArriveTime FROM RegisterInfo WHERE RegisterNo=@RegisterNoSELECT @start=CheckIn FROM TimeSetSELECT @halfday=CheckOutHalfDay FROM TimeSetSELECT @wholeday=CheckOutWholeDay FROM TimeSetSELECT @extra=ExtraTime FROM TimeSetSELECT @hour=datediff(hh,@arrivetime,getdate())SELECT @daycount=@hour/24--时间超过设定的某个值,追加一天if @hour-(@hour/24)*24>@wholeday+isnull(@extra,0)-@start SELECT @daycount=@daycount+1--时间超过设定的某个值,追加半天else if @hour-(@hour/24)*24>@halfday+isnull(@extra,0)-@start SELECT @daycount=@daycount+0.5--总天数未满半天算半天if @daycount=0SELECT @daycount=0.5--计算房费declare @room decimal(10,2)declare @num varchar(10),@price decimal(10,2),@ischange varchar(5) --声明游标declare mycur cursorfor select RoomNo,RealPrice,IsChangeRoom from V_RegisterRoomInfo where RegisterNo=@RegisterNoopen mycurfetch next from mycur into @num,@price,@ischangeSELECT @room=0WHILE (@@FETCH_STATUS=0)BEGINIF @ischange='是' --在住店期间换过房BEGINdeclare @oldprice decimal(10,2),@changetime datetime,@changeday floatSELECT @oldprice=OldRealPrice,@changetime=ChangeTimeFROM ChangeRoomWHERE RegisterNo=@RegisterNo and NewRoomNo=@num--计算换房后在新客房住的天数SELECT @hour=datediff(hh,@changetime,getdate())SELECT @changeday=@hour/24if @hour-(@hour/24)*24>@wholeday+isnull(@extra,0)-@start SELECT @changeday=@changeday+1else if @hour-(@hour/24)*24>@halfday+isnull(@extra,0)-@startSELECT @changeday=@changeday+0.5update RegisterRoomInfo set StayDay=@changeday where RegisterNo=@RegisterNo and RoomNo=@numupdate ChangeRoom set OldStayDay=@daycount-@changeday where RegisterNo=@RegisterNo and NewRoomNo=@num--计算房费SELECT@room=@room+(@daycount-@changeday)*@oldprice+@changeday*@price ENDELSEBEGINupdate RegisterRoomInfo set StayDay=@daycount where RegisterNo=@RegisterNo and RoomNo=@numSELECT @room=@room+@daycount*@priceENDfetch next from mycur into @num,@price,@ischangeENDclose mycurdeallocate mycurupdate PayBill set RoomIncome=@room where RegisterNo=@RegisterNo--计算其他商品消费金额declare @other decimal(10,2),@commodity decimal(10,2)SELECT @other=0--声明游标declare mycur2 cursorfor select TotalAccount from V_CommodityConsumewhere RegisterNo=@RegisterNoopen mycur2fetch next from mycur2 into @commodityWHILE (@@FETCH_STATUS=0)BEGINSELECT @other=@other+@commodityfetch next from mycur2 into @commodityENDclose mycur2deallocate mycur2--减去已退单的商品消费declare @alter decimal(10,2)--声明游标declare mycur3 cursorfor select TotalAccount from V_AlterBillwhere RegisterNo=@RegisterNoopen mycur3fetch next from mycur3 into @alterWHILE (@@FETCH_STATUS=0)BEGINSELECT @other=@other+@alterfetch next from mycur3 into @alterENDclose mycur3deallocate mycur3update PayBill set OtherIncome=@other where RegisterNo=@RegisterNo--计算消费总金额update PayBill set TotalAccount=@room+@other where RegisterNo=@RegisterNo--查询预付金额declare @prepayment decimal(10,2)SELECT @prepayment=Prepayment FROM RegisterInfo WHERE RegisterNo=@RegisterNoupdate PayBill set Prepayment=isnull(@prepayment,0) where RegisterNo=@RegisterNo--计算应付金额update PayBill set Account=TotalAccount-Prepayment where RegisterNo=@RegisterNoCOMMITGO统计日营业状况(P_DayStatistics):CREATE procedure P_DayStatisticsASBEGIN TRANdeclare @date datetimedeclare mycur cursorfor select str(YEAR(PayTime),4)+'-'+str(MONTH(PayTime),2)+'-'+str(DAY(PayTime),2) from V_PayBillwhere IsPaid='是'open mycurfetch next from mycur into @dateWHILE (@@FETCH_STATUS=0)BEGINIF NOT EXISTS(SELECT * FROM DayBusiness WHERE Date=@date) insert into DayBusiness(Date) values(@date)--根据指定日期统计日营业额(已结帐的)declare @guestamount int,@roomincome decimal(10,2),@otherincome decimal(10,2),@day decimal(10,2)SELECT@guestamount=SUM(GuestAmount),@roomincome=SUM(RoomIncome),@otherincome=SUM(OtherIncome),@day=SUM(TotalAccount)FROM V_PayBill WHERE IsPaid='是' and PayTime between @date andDATEADD(dd,1,@date)update DayBusinesssetGuestAmount=@guestamount,RoomIncome=@roomincome,OtherIncome=@otherinc ome,DayIncome=@daywhere Date=@datefetch next from mycur into @dateENDclose mycurdeallocate mycurCOMMITGO保存客史资料(P_GuestHistoryInfo):CREATE procedure P_GuestHistoryInfo@RegisterNo varchar(10),@Name varchar(20),@ArriveTime datetimeASBEGIN TRANdeclare @identityno varchar(20)SELECT @identityno=IdentityNo FROM GuestInfo WHERE RegisterNo=@RegisterNo and Name=@Name--若登记资料时没填身份证号IF @identityno=nullBEGINinsert into GuestHistoryInfoselectName,Sex,Nationality,IdentityNo,WorkPlace,Phone,Address,@ArriveTime,g etdate(),Remarkfrom GuestInfowhere RegisterNo=@RegisterNo and Name=@NameENDELSEBEGIN--若存在该宾客的历史资料,则更新记录IF EXISTS(SELECT * FROM GuestHistoryInfo WHERE IdentityNo=@identityno)BEGINupdate GuestHistoryInfoset RecentArriveTime=@ArriveTime,RecentLeaveTime=getdate()where IdentityNo=@identitynoENDELSE--若不存在该宾客的历史资料,则插入该宾客的信息insert into GuestHistoryInfoselectName,Sex,Nationality,IdentityNo,WorkPlace,Phone,Address,@ArriveTime,g etdate(),Remarkfrom GuestInfowhere RegisterNo=@RegisterNo and Name=@Name ENDCOMMITGO。
客房管理系统数据库设计
C 语 言 课 程 实 习 报 告课程设计(论文)课程名称: 数据库系统分析与设计 题 目: 客房管理系统数据库设计 院 (系): xxx 专业班级: xxx 姓 名: xxx 学 号: xxx 指导教师: xxx2011 年 12 月 30 日页脚内容C 语 言 课 程 实 习 报 告西安建筑科技大学课程设计(论文)任务书专业班级: xxx 学生姓名: xxx 指导教师(签名):一、课程设计(论文)题目客房管理系统数据库设计二、本次课程设计(论文)应达到的目的 数据库系统分析与设计课程设计是信息管理与信息系统专业集中实践性环节之一,是学习完《数据库数据库系统原理及技术》及《数据库系统 分析与设计》课程后进行的一次全面的综合练习。
其目的在与加深对数据 库基础理论和基本知识的理解,掌握借助PowerDesigner开发和设计一个小 型数据库系统时设计数据库系统模型的基本方法,提高运用数据库解决实 际问题的能力。
三、本次课程设计(论文)任务的主要内容和要求(包括原始数据、技术 参数、设计要求等)要求学生能独立完成一个数据库模型的设计与实现,包括: 1. 数据库系统需求分析; 2. 数据库概念模型设计; 3. 数据库逻辑模型设计; 4. 数据库物理模型的实现; 5. 完成不少于6000字的课程设计报告撰写。
四、应收集的资料及主要参考文献:[1] 王珊, 萨师煊. 数据库系统概论(第4版). 北京:高教出版社,2006年5月. [2] 赵韶平等.PowerDesigner系统分析与建模(第2版). 北京:清华大学出版社,2010. [3] Data Modeling and Relational Database Design. Oracle Inc. 2001.页脚内容五、审核批准意见C 语 言 课 程 实 习 报 告教研室主任(签字)页脚内容C 语 言 课 程 实 习 报 告摘要随着我国改革开放的不断推进,人民生活水平日益提高,旅游经济蓬 勃发展,这一切都带动了酒店行业的发展。
酒店客房预订管理系统的数据库分析及系统设计
第 3 章酒店客房预订管理系统的数据库分析及系统设计3.1 数据库分析软件系统在工作的过程中,相关的数据信息都保存在数据库中,数据库的主要作用就是对软件系统中的数据信息进行存储和管理,保证这些数据信息的稳定和平安。
数据库就是软件系统的后台,是整个软件系统的核心组成局部,数据信息的流动引导着软件系统的工作流程,每个功能模块都会产生相应的数据信息,因此在对软件系统进行设计的过程中,首先需要对软件系统后台的数据库管理系统进行分析与设计,根据数据库设计的结果在对软件系统的各个功能模块进行设计,这样的设计方案符合软件工程对开发过程的定义和要求,同时也能够防止由于分析不完全导致的系统功能缺陷问题的出现,合理的数据库结构也能够提高软件系统的工作效率,为软件系统的功能流程设计提供合理的数据流支持,根据以上的描述,数据库的分析过程是十分重要的。
在对软件系统后台数据库进行分析的工作中,主要通过后台数据库的平安性和稳定性,后台数据库的标准性以及后台数据库的可扩展性和可维护性这几个方面进行分析。
其中在对后台数据库的平安性和稳定性方面,首先数据库能够保证数据信息的平安和稳定,存储在数据库中的数据信息不会被轻易盗取或者出现错误,对数据库系统用户的管理也十分严格,分为不同操作权限的用户类型,在最大程度上保证数据库系统的平安。
数据库系统能够长期存储数据,并且保证数据库运行的稳定,带有数据自动备份和恢复功能,在最大程度上提供数据平安性效劳。
同时在数据库的标准性方面,需要对数据库表格内容以及数据库组织结构的设计按照数据库设计范式进行,并且保证数据的完整和合法,这样才能满足数据库设计的标准。
在数据库可维护性和可扩展性方面,需要预留出系统功能扩展所需要的存储数据库的空间,并且对数据库可以进行定期的维护,通过日志文件查看数据库的运行状态,对出现的问题能够及时发现原因并解决。
数据库在设计的过程中还需要充分根据软件系统可行性分析以及需求分析的结果进行工作,这样能够保证数据库的设计与系统功能模块的设计一致,不仅能够提供合理有效的功能,同时也为数据库的稳定运行提供支持。
酒店客房管理信息系统设计
酒店客房管理信息系统设计目录一、E-R设计二、关系模型三、客房管理信息系统结构功能图四、数据库结构设计(一)数据库软件选择(二)数据库表一、E-R设计1、预订E-R图2、入住E-R图3、挂账E-R图4、退宿E-R图5、查询E-R图6、客房所属E-R图7、E-R总图二、关系模型由以上E-R图,导出以下关系模型:预订(凭证号码、房间号、日期、姓名、联系电话、工作单位、预订日期、预住天数、押金、预住人数、备注、预订服务员和时间)入住(凭证号码、姓名、性别、年龄、证件名称、证件号码、工作单位、姓名1、性别1、年龄1、证件名称1、证件号码1、工作单位1、房间号、住宿日期、预住天数、退宿日期、备注、日期、时间、押金、来宿服务员、是否结账)退宿(凭证号码、姓名、房间号、住宿日期、住宿时间、实际宿费、结款方式、折扣、应收宿费、金额总计、押金、住宿天数、退还宿费、酒水费、电话费、赔偿费、其他费用、退宿日期、退宿时间、备注、操作员)挂账(凭证号码、日期、挂账单位、摘要、住宿金额、欠款金额、还款金额、金额累计、姓名、证件名称、证件号码、时间、是否结清)客房(房间号、类型编号、房态、配置、使用设置、营业时间、备注)房间类型(类型编号、客房类型、价格、备注)挂账单位(单位编号、单位全称、简称、地址、邮政编码、传真、电话、联系人、联系人电话)员工(员工编号、姓名、性别、密码、职务、聘用日期、薪金、备注)三、客房管理信息系统结构功能图三、数据库结构设计(一)数据库软件选择Oracle9i软件,其功能非常强大,实现复杂,维护困难,考虑员工的技能,不易采用该软件,而由微软公司研发的SQL2000数据库管理软件,具有良好的数据管理功能,面向多用户,事务处理功能,界面的友好性,易安装性等特点,成为选择的对象。
(二)数据库表。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
任务书一、数据库原理课程设计的任务1)通过本课程设计的训练,使学生掌握数据库技术的实际应用以及数据库信息管理系统的设计方法与开发过程;初步掌握数据库需求分析方法,掌握概要设计、逻辑设计和物理设计的步骤和技巧,理解并掌握数据库系统的整个开发过程。
2)通过课程设计,掌握数据库开发工具的使用以及综合编程调试的能力,结合数据库原理的基本理论,选用一种现代关系数据库系统,设计一个具体的信息管理系统,具备基本的数据库编程能力,为以后能进行数据库系统设计、开发与维护打下良好的基础。
3)提升工程实践能力、团队协作精神、交流与沟通能力;4)通过规范化的实验报告,培养学生良好的文档习惯以及撰写规范文档的能力。
二、课程设计的基本内容目录1.数据库需求分析 (4)1.1设计目的 (4)1.2系统功能分析 (4)1.3功能模块设计 (5)2.数据库概念结构设计 (6)2.1概念模型 (6)2.2 E-R 模型 (6)3.数据库逻辑结构设计 (8)3.1关系模型设计 (9)3.2数据模型的优化 (9)3.3子模式设计 (9)4.数据库物理结构设计 (9)4.1 存取方式设计 (9)4.2存储结构设计 (10)5.数据库安全性、完整性设计 (10)5.1主要视图设计 (10)5.2用户权限 (10)6.数据库实现 (11)6.1编码实现 (11)6.1.1主要数据表的创建 (11)6.1.2主要视图的创建 (14)6.1.3索引的创建 (14)6.1.4创建用户权限 (14)6.1.5创建存储结构 (15)7.数据录入调试及运行 (16)8.课程设计总结体会 (18)9.参考文献 (19)1•数据库需求分析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.酒店信息在酒店信息关系模式中,因仅有两个属性且属性间不存在部分依赖,传递依赖所以该模式设计合理符合第三范式。
物品信息在物品信息关系模式中,主属性可推出关系中的所有非主属性,关系中不存在传递依赖和部分依赖,且每一个决定因素都包含码,该关系模式满足BCN F范式。
入住信息3.3子模式设计为方便系统的使用,以及开发人员对程序的设计和顾客身份信息的安全性,本数据库系统采用子模式的设计方法来提高数据的使用效率和安全保障。
在酒店查询客房信息的时候设计一个子模式仅供系统用户查询到客房名称,客房类型,床位数量,住房单价等一些主要信息,而客房编号和酒店编号是为了系统的灵活性和数据库后台的方便操作而设计的用户可忽略。
在系统人员查询顾客身份信息时,系统可添加子模式使系统用户只能顾客身份证信息的前六位和后四位,以防止顾客信息的泄露。
在用户查询入住信息,评价信息,消费信息以及维修信息时,流水单号都可忽略,减少用户的信息阅读量。
4.数据库物理结构设计4.1存取方式设计由于本系统的数据信息的查询操作频繁,所以在部分表中建立索引以提高查询效率。
客房信息表修改删除插入操作较少,查询操作较为频繁,所以在该表中以客房编号上建立聚簇索引以提高查询效率。
顾客信息表由于插入操作较为频繁,所以不适合建立聚簇索引,采用在用户身份证号码属性上建立非聚簇索引的方法提高数据的查询效率。
入住信息表和预定信息表要频繁的进行插入和查询操作,入住信息表和预定信息表中的流水单号具有有序的特性且插入的操作仅发生在表的末尾,所以适合在该模式的流水单号属性上建立聚簇索引便于数据的查询。
由于职工表的在本系统使用频率较少且数据量较少,添加索引反而使系统在索引的维护上耗费大量时间,所以不建议添加索引。
评价表由于要经常的插入和查询数据,且该表的数据量随营业时间增加而增加,所以要添加索引以提高系统对数据的查询效率。
4.2存储结构设计本系统的数据的存储结构可根据数据的规模的进行设计,对于小型的酒店建议采用单个硬盘的存储方式,减少设计开销。
对于大型的酒店,数据量较大,建议使用多个磁盘或使用磁盘阵列的形式来存储数据。
具体的设计要根据实际情况进行详细的设计。
5.数据库安全性、完整性设计5.1主要视图设计顾客加密信息(顾客身份证号,顾客姓名)顾客身份证号码只显示前六位和后四位。
客房基本信息(客房名称,客房类型,床位数量,住房单价)入住基本信息(房间编号,顾客身份证号,入住时间,退房时间,住宿时长,住宿费用)身份证号码只显示前六位和后四位。
预定基本信息(顾客身份证号,房间类型,预定时间,预定入住时长,押金,预定状态)身份证号码只显示前六位和后四位。
顾客消费总金额(客房名称,客房类型,入住时间,退房时间,住宿时长,住宿费用,消费总金额)5.2用户权限酒店经理:对于客房信息表具有查看,修改,添加权限。
对于顾客信息表具有查看权限。
对于入住和预定信息表具有查看权限。
对于员工信息表具有查看,修改,插入和删除权限。
酒店会计:对于客房信息表具有查看结算信息表具有查看和插入权限。
对于员工表具有查看权限。
酒店前台:对于客房信息表具有查看权限,对其中的客房的入住状态具有修改权。
对于顾客信息表具有插入权。
对于入住表和预定表具有插入权。
顾客:对客房信息某些记录具有查询权。
6.数据库实现6.1编码实现6.1.1主要数据表的创建CREATE DATABAS酒店客房信息管理系统]ON PRIMARY(NAME = N'酒店客房信息管理系统',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DA 酒店客房信息管理系统.mdf ,SIZE = 3072KB ,FILEGROWTH = 1024KB)LOG ON(NAME = N'酒店客房信息管理系统_log',FILENAME=N'C:\ProgramFiles\MicrosoftSQLServer\MSSQL10_50.MSSQLSERVER\MSSQL\DA 酒店客房信息管理系统」o g.ldf ,SIZE = 1024KB ,FILEGROWTH = 10%)create table 物品(物品编号char(5) primary key,物品名称char(30) not null,物品单价mo ney,物品类型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⑷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⑷foreign key references客房(客房编号), 顾客身份证号char(18) foreign key references顾客(身份证号), 员工工号char(6) foreign key references 员工(员工工号),预定时间date,预订时长int,预定状态char(10),退订时间date,扌甲金money);create table 入住(流水单号in t primary key IDENTITY (1, 1),入住客房编号char⑷foreign key references客房(客房编号), 顾客身份证号char(18) foreign key references顾客(身份证号), 入住时间date,退房时间date,住宿费用mo ney,);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索引的创建因其他表在建立主键时以默认添加,此处不再添加额外索引。