某宾馆客房管理系统-数据库课程设计
宾馆数据库课程设计

宾馆数据库课程设计一、课程目标知识目标:1. 学生能理解数据库的基本概念,掌握宾馆数据库的构建原理。
2. 学生能学会使用数据库管理系统(如MySQL、SQLite等)进行宾馆信息的数据录入、查询、更新和删除操作。
3. 学生能掌握数据表之间的关系,如一对一、一对多关系,并能运用到宾馆数据库的设计中。
技能目标:1. 学生能够独立设计并实现一个简单的宾馆数据库系统,包括数据表设计、数据录入和基本查询功能。
2. 学生能够运用所学知识解决实际宾馆管理中的数据存储和查询问题,提高数据处理能力。
3. 学生能够通过实际操作,掌握数据库的基本操作技能,为后续学习打下基础。
情感态度价值观目标:1. 学生通过学习宾馆数据库课程,培养对信息技术的兴趣和爱好,提高解决问题的自信心。
2. 学生在学习过程中,培养合作精神,学会与同学分享、讨论和交流,增强团队协作能力。
3. 学生能够意识到数据库技术在宾馆管理中的重要性,认识到信息技术的应用价值,激发对相关领域的学习和研究兴趣。
课程性质:本课程为信息技术课程,以实践操作为主,理论联系实际,注重培养学生的动手能力和实际应用能力。
学生特点:初中年级学生,对计算机操作有一定的基础,对数据库知识有一定的好奇心,但需引导和激发学习兴趣。
教学要求:结合学生特点,以实践操作为主线,注重启发式教学,引导学生主动探究,提高学生的实际操作能力和解决问题的能力。
同时,关注学生的情感态度价值观的培养,使之形成积极的学习态度和良好的团队协作精神。
通过分解课程目标为具体学习成果,为后续教学设计和评估提供依据。
二、教学内容1. 数据库基本概念:数据库的定义、作用、分类;关系数据库的原理和特点。
2. 数据库设计:宾馆数据库需求分析,实体关系模型(E-R图)的绘制;数据表设计,包括字段类型、主键、外键的设置。
3. 数据库管理系统:介绍常用的数据库管理系统,如MySQL、SQLite等,并实际操作演示。
4. 数据操作:数据录入、查询(单表查询、多表联合查询)、更新、删除等基本操作。
宾馆管理系统数据库应用课程设计报告

西南科技大学数据库应用课程设计报告宾馆管理系统数据库设计学生姓名:学号:班级:指导老师:学院:提交日期:2016 年6月8日数据库应用课程设计评阅目录前言 (4)1.需求分析 (4)1.1系统功能背景资料 (4)1.2系统功能 (4)2.概要结构设计 (5)3.逻辑结构设计 (7)3.1关系模式设计 (7)3.2 关系模式的分析优化 (8)4.数据库物理设计 (10)5.数据库实施 (12)5.1.1各数据表说明 (12)5.1.2数据库创建 (12)5.2数据库操作 (12)6.部分系统功能实现 (16)7.总结 (18)前言在计算机技术发达的今天,各行各业都能利用计算机、网络来优化自己的业务,使业务简洁化、有序化。
宾馆管理系统能为宾馆提供如下功能:通过房间号查询该房间的等级/价位与入住信息;通过订单号查询单次入住信息及消费情况;通过身份证号查询该客户等级,入住记录;通过日期查询宾馆当月资产变化记录。
1. 需求分析设计本系统模拟宾馆内的工作人员及房间资金等管理内容,包括房间管理、客人入住、店内消费管理、结算管理、实现分类查询、输出相应的数据报表。
系统需要管理的情况如下:房间管理、客人入住、店内消费管理、结算管理、实现分类查询、输出相应的数据报表。
宾馆管理系统能为宾馆提供如下功能:通过房间号查询该房间的等级/价位与入住信息;通过订单号查询单次入住信息及消费情况;通过身份证号查询该客户等级,入住记录;通过日期查询宾馆当月资产变化记录。
1.1系统功能背景资料客户在邮局订购报纸的管理内容包括:1).宾馆有一名总经理、多名会计和多名前台。
总经理负责宾馆的日常运营,会计负责对宾馆收入支出的统计管理,前台数据包括职工号等。
职工号在宾馆内唯一。
2).宾馆有各种标准的房间。
房间数据包括房间号、房间级别、房间价位以及房间的状态(是否已经有客人)。
房间号唯一表示一个房间,房间级别决定房间价位,房间有多种级别分别表示:单人间、标准间、豪华间、商务间、行政间。
数据库课程设计宾馆客房信息管理系统

数据库课程设计宾馆客房信息管理系统(总34页)本页仅作为文档封面,使用时可以删除This document is for reference only-rar21year.March一、设计内容与设计要求1.设计内容:数据库系统原理的课程设计要求学生综合利用本课程的有关知识,在教师的指导下,利用特定的数据库设计环境,针对具体的问题,完成从系统的需求分析、数据库的概念设计、数据库的逻辑设计,到数据库实现等设计过程,最终实现一个较为完整的反映应用需求的数据库系统。
因此,在设计中,要求学生应该全面考虑各个设计环节以及它们之间的相互联系。
下面是各个设计阶段的具体内容。
⒈系统需求分析需求分析是数据库系统设计的一个重要的环节。
本阶段应该对整个应用情况作全面的、详细的调查,确定特定数据库应用环境下的设计目标,收集该应用环境下针对系统设计所需要的基础数据以及对这些数据的具体存储要求,从而确定用户的需求。
用户对数据库的需求包括:⑴处理需求。
即用户要完成什么处理功能等。
学生在设计中应根据具体的课题要求确定系统应该实现的功能,一些基本的功能通常是必须具备的,如用户的管理与维护,基本数据的维护,灵活的信息查询等。
⑵信息需求。
即在数据库中需要存储哪些数据。
学生应该根据具体的课题,认真分析有关的要求,确定本设计的信息需求。
⑶安全性和完整性功能。
实践中这是一个需要与用户不断交流才能逐步确定的需求。
本课程设计要求学生在自己的设计中能反映出基本的安全性和完整性功能。
本阶段的设计结果(即系统需求分析)应该在课程设计报告中进行详细描述,画出系统的数据流图,写出较为详细的数据字典,作为本课程设计的验收依据之一。
⒉数据库的概念设计数据库的概念设计是在需求分析的基础上,利用与用户双方都能理解的形式,设计出数据库的概念模型。
本课程设计要求学生采用E-R方法进行数据库的概念设计。
本设计阶段可分为:● 数据抽象。
即根据需求分析的结果,抽取出与本课程设计相关的特性。
某宾馆客房管理系统——数据库课程设计03221

数据库原理课程设计报告摘要宾馆客房管理系统是对宾馆管理的现代化、网络化管理手段,逐步摆脱宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。
宾馆客房管理系统是宾馆经营管理中不可缺少的部分它的内容对于经营的决策者和管理者来说都至关重要,所以客房管理系统、信息管理系统应该能够为用户提供充足的信息和快捷的查询手段。
但一直以来人们使用传统人工的方式管理文件档案。
这种管理方式存在着许多弊端如:效率低、保密性差容易出现差错等。
且对于查询空房间及已定房间等极为不方便。
在当今时代,这些完全可以改用计算机来代替人的手工操作。
作为计算机及网络应用的一部分使用计算机对客房信息进行管理,具有手工管理所无法比拟的优点。
例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。
这些优点能够极大地提高客房经营管理的效率。
也是企业的科学化、正规化管理与世界接轨的重要条件。
且办事效率也是决定收入的一个关键因素。
宾馆客房管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能模块的查询和更新功能。
其中客户信息管理、入住和退房管理是系统开发的重点。
本系统由问题描述、系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、存储过程设计、视图设计、数据库实施和维护组成。
目录1.问题描述 (1)1.1背景 (1)1.2编写目的 (1)1.3功能要求 (1)2.可行性分析 (2)3.需求分析 (2)3.1需求分析 (2)4 系统概要设计 (3)4.1数据流图 (4)4.2数据字典 (8)5.概念结构设计 (8)5.1 E-R 图 (8)5.2实体及属性的定义 (10)6.逻辑结构设计 (12)7.物理结构设计 (13)8.触发器设计 (14)9.数据库的实施和维护 (14)10.结束语 (16)1. 问题描述1.1 要求某宾馆客房管理系统实现客房类型、价目信息、客房信息的管理;实现客户信息的管理;实现入住和退房管理;实现费用管理;创建触发器,实现入住和退房时自动修改客房的状态;创建存储过程统计某段时间内各种类型的客房的入住时间合计和费用合计;创建视图查询某一时刻没有入住的房间信息;建立数据库相关表之间的参照完整性约束。
宾馆管理系统数据库课程设计

宾馆管理系统数据库课程设计1. 引言宾馆管理系统是一种将计算机技术应用于宾馆管理的智能化系统。
它旨在提高宾馆服务质量和效率,简化宾馆工作流程,满足宾馆管理人员的日常运营和决策需求。
本文档主要介绍了宾馆管理系统数据库的课程设计。
2. 数据库设计2.1 实体宾馆管理系统中的主要实体包括:宾馆、客房、客户、员工和订单。
每个实体都有一组属性用于描述其特征和属性。
•宾馆:宾馆ID、宾馆名称、宾馆地址、联系电话等。
•客房:客房ID、房间号、客房类型、价格等。
•客户:客户ID、姓名、身份证号、联系电话等。
•员工:员工ID、姓名、职位、联系电话等。
•订单:订单ID、客户ID、客房ID、入住日期、退房日期等。
2.2 关系通过分析宾馆管理系统的需求,可以确定以下关系:•宾馆与客房之间的关系:一个宾馆可以有多个客房,一个客房只属于一个宾馆。
宾馆和客房之间是一对多关系。
•宾馆与员工之间的关系:一个宾馆可以有多个员工,一个员工只属于一个宾馆。
宾馆和员工之间是一对多关系。
•客房与订单之间的关系:一个客房可以有多个订单,一个订单只属于一个客房。
客房和订单之间是一对多关系。
•客户与订单之间的关系:一个客户可以有多个订单,一个订单只属于一个客户。
客户和订单之间是一对多关系。
2.3 数据表设计基于上述实体和关系,可以设计以下数据表:•宾馆表(hotel)–宾馆ID(hotel_id):主键–宾馆名称(hotel_name)–宾馆地址(hotel_address)–联系电话(hotel_phone)•客房表(room)–客房ID(room_id):主键–宾馆ID(hotel_id):外键,关联宾馆表–房间号(room_number)–客房类型(room_type)–价格(room_price)•客户表(customer)–客户ID(customer_id):主键–姓名(customer_name)–身份证号(customer_idcard)–联系电话(customer_phone)•员工表(employee)–员工ID(employee_id):主键–姓名(employee_name)–职位(employee_position)–联系电话(employee_phone)–宾馆ID(hotel_id):外键,关联宾馆表•订单表(order)–订单ID(order_id):主键–客户ID(customer_id):外键,关联客户表–客房ID(room_id):外键,关联客房表–入住日期(checkin_date)–退房日期(checkout_date)3. 数据库操作宾馆管理系统需要支持以下数据库操作:•添加数据:可以向宾馆、客房、客户、员工和订单表中添加数据,如插入新的宾馆、客房、客户、员工和订单记录。
宾馆客房管理系统--数据库课程设计

数据库原理课程设计题目宾馆客房管理系统目录1 系统前期分析设计 (2)1.1系统调查 (2)1.2用户需求 (2)1.3系统需求分析 (2)1.4概念设计 (4)1.5逻辑结构设计 (6)2 系统具体实施过程 (6)2.1程序代码 (6)2.2 数据库的完整性和安全性 (10)2.3参考文献 (10)3 总结 (11)1.系统前期分析设计1.1 系统调查近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。
尤其是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。
然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。
像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。
但对占80%以上的广大中小型宾馆来说,是难以做到的。
因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。
而对宾馆的经营状况起决定作用的是客房的管理。
简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。
传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用的一个管理系统。
1.2 用户需求建立一套功能完善的管理信息系统,既能满足业务人员日常处理的需要,增强企业经营全过程的数字化管理水平;又能满足管理人员决策分析的需要,提高公司管理层对公司经营反馈信息的响应速度。
从而大幅度提高工作效率,提高实施管理的准确性、科学性,使担负管理的工作人员从繁杂的手工劳作中解脱出来。
﹡快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间﹡准确实现客人预订入住的要求,实现有效及有保障的前台系统作业﹡快速响应住宿客人的有关项目查询要求﹡实现入住、消费、结账一条龙服务,方便客人在店内的各类消费要求﹡提供清晰、准确的各类明细报表、账单,给客人留下良好的管理印象1.3 系统需求分析需求分析图:宾馆客房管理系统的数据字典:(宾馆客房管理系统的数据流——客人信息)(宾馆客房管理系统的数据流——订单)(宾馆客房管理系统的数据流——客房信息)(宾馆客房管理系统的数据流——入住单)(宾馆客房管理系统的数据流——帐单)宾馆客房管理系统的数据项:1.4 概念设计1.5逻辑结构设计客人信息 (预定人姓名,身份证号,VIP)订单 (订单编号,姓名,身份证号,客房编号,客房类型,抵店时间,入住人数,预定人,电话,住几天,订单状态)客房信息(客房编号,客房类型,客房价格,客房状态)入住单(入住单号,客房编号,客房类型,入住时间,入住人数,姓名,退房时间,订单编号,入住单状态)帐单(帐单编号,客房编号,姓名,消费金额,入住时间,退房时间,备注)2.系统具体实施过程2.1程序代码create database hotelmanager /*创建数据库hotelmanager*/gouse hotelmanagergocreate table cusinfo /*创建数据表cusinfo*/(dingname varchar(10) not null,cname varchar(10),cid char(18),vip char(2))gocreate table ordform /*创建数据表ordform*/(ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table roominfo /*创建数据表roominfo*/ (rid char(6) not null,rstyle varchar(10),kfzt char(2) not null)gocreate table liveorder /*创建数据表liveorder*/ (lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )gocreate table bill /*创建数据表bill*/(bno varchar(36) not null,rid char(6) not null,cname varchar(10),cust money,btime datetime,etime datetime,remarks varchar(40))gocreate table roomsp /*创建数据表roomsp*/ (rstyle varchar(10) not null,rprice money)gocreate table hordform /*创建数据表hordform*/ (ono varchar(36) not null,cname varchar(10) not null,csex char(2),cid char(18),rid char(6) not null,rstyle varchar(10),arrivetime datetime,cno char(10) not null,dingname varchar(10),livetime char(10),dingph char(15) not null,ozt char(4))gocreate table hliveorder /*创建数据表hliveorder*/(lno varchar(36) not null,rid char(6) not null,rstyle varchar(10),btime datetime not null,cno char(10),cname varchar(10) not null,etime datetime,ono varchar(36),lzt char(4) )goinsert into cusinfo values('mao','zcl','330227************','n')insert into cusinfo values('qxb','zyy','330227************','n')goinsert into roominfo values('2010','s','n')insert into roominfo values('2201','s','n')insert into roominfo values('2301','s','n')insert into roominfo values('3010','s','y')insert into roominfo values('3012','s','n')insert into roominfo values('3015','s','n')insert into roominfo values('4210','d','n')insert into roominfo values('4110','d','n')insert into roominfo values('4010','d','n')insert into roominfo values('5220','d','n')insert into roominfo values('5210','d','n')insert into roominfo values('5201','d','n')goinsert into roomsp values('s',200)insert into roomsp values('d',300)goinsert into ordform values('o0201001','zcl','f','330227************','2301','s','2010-01-02','1','mao','1','883060089','n')goinsert into liveorder values('l2010001','2301','s','2010-01-02','1','zcl','2010-01-03','o0201001','n') insert into liveordervalues('l2010002','3010','s','2010-01-03','1','qxb','2010-01-04','o0201002','y')insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010003','5220','d','2010-01-09','1','myy','o0201003','y')insert into liveorder(lno,rid,rstyle,btime,cno,cname,ono,lzt)values('l2010004','5201','d','2010-01-02','2','zxx',null,'y')goinsert into bill(bno,rid,cname,cust,btime) values('b2010003','5220','myy',0,'2010-01-10')insert into bill(bno,rid,cname,cust,btime) values('b2010004','5201','zxx',0,'2010-01-02')goalter table cusinfo add primary key(dingname)alter table ordform add primary key(ono)alter table roominfo add primary key(rid)alter table liveorder add primary key(lno)alter table bill add primary key(bno)alter table roomsp add primary key(rstyle)gocreate proc ordformproc @lno varchar(36) /*保存入住单*/asbegin tranupdate roominfo set kfzt='y' from roominfo,liveorder where liveorder.rid=roominfo.rid and liveorder.lno=@lno /*修改客房信息*/update ordform set ozt='y' from ordform,liveorder where liveorder.ono=ordform.ono and liveorder.lno=@lno /*修改预订单信息*/insert into hordform select * from ordform where ozt='y' /*将已入住的预订单放入历史*/delete from ordform where ozt='y' /*清除已入住预订单*/commitgoselect * from roominfoselect * from ordformgoexec ordformproc 'l2010001'exec ordformproc 'l2010004'select * from roominfoselect * from ordformgocreate proc liveorderproc @lno varchar(36) /*收银退房*/asbegin tranupdate liveorder set etime=getdate(),lzt='n' where lno=@lnoupdate roominfo set kfzt='n' from roominfo,liveorder where roominfo.rid=liveorder.rid and liveorder.lno=@lno /*修改客房状态*/insert into hliveorder select * from liveorder where lno=@lno /*导入历史*/ delete from liveorder where lno=@lno /*清除入住单*/commitgoselect * from liveorderselect * from hliveordergoexec liveorderproc 'l2010004'goselect * from liveorderselect * from hliveorderselect *from roominfo where rid='5201'gocreate proc billproc @lno varchar(36) /*计算应收款*/asbegin trandeclare @total moneydeclare @datecount intupdate liveorder set etime=getdate() where lno=@lno /*设置离店时间*/select @datecount=datediff(dd,btime,getdate()) from liveorder where lno=@lno /*计算住店天数*/select @total=0select @total=@datecount*(isnull(rprice,0)) from liveorder,bill,roomspwhere bill.rid=liveorder.rid and liveorder.rstyle=roomsp.rstyle and lno=@lno /*计算住店金额*/update bill set etime=getdate(),cust=@total from bill,liveorder where bill.rid=liveorder.rid and lno=@lno /*修改账单*/commitgoselect * from liveorderselect * from billgoexec billproc 'l2010004'goselect * from liveorderselect * from bill2.2 数据库的完整性和安全性1.数据库的完整性数据库的完整性是指数据的正确性和相容性。
宾馆客房管理系统数据库设计报告(精选五篇)

宾馆客房管理系统数据库设计报告(精选五篇)第一篇:宾馆客房管理系统数据库设计报告宾馆客房管理系统数据库设计报告摘要:本系统是宾馆客房管理系统,该报告主要介绍了数据库的设计,建立,主要功能的实现。
数据库系统包括员工管理、客房管理、顾客管理几个大块。
主要实现了登记功能,预订功能,多种方法查询顾客功能,查看客房状态功能,操作人员对系统的修改功能,以及结账报表功能。
一、需求分析(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,预订功能采用存储过程实现,由工作人员调用存储过程,在入住表中插入相应信息,并且设计触发器,在预定的同时在客房状态表中修改客房状态为“已入住”。
宾馆客房管理系统数据库课程设计

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、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
数据库原理课程设计报告设计题目某宾馆客房管理系统专业班级学号学生姓名同组人起止日期年月日至月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数据字典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)客房物品Roomitem(Rno,Ritemno,Ritemname,Ritemprice,Ritemstate,Ritemnum)数据库模式定义5.物理结构设计数据库的物理设计就是为逻辑数据模型选取一个最合适应用要求的物理结构的过程,在这个阶段要完成两大任务。
(1)确定数据库的物理结构,在关系数据库中主要是存储方法和存储结构。
(2)对物理结构进行评价,评价的重点是时间和空间效率。
CREATE UNIQUE INDEX Travno ON Travellers(Tno)CREATE UNIQUE INDEX Roomno ON Rooms(Rno)CREATE UNIQUE INDEX Ritemno ON Roomitem(Ritemno)CREATE UNIQUE INDEX Livno ON Living(Tno)6.触发器设计触发器C1的功能为当有一条信息插入Living表中时,触发Rooms表中的Rstate='满'。
代码如下:create trigger c1on tb_Living for insertasif exists(select * from tb_Living,tb_Rooms where tb_Living.Rno=tb_Rooms.Rno)beginupdate tb_Roomsset Rstate='满'where Rno=(select Rnofrom inserted)End触发器C2的功能为当从Living表中删除一条信息时,触发Rooms表中的Rstate='空'。
代码如下:create trigger c2on tb_Living for deleteasif exists(select * from tb_Living,tb_Rooms where tb_Living.Rno=tb_Rooms.Rno) beginupdate tb_Roomsset Rstate='空'where Rno=(select Rnofrom deleted)End7.数据库的实施和维护7.1 建立数据库、数据表、索引1.建立数据库Create database db_hotel;2.建立数据表(1)客户基本信息表Travellers的建立。
Create table tb_Travellers(Tno int Check(Tno>=0 and Tno<=9999),Tname char(10) not null,Tsex char(2) Check(Tsex in (‘男’,’女’)),Tid char(20) not null,Primary key (Tno));(2) 客房基本信息表Rooms的建立。
Create table tb_Rooms(Rno int not null,Rstyle char(10) not null,Rprice intRstate char (10)Rtel char(15)PRIMARY KEY (Rno));(3)客房物品信息表Roomitem的建立。
Create table tb_Roomitem(Ritemno int not null,Rno int not null,Ritemname char(20) not null,Ritemprice intRitemstate char(10)Ritemnum intPrimary key (Ritemno)Foreign key (Rno) references tb_Rooms(Rno));(4) 客户住宿信息Living的建立。
Create table tb_Living(Tno 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_Travellers(Tno),Foreign key (Rno) references tb_Rooms(Rno));3.建立视图(1)查询客户(Travellers)信息的视图定义如下。