数据库应用技术大作业——旅馆管理系统数据库设计

合集下载

宾馆管理系统数据库应用课程设计报告

宾馆管理系统数据库应用课程设计报告

西南科技大学数据库应用课程设计报告宾馆管理系统数据库设计学生姓名:学号:班级:指导老师:学院:提交日期: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).宾馆有各种标准的房间。

房间数据包括房间号、房间级别、房间价位以及房间的状态(是否已经有客人)。

房间号唯一表示一个房间,房间级别决定房间价位,房间有多种级别分别表示:单人间、标准间、豪华间、商务间、行政间。

宾馆住宿管理系统数据库设计

宾馆住宿管理系统数据库设计

《数据库原理及应用》课程设计报告设计题目:宾馆住宿管理管理数据库设计班级信管112学号001姓名军军指导教师日期2012年秋季学期目录1数据库需求分 (3)1.1调查对象基本情况说明1.2数据库系统设计目标及具体功能2数据库概念结构设计 (3)2.1实体及属性说明2.2 E-R图设计3数据库逻辑结构设计 (4)3.1数据库逻辑结构设计3.2主要表的作用说明及内容图示4主要视图设计 (8)5安全体系设计 (10)6典型需求的处理过程及命令 (12)7总结 (12)7.1 设计中遇到的主要问题及解决方法7.2设计方案的主要优点及不足7.3 收获及建议参考文献 (13)宾馆住宿管理系统数据库设计1数据库需求分析1.1调查对象基本情况说明以西安市雁塔区“古城环保商务会所”为例,调查信息包括:顾客的入住信息,以及宾馆的客房信息等,其中该宾馆有老板、前台工作人员。

老板从全局管理各类事务,负责对宾馆收入统计管理,前台负责客人的入住、退房以及一般的查询等事务办理。

房间编号唯一表示一个房间,房间级别决定房间价格,宾馆在正常运营中需要对客房资源、顾客信息、顾客住宿情况、收费信息进行管理。

一套简便而又实用的宾馆住宿管理系统数据库有利于提高宾馆管理效率。

1.2数据库系统设计目标及具体功能为了方便“古城环保商务会所”住宿的管理工作,建立这样一套功能完善的管理系统数据库,非常重要,这样的管理系统数据库既能满足业务人员日常处理事务的需要,又能增强企业经营全过程的数字化管理水平;,提高公司管理层对公司经营反馈信息的响应速度。

从而大幅度提高工作效率,提高实施管理的准确性、科学性1)快速实现客人入住登记和账务处理,减少客人住店及离店时的等待时间2)快速响应住宿客人的有关项目查询要求3)实现入住、消费、结账一条龙服务,方便客人在店内的消费要求2数据库概念结构设计2.1实体及属性说明(1)顾客信息:姓名,年龄,性别,身份证号,联系电话,详细住址(2)客房信息:房间编号,房间类型,房间单价,所在楼层(3)住宿信息:订单编号,住宿费折扣,入住时间,入住人数,入住天数,退房时间(4)消费:预交押金,所付金额,找还金额2.2 E-R图设计3数据库逻辑结构设计3.1数据库逻辑结构设计(1)顾客信息:(订单编号,姓名,年龄,性别,身份证号码,联系电话,详细住址,房间编号)(2)客房信息:(房间编号,房间类型,房间单价,所在楼层)(3)住宿信息:(订单编号,住宿费折扣,入住时间,入住人数,入住天数,预交押金)(4)退房信息:(订单编号,退房时间,所付金额,找还金额)(5)调房信息:(订单编号,原始房间编号,目标房间编号,住宿天数,入住时间,预交押金,联系电话)(6)消费信息:(订单编号,房间编号,消费金额)画横线的为每一项的主码。

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

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

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

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

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

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

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

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

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

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

⑵信息需求。

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

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

⑶安全性和完整性功能。

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

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

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

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

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

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

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

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

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

数据库原理课程设计报告设计题目某宾馆客房管理系统专业班级学号学生姓名同组人起止日期年月日至月1 日摘要宾馆管理系统是对宾馆管理系统的现代化、网络化,逐步摆脱当前宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。

传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。

它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能模块的查询和更新功能。

其中客户信息管理、入住和退房管理是系统开发的重点。

本文讲述的是基于客户/服务器的宾馆管理系统,实现了宾馆管理的信息化。

本系统涉及数据库方面的技术,采用SQL语言来实现。

本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成。

目录1.问题描述 ................................................................................................................................................1.1背景.......................................................................................................................................................1.2功能要求............................................................................................................................................... 2.需求分析 ..............................................................................................................................................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背景随着宾馆业竞争的加剧,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。

宾馆信息管理系统数据库课程设计报告

宾馆信息管理系统数据库课程设计报告
数据库管理系统
由于酒店管理系统是一个典型的数据库应用系统,因而选择一个良好的DBMS是系统实现的另一个重要环节。DBMS访问数据库。一般来说现代的DBMS具备以下几个功能:
(1)事务的恢复功能:为尽可能减少由于故障而引起的数据库数据失效的损失,现代的DBMS通常具备恢复功能。
(2)完整性约束检查:由于数据库中的数据是持久和共享的,其正确性十分重要,
为保证数据的正确性,DBMS提供对数据库数据的语法和语义的检查,数据在语义上的约束称为完整性约束。
(3)访问控制:并不是任何用户可以不加限制的访问任何数据库中的数据,DBMS
应有控制用户访问权限的功能,即所谓的访问控制功能,访问控制不但可以限制用户的访问范围,而且可以限制用户可进行的操作。
(4)数据目录管理:数据库中保留的是持久和共享的数据,对数据的定义应不同于一般的程序设计语言,应独立于应用程序,长期保留在数据库中,这就构成了数据目录,数据目录的管理是DBMS的基本功能。
取消预订订单(直接删除预订订单,恢复房间的可用状态)
将预订订单直接转为入住(省去了再次生成入住订单的程序)
房间查询(可按照房间号、房间类型、房间状态查询)
客户查询(可按照客户姓名、客户身份证号、入住类型查询)
入住客户中途换房(只能换同种类型房间,消费金额不变)
入住客户正常退房(根据入住时间计算消费金额,最后客户应缴费用为总费用与已交押金之差)
(3)管理员功能:除了前台接待的功能之外,还包括
房间信息设定及修改(包括客房类型,客房分机号,楼层,备注)
个人信息修改(包括个人密码,联系方式,住址)
增加客房类型(包括类型号,单价,床位数,房间设施,面积等)
增加客房信息(包括房间号,房间类型,房间分机,楼层,备注)

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

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

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. 数据库设计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. 数据库操作宾馆管理系统需要支持以下数据库操作:•添加数据:可以向宾馆、客房、客户、员工和订单表中添加数据,如插入新的宾馆、客房、客户、员工和订单记录。

原创宾馆管理系统数据库表的设计

原创宾馆管理系统数据库表的设计

原创宾馆管理系统数据库表的设计概述本文将介绍一个宾馆管理系统的数据库表设计方案。

宾馆管理系统是一个用于管理宾馆房间、客户、预订和入住等信息的系统,通过数据库表的设计,实现数据的存储和管理。

下面将分别介绍宾馆管理系统中的各个数据库表及其字段。

房间表(Room)该表用于存储宾馆的房间信息,包括房间号、房型、价格、是否可预订等字段。

字段名数据类型描述room_id int(11) 房间ID,主键room_number varchar(20) 房间号room_type varchar(50) 房型price decimal(10,2) 价格is_bookable tinyint(1) 是否可预订(0表示不可预订,1表示可预订)客户表(Customer)该表用于存储客户信息,包括姓名、性别、联系电话、邮箱等字段。

字段名数据类型描述customer_id int(11) 客户ID,主键name varchar(50) 姓名gender char(1) 性别(M表示男性,F表示女性)phone_number varchar(20) 联系电话email varchar(50) 邮箱预订表(Reservation)该表用于存储客户的预订信息,包括预订号、预订日期、房间ID、客户ID等字段。

字段名数据类型描述reservation_id int(11) 预订ID,主键reservation_date date 预订日期room_id int(11) 房间ID,外键,关联房间表customer_id int(11) 客户ID,外键,关联客户表入住表(CheckIn)该表用于存储客户的入住信息,包括入住号、入住日期、房间ID、客户ID、入住天数等字段。

字段名数据类型描述checkin_id int(11) 入住ID,主键checkin_date date 入住日期room_id int(11) 房间ID,外键,关联房间表customer_id int(11) 客户ID,外键,关联客户表duration int(11) 入住天数账单表(Bill)该表用于存储客户的账单信息,包括账单号、入住ID、房费、其他费用等字段。

数据库设计宾馆管理

数据库设计宾馆管理

最新资料,word文档,可以自由编辑!!精品文档下载【本页是封面,下载后可以删除!】目录一背景1.1 编写目的 (3)1.2 课题背景 (3)1.3 系统开发环境 (4)二需求分析2.1 系统基本要求 (4)2.2 系统流程图 (8)2.3 系统总功能图 (9)三数据库逻辑设计3.1 实体关系[E-R图]设计 (9)3.2 建立数据表 (11)3.3 关系约束 (13)四数据库具体程序设计 (15)五实验总结 (23)一背景1.1 编写目的21世纪是科技与信息时代,随着现代计算机技术的飞速发展,信息改变了我们整个人类社会。

客房管理的信息化是将计算机与网络信息技术相结合并且应用于现代经营与管理,以科学的现代化工具代替传统手工作业的新型管理方式。

客房管理系统是宾馆管理的核心,也是宾馆管理中不可缺少的部分,它的内容和形式对于经营的决策者和管理者来说都至关重要。

使用网络信息化的技术管理客房,不仅可以避免传统人工的方式管理宾馆资料和文档时出现的效率低、保密性差、误差多的弊端,而且对于空房间及已定房间的查询也很方便。

新型的管理方式极大的提高了经营管理的效率,也是促进宾馆科学化、正规化、国际化的重要条件。

在此基础上,网络技术应用于宾馆管理已成为一种必然趋势。

建立宾馆管理信息系统,可以进一步提高整个宾馆行业的经济效益和现代化水平,实现客房管理信息化、系统化、规范化和自动化。

1. 2 课题背景随着现代化社会的发展,宾馆服务业与国际化市场接轨已是潮流所趋。

宾馆是服务至上的行业,从每一位的客人的预订开始,到入住登记直至最后的退房结账,每一个步骤都要重视。

随着计算机技术的飞速发展,计算机在宾馆中的应用已经深入各个部门,尤其是在对信息的处理方面,计算机已经成为最为重要的工具。

本宾馆管理系统是针对现代宾馆的管理,以方便酒店经营者和管理者及时了解酒店的客房信息状态,为用户提供简单、快速的服务,从而提高酒店的服务质量,获得更好的经济效益。

数据库课程设计之宾馆住宿管理系统

数据库课程设计之宾馆住宿管理系统

宾馆住宿管理系统本系统针对宾馆住宿的一般管理模式,采用基于计算机网络技术的宾馆管理解决方案,按照宾馆的现代化管理要求设计,实现对宾馆住宿的接待,客房,订房,收支情况,电话等服务设施的全面全方位计算机管理。

目标在于提高宾馆营业体系的作业效率,提高服务的客户满意度,加强宾馆的市场竞争力,树立良好的企业形象.通过计算机管理,一方面提供给客户快捷准确可靠的服务,另一方面提高宾馆自身的管理水平,及时准确获取营业信息,辅助对市场需求变化的决策.第一章系统概述1.1系统开发的背景和意义随着我国经济的迅速发展,人们的生活水平有了显著的提高,假日经济和旅游经济已成为人们消费的热点。

各地也把旅游业当作本地经济发展的重要经济支柱之一,从而促进了宾馆酒店业的快速发展。

同时,随着宾馆酒店越来越多,人们的要求越来越高,宾馆酒店业的竞争也愈来愈激烈。

如何在激烈的竞争中生从发展,是每一个宾馆酒店必须面临的问题。

对宾馆的经营状况起决定作用的是宾馆的服务管理水平。

如何利用先进的管理手段、提高宾馆的管理水平,以成为宾馆酒店业发展的当务之急。

面对信息时代的机遇和挑战,利用科技手段提高企业管理水平是企业管理无疑的一条行之有效的途径。

现在的宾馆行业已经发生拉巨大变化,已不仅是提供给人们一个吃住行的简单场所,所以,将计算机管理引入宾馆的管理体系中,无疑对宾馆的服务水平更上一层楼提供了一种有利的支持。

虽然计算机管理并不是宾馆管理走向成功的关键元素,但它可以最大限度地发挥准确、快捷、高效等作用,对宾馆的服务管理提供强有力的支持。

因此,采用全新的计算机网络和宾馆管理系统,已成为提高宾馆的管理效率、改善服务的水准的重要手段之一。

在某种意义上,宾馆客房管理方面的信息话已成为现代化宾馆的重要标志。

1.2系统所要实现功能该系统应充分利用信息技术提高宾馆客房的管理水平、服务水平。

酒店客房管理系统要实现客房住宿的登记、宿费提醒、追加押金、调房登记、退房结帐、查询统计等功能。

宾馆管理系统详细设计

宾馆管理系统详细设计

宾馆管理系统详细设计1.系统架构设计:2.功能设计:(1)房间管理:系统可以对宾馆的房间进行管理,包括房间的添加、修改、删除等操作。

房间信息包括房间号、房间类型、价格等。

(3)预订管理:系统可以对客户的预订信息进行管理,包括预订的添加、修改、删除等操作。

预订信息包括客户信息、房间信息、入住日期、离店日期等。

(4)结算管理:系统可以对客户的结算信息进行管理,包括结算的添加、修改、删除等操作。

结算信息包括客户信息、预订信息、入住日期、离店日期、应支付金额、实付金额等。

3.数据库设计:(1)房间表:包括房间号、房间类型、价格等字段。

(3)预订表:包括预订ID、客户ID、房间ID、入住日期、离店日期等字段。

(4)结算表:包括结算ID、预订ID、入住日期、离店日期、应支付金额、实付金额等字段。

4.界面设计:(1)房间管理界面:显示房间的列表,并提供添加、修改、删除等操作的按钮。

(2)客户管理界面:显示客户的列表,并提供添加、修改、删除等操作的按钮。

(3)预订管理界面:显示预订的列表,并提供添加、修改、删除等操作的按钮。

(4)结算管理界面:显示结算的列表,并提供添加、修改、删除等操作的按钮。

5.系统流程设计:(1)登录系统:用户输入用户名和密码进行登录验证操作。

(2)进入主界面:登录成功后,用户可以进入宾馆管理系统的主界面。

(3)根据需求选择功能:用户可以根据需求选择房间管理、客户管理、预订管理、结算管理等功能。

(4)执行相应操作:根据功能选择,用户可以执行相应的操作,如添加、修改、删除等。

(5)更新数据库:系统根据用户的操作,更新相应的数据库信息。

通过以上的详细设计,宾馆管理系统可以实现对房间、客户、预订和结算信息的全面管理。

它可以提高宾馆管理效率,方便客户预订和结算操作。

同时,该系统具备良好的可扩展性和可维护性,可以根据实际需求进行功能扩展和系统维护。

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

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

数据库课程设计报告宾馆信息管理系统数据库课程设计报告-------宾馆信息管理系统计算机科学与技术学院 08 级电子商务专业一、系统开发平台题目:酒店信息管理预订系统开发语言:Java Eclipse /netbeans后台数据库管理系统:SQL Server 2000 操作系统:windows xp二、数据库规划2.1 任务陈述引言客房管理系统是典型的信息管理系统的一部份,而且是必不可少的一部份。

其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。

对于前者要求建立起简洁且资料一致性和完整性强、资料安全性好的数据库。

而对于后者则要求应用程序功能完备,易使用等特点。

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

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

在当今时代,这些完全可以改用计算机来代替人的手工操作。

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

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

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

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

因此,我选择的酒店客房管理系统设计,力求开发出一套界面友好,功能强大,使用简单的适用于各大、中、小规模的酒店客房的管理系统。

同时也是一款完全适合宾馆或旅馆酒店客房管理傻瓜式日常业务管理的软件。

酒店系统由前台和后台管理两个部分组成。

前台作为与前台服务员直接交互的可视化界面,由于使用方便,能将系统的各个功能提供给他们,以帮助服务员进行客房管理。

前台在考虑功能实现的同时,也考虑了操作的简洁和方便性,目的是让大多数客户能够轻松地享受电子商务给他们带来的便利。

原创宾馆管理系统数据库

原创宾馆管理系统数据库

原创宾馆管理系统数据库引言在现代社会,随着人们生活水平的提高,旅游业蓬勃发展。

宾馆作为旅游行业的重要组成部分,承载着人们的居住需求。

为了更好地管理宾馆业务,提高服务质量和效率,开发一套宾馆管理系统势在必行。

本文将对该系统的数据库进行设计和实现。

数据库设计目标宾馆管理系统数据库的设计目标如下: 1. 保证数据的一致性和完整性。

2. 提供高效的数据存取和查询性能,以满足系统业务需求。

3. 合理使用数据库表结构,降低系统开发和维护成本。

4. 提供友好的数据交互界面,方便用户操作。

数据库结构设计宾馆管理系统数据库由多个关联的表组成,每个表存储特定的数据。

下面是宾馆管理系统数据库的表结构设计:表1:用户信息表字段名数据类型说明用户ID int 用户唯一标识符用户名varchar(20) 用户名密码varchar(20) 用户密码姓名varchar(20) 用户真实姓名性别char(1) 用户性别(男/女)电话号码varchar(11) 用户联系电话注册时间datetime 用户注册时间表2:房间信息表字段名数据类型说明房间ID int 房间唯一标识符房间类型varchar(20) 房间类型(单人间/双人间)房间价格decimal(8,2) 房间价格是否入住boolean 是否已入住入住人ID int 入住人用户ID入住日期date 入住日期离店日期date 离店日期表3:订单信息表字段名数据类型说明订单ID int 订单唯一标识符用户ID int 下订单的用户ID房间ID int 订单对应的房间ID订单日期date 订单生成日期入住日期date 入住日期离店日期date 离店日期订单金额decimal(8,2) 订单金额表4:服务信息表字段名数据类型说明服务ID int 服务唯一标识符服务名称varchar(20) 服务名称服务价格decimal(8,2) 服务价格表5:房间服务关系表字段名数据类型说明ID int 关系唯一标识符房间ID int 房间唯一标识符服务ID int 服务唯一标识符数据库操作实现为了实现宾馆管理系统数据库的操作,可以使用关系型数据库管理系统,如MySQL或PostgreSQL。

宾馆管理信息系统--数据库逻辑结构设计(表与字段)

宾馆管理信息系统--数据库逻辑结构设计(表与字段)

根据概念结构设计的E-R图设计表、字段。

并根据数据操作需要,创建相关视图、存储过程和触发器。

(1)设计数据库数据库名称为“HotelManage”,数据库服务器访问方式采用“Windows集成安全性”。

(2)设计表与字段由E-R模型可知,本系统共需要5张表:●客房类型表●客房表●客户表●客户入住表●用户表首先是用户表,用于记录用户信息。

用户分为两类:普通用户和系统管理员。

用户表(User)下面是客房类型表,用于记录客房类型信息。

客房类型表(RoomType)下面是客房表,用于记录客房信息。

客房表(Room)下面是客户表,用于记录客户信息。

客户表(Client)下面是客户入住表,用于记录客户入住信息。

客户入住表(ClientBookIn)在建立完所有数据表之后,还要根据E-R图创建表间的关系。

表间关系如下:●ClientBookIn表和Client表之间的关系:FK_ClientBookIn_Client●ClientBookIn表和Room表之间的关系:FK_ClientBookIn_Room●Room表和RoomType表之间的关系:FK_Room_RoomType(3)设计视图在宾馆管理信息系统中,为便于浏览和管理客户入住的详细信息,可以创建视图View_ClientBookIn来显示与客户入住相关的客户、客房、客房类型等详细信息,以便以后综合浏览。

View_ClientBookIn视图的基础表及要显示的字段如下图:该视图的SQL语法如下:CREA TE VIEW dbo.view_ClientBookInASSELECT dbo.Client.ClientName, dbo.ClientBookIn.ClientID, dbo.ClientBookIn.RoomID, dbo.ClientBookIn.BookInDate, dbo.ClientBookIn.CheckDate,dbo.ClientBookIn.TotalMoney, dbo.Room.RoomTypeName,dbo.RoomType.PriceFROM dbo.Client INNER JOINdbo.ClientBookIn ON dbo.Client.ClientID = dbo.ClientBookIn.ClientID INNER JOIN dbo.Room ON dbo.ClientBookIn.RoomID = dbo.Room.RoomID INNER JOINdbo.RoomType ON dbo.Room.RoomTypeName = dbo.RoomType.RoomTypeName(4)设计存储过程根据数据操作需要,需要创建4个存储过程:(1)StoredProcedureAddClient存储过程该存储过程负责在客户入住时,对相应的客房实际人数增加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,预订功能采用存储过程实现,由工作人员调用存储过程,在入住表中插入相应信息,并且设计触发器,在预定的同时在客房状态表中修改客房状态为“已入住”。

原创宾馆管理系统数据库设计

原创宾馆管理系统数据库设计

原创宾馆管理系统数据库设计1. 引言宾馆管理系统是一种通过计算机技术来提供宾馆管理服务的系统。

该系统可以在宾馆中使用,帮助管理员管理房间、客户、预订、入住等信息。

为了实现这一目的,我们需要设计一个合理的数据库结构来存储和管理相关数据。

本文将介绍一个原创的宾馆管理系统数据库设计方案,包括数据表的设计、表之间的关系以及数据字段的定义,并通过Markdown文本格式输出。

2. 数据库设计2.1 客户表客户表用于存储宾馆的客户信息。

每个客户在宾馆中只有一条记录,其中包含客户的姓名、电话号码和住址等基本信息。

客户表的数据字段定义如下:字段名数据类型描述客户ID INT 客户唯一标识符姓名VARCHAR(50) 客户姓名电话号码VARCHAR(20) 客户联系电话住址VARCHAR(100) 客户住址2.2 房间表房间表用于存储宾馆的房间信息。

每个房间在宾馆中只有一条记录,其中包含房间的编号、类型和价格等基本信息。

房间表的数据字段定义如下:字段名数据类型描述房间ID INT 房间唯一标识符编号VARCHAR(20) 房间编号类型VARCHAR(20) 房间类型价格DECIMAL(8,2) 房间价格状态VARCHAR(20) 房间状态2.3 预订表预订表用于存储客户预订房间的信息。

每条预订记录包含客户ID、房间ID、预订时间和预订天数等信息。

预订表的数据字段定义如下:字段名数据类型描述预订ID INT 预订唯一标识符客户ID INT 客户唯一标识符房间ID INT 房间唯一标识符预订时间DATETIME 预订时间预订天数INT 预订天数是否入住BOOLEAN 是否入住(是/否)2.4 入住表入住表用于存储客户入住房间的信息。

每条入住记录包含客户ID、房间ID、入住时间和退房时间等信息。

入住表的数据字段定义如下:字段名数据类型描述入住ID INT 入住唯一标识符预订ID INT 预订唯一标识符客户ID INT 客户唯一标识符房间ID INT 房间唯一标识符入住时间DATETIME 入住时间退房时间DATETIME 退房时间3. 数据库关系系统中的数据表之间存在以下关系:•客户表与预订表:一对多关系,一个客户可以预订多条记录,但一条记录只属于一个客户。

数据库应用技术大作业——旅馆管理系统数据库设计

数据库应用技术大作业——旅馆管理系统数据库设计

数据库应⽤技术⼤作业——旅馆管理系统数据库设计SQL实践作业:旅馆管理系统数据库设计与实现————⾃动化学院⾃动化专业⼩组成员及所完成的⼯作:所完成的⼯作:数据库整体结构的设计,ER图的绘制和其他⼯作的审核系统名称:旅馆管理系统⼀、系统需求1.背景:随着科技和经济的发展,旅游业已经成为⼀个热门的产业,并且传统的⼿⼯已不适应现代酒店管理的需要,及时、准确、全⽅位的⽹络化信息管理成为必需。

在酒店的管理及业务⽇益复杂、要求在不断提⾼的现状下,利⽤⾼科技、现代化的电脑⾃动化管理系统来处理⽇益繁重的酒店业务,对于⼤型的酒店是必须具备的管理⽅式。

酒店客房管理系统是根据酒店对客房管理的实际情况进⾏编写的,主要⽬的是为了⽅便酒店对客房的实际情况进⾏集中的查询与管理⼯作,以提⾼整个酒店的⼯作。

酒店客房管理的科学化、系统化、信息化成为各个酒店追求的⽬标。

因此,⽽要实现这些功能,就要求各个酒店配备⼀套客房管理系统,以便在酒店内实施良好的完善的管理且以最快地速度响应客户的需求,及时为他们提供服务,为他们提供⼀个⾼效、便捷的居住环境。

2.旅店需求特点分析:通过对旅店的调研,对于旅店的需求特点有了基本了解(1)基本要求:系统能够进⾏客户的信息的存储,客户信息的删除,客户信息的更新,客户账单的结算……因此要求系统⼀定要严密准确,不能出现插⼊和删除异常,因此要求数据库系统的设计符合第四范式(2)⾼级要求:旅店⾯对的经常是⼀些突发的情况,⽐如客户的提前退房,客户要求换房,客户要求其他的附加服务……这些突发事件是我们在我们的系统中需要着重考虑的3.旅客需求特点分析:通过对⽤户的调研,我们发现⽤户希望住旅馆的⼿续能够尽量简单,但是要求旅馆的各种信息准确,出现错误的可能性尽量低4.旅店管理系统需求分析:●旅店的客房特点分析:(1)通过每个房间唯⼀的房间号来区别(也就是我们数据库系统中的room_num),房间分成不同的类型(room_type)有‘A’、‘B’、‘C’三种类型,它们对应的价格也会不同,这个由顾客⾃⼰选择,体现了我们设计系统的⼈性化;(2)房间的状态(room_state)会根据是否有⽤户⼊住⽽不同,如果该房间有⼈⼊住的话,那么就将房间的状态标记为busy;(3)房间同时拥有‘IsBooked’状态,如果房间被预定的话,那么就将这个房间的状态标记为‘Booked’,如果没有预定的话,那么房间的状态为‘nobook’,这样的话⽅便旅客‘⼊住’、‘换房’、‘续住’种种操作,避免住进了已经有⼈预订的房间,同时有些房间即使已经有⼈预定了,但是在预定旅客之前其他旅客还是可以住进来的,只要他在预定旅客⼊住之前退房就可以了,样⼤⼤提⾼了客房的利⽤率。

旅馆管理系统-数据库课程设计

旅馆管理系统-数据库课程设计

数据库原理课程设计说明书宾馆客房管理系统院、部:计算机与信息科学学院学生姓名:专业:网络工程班级: 1301完成时间: 2015-12目录1 系统需求分析 (1)设计前调查 (1)用户需求分析 (1)系统流程图 (2)2 数据库的概念结构设计 (3)概念结构 (3)宾馆客房管理系统概念结构设计 (3)3 数据库的逻辑结构设计 (4)逻辑结构 (4)关系模型 (4)4 数据库的物理结构设计 (5)表结构设计 (5)5 系统的设计与实现 (7)数据库的实施 (7)数据库的连接 (10)登录界面设计 (11)主界面设计 (12)宾馆管理系统界面设计 (12)6 课程设计总结 (15)参考文献 (16)附录1 数据库原理课程设计任务书 (17)附录2 数据库原理课程设计成绩评定表 (19)1 系统需求分析设计前调查近年来,宾馆业迅猛发展,市场的竞争日趋激烈,全面提高宾馆的软件管理水准,已成为宾馆业发展的当务之急。

尤其是对于星级宾馆,既需要完成前台的一些服务工作,还需要完成后台的管理工作。

然而,传统的人工管理模式已经远远不能满足有效、快捷地处理经营中产生的大量信息数据的需要,从而使得企业决策层无法及时、准确地掌握一线资料,继而影响对市场进行正确地分析和预测。

像沿海城市三星级以上宾馆引进外方管理,使小部分宾馆管理水准几乎接近或达到国际水平。

但对占80%以上的广大中小型宾馆来说,是难以做到的。

因此,欲在竞争中甩开对手,取得优势,必须在经营、管理、产品、服务等方面具备独到之处。

而对宾馆的经营状况起决定作用的是客房的管理。

简单的服务标准已不是制胜的锦囊,只有管理做到最细微之处,才能让顾客体会到宾馆服务的高标准、高质量,而准确、快速、周全往往就是最基本的成功要素。

传统的管理方法已经不能适应现代社会的需要,因此采用电脑管理业务、财务等诸多环节已成为推动宾馆业迅速发展的先决条件,宾馆客房管理信息系统是各大中小型宾馆所需要使用的一个管理系统。

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

SQL实践作业:旅馆管理系统数据库设计与实现————自动化学院自动化专业小组成员及所完成的工作:所完成的工作:数据库整体结构的设计,ER图的绘制和其他工作的审核系统名称:旅馆管理系统一、系统需求1.背景:随着科技和经济的发展,旅游业已经成为一个热门的产业,并且传统的手工已不适应现代酒店管理的需要,及时、准确、全方位的网络化信息管理成为必需。

在酒店的管理及业务日益复杂、要求在不断提高的现状下,利用高科技、现代化的电脑自动化管理系统来处理日益繁重的酒店业务,对于大型的酒店是必须具备的管理方式。

酒店客房管理系统是根据酒店对客房管理的实际情况进行编写的,主要目的是为了方便酒店对客房的实际情况进行集中的查询与管理工作,以提高整个酒店的工作。

酒店客房管理的科学化、系统化、信息化成为各个酒店追求的目标。

因此,而要实现这些功能,就要求各个酒店配备一套客房管理系统,以便在酒店内实施良好的完善的管理且以最快地速度响应客户的需求,及时为他们提供服务,为他们提供一个高效、便捷的居住环境。

2.旅店需求特点分析:通过对旅店的调研,对于旅店的需求特点有了基本了解(1)基本要求:系统能够进行客户的信息的存储,客户信息的删除,客户信息的更新,客户账单的结算……因此要求系统一定要严密准确,不能出现插入和删除异常,因此要求数据库系统的设计符合第四范式(2)高级要求:旅店面对的经常是一些突发的情况,比如客户的提前退房,客户要求换房,客户要求其他的附加服务……这些突发事件是我们在我们的系统中需要着重考虑的3.旅客需求特点分析:通过对用户的调研,我们发现用户希望住旅馆的手续能够尽量简单,但是要求旅馆的各种信息准确,出现错误的可能性尽量低4.旅店管理系统需求分析:●旅店的客房特点分析:(1)通过每个房间唯一的房间号来区别(也就是我们数据库系统中的room_num),房间分成不同的类型(room_type)有‘A’、‘B’、‘C’三种类型,它们对应的价格也会不同,这个由顾客自己选择,体现了我们设计系统的人性化;(2)房间的状态(room_state)会根据是否有用户入住而不同,如果该房间有人入住的话,那么就将房间的状态标记为busy;(3)房间同时拥有‘IsBooked’状态,如果房间被预定的话,那么就将这个房间的状态标记为‘Booked’,如果没有预定的话,那么房间的状态为‘nobook’,这样的话方便旅客‘入住’、‘换房’、‘续住’种种操作,避免住进了已经有人预订的房间,同时有些房间即使已经有人预定了,但是在预定旅客之前其他旅客还是可以住进来的,只要他在预定旅客入住之前退房就可以了,样大大提高了客房的利用率。

(4)考虑房间和顾客的关系,房间和旅客关系是一对多的,因为从现实出发,房间分为‘单人房’、‘双人房’等,旅客的收费是按照‘床位’来收费的,但是不同房间的床位的价格是不同的,但是在我们的数据库中默认所有的房间都是单人房,这是我们设计的不足,更理想的是在每种类型中分为‘单人房’、‘双人房’,然后为每个床位设立状态,每位顾客都是按照床位来收房,而不是简单的按照房间来收费,但是在现实生活中旅馆的类型又有很多种,我们所设计的数据库可能只是适合其中的部分类型的旅馆。

●旅客特点分析:从旅馆的角度来说,最重要的就是准确地记录旅客在住宿期间一切信息,并且要求准确(1)lodger表用来记录旅客的信息,有lodger_name,id_num,room_num,echeckin_date,exp_checkout_date,pre_payment(2)lodger表用来记录当前正在发生‘入住’的旅客的信息,这个表是动态的,如果旅客退房,与之相关的表示checkout实体集,将用户的信息载入这个表,因为退房的信息是非常关键的,因为旅店的账目的结算是要依靠这个表的,然后他的信息就会从lodger这个表中删除;旅客可能要求‘换房’,实现这个功能的是change_room联系集这个联系集联系了lodger和Room两个表,将原来的房间的状态修改为‘Free’,将新入住的房间修改为‘busy’;旅客可能要求续住,我们当然会满足这个要求,实现这个要求的要求是联系集con_room,如果旅客续住那么在情况允许的情况下,可以继续在原来的房间住宿,并修改exp_checkout_date 的信息,如果原来的房间已经有人预定的话,那么建议旅客更改房间,重新登记‘lodger’信息;旅店的账目管理特点分析旅店的账目管理系统是一个比较复杂的系统,要求每天都要进行更新,同时还须具备‘日结’、‘月结’、‘季度结’、‘年结’的功能,与此相关的是checkout,DayAccount,MonthAccount,YearAccount他们最终依赖的表都是checkout表,在我们的系统中checkout表用于记录退房用户的信息,我们并没有设定主键只是设立了外依赖,因为在这个表中不可能有两个完全相同的元组(lodger_name,room_num,cur_date,(cur_year,cur_month,cur_day),room_account,back_change),属性(lodger_name,room_num,cur_date,)使任意两个元组都不可能相同,因为cur_date是精确到秒的,在实际情况中具有相同lodger_name,在同一时间内从同一个房间退房时不会发生地,之所以不删除这个表的元组,是因为我们想保留这些信息以便日后的查询,比如核对账单,比如发生刑事案件需要旅店配合时,可能需要查询相关的信息……日结DayAccount的实现也比较复杂,首先我们定制一个作业‘Inseting DayAccount ’每天0:00:00向DayAccount插入一个用于初始化的元组,然后建立一个checkout与DayAccount之间的触发器,如果向checkout中插入信息,那么就将 room_account累加到DayAccount中的day_account中去,这样就能自动统计了每天的盈利状况MonthAccount和YearAccount的算法和DayAccount类似,同样通过定制作业和建立触发器,实现自动运算,在这就不多介绍了二、系统概念模型(E-R图)三、关系模式(逻辑模型)四、物理设计(表结构)Table1:Room(Entity Set)Attribute:room_num (房间号),room_type (房间类型),room_price(房间价格),room_state(房间状态),IsBooked (预定状态)PrimaryKey:room_numTable2:Lodger (Entity Set)Attribute:lodger_name (客户姓名),id_num (身份证号),room_num (房间号),checkin_date (入住时间),exp_checkout_date (预期退房时间),pe_payment (客户预付款)PrimaryKey:lodger_num,id_numForeignKey:room_num references RoomTable 3:Room_Prebook (Entity Set)Attribute:reserve_name (预定客户姓名),room_num (预定房间号),exp_checkin_date( 预期入住时间),pre_payment (预付款)PrimaryKey:reserve_nameForeignKey:room_num references RoomTable4:DayAccount (Entity Set)Attribute:cur_year (年),cur_month (月),cur_day (日),day_account(月结)PrimaryKey:cur_year,cur_month,cur_dayTable5:checkout(Relation Set)Attribute:lodger_name (客户姓名),room_num (房间号),cur_date (日期),(cur_year,cur_month,cur_day)(年/月/日),live_days (住宿天数),room_account (账单),back_change (找零)ForeignKey:lodger_name references Lodgerroom_num references RoomTable6:MonthAccount(Entity Set)Attribute:cur_year (年),cur_month (月),month_account (日结)PrimaryKey:cur_year,cur_monthTable7:YearAccount (Entity Set)Attribute:cur_year (年),year_account (年结)PrimaryKey:cur_yearTable8:Remind(EntitySet)Attribute:lodger_name (客户姓名),room_num (房间号),cur_date (日期)PrimaryKey:lodger_name,cur_dateForeignKey:lodger_name五、系统实现1.功能模块设计:(1)客房信息管理集合a)查询房间的空闲状态b)查询房间的预定状态c)查询某种类型房间的价格d)更新某种类型房间的价格e)更新房间的空闲状态f)更新房间的预定状态(2)旅客信息管理集合a)查询入住旅客的详细信息b)查询已预订旅客的信息c)查询已退房旅客的信息d)取消预定操作e)换房操作f)续住操作g)退房操作(3)旅店账户管理集合a)退房客户结算b)每日结算c)每月结算d)每年结算(4)服务管理项目集合a)每日提醒那些旅客已经到退房的时候b)每日提醒那些预定的客户将在今天住进来2.创建数据库的SQL语句CREATE DATABASE HotelON(NAME = N'Hotel',FILENAME = N'E:\Hotel\Hotel.mdf',SIZE = 3MB,MAXSIZE =UNLIMITED,FILEGROWTH = 1MB)LOG ON(NAME = N'Hotel_log',FILENAME = N'E:\Hotel\Hotel.ldf',SIZE =1MB,MAXSIZE =2048GB,FILEGROWTH = 10%)GO说明:分别建立了mdf文件和ldf文件,规定mdf文件的初始大小为3MB,增长速率为1MB每次,日志文件初始大小为1MB增长速率为10%.3.创建表的SQL语句(1)创建room表,存储客房信息CREATE Table Room(room_num int not null,room_state char(10)not null,room_type char(10)not null,room_price char(10)not null,primary key(room_num))(2)创建Lodger表,存储旅客信息CREATE Table Lodger(lodger_name char(20)not null,id_num bigint not null,room_num int not null,checkin_date datetime not null,exp_checkout_date datetime not null,pre_payment money,primary key(lodger_name),foreign key(room_num)references Room,unique(room_num))(3)创建Room_preBook表,用于存储预定客户信息CREATE TABLE Room_Prebook(reserve_name char(10)not null,room_num int not null,exp_checkin_date datetime not null,pre_payment money,primary key(reserve_name),foreign key(room_num)references Room)(4)创建日结表,存储日结信息CREATE Table DayAccount(cur_year int,cur_month int,cur_day int,day_account money,)(5)创建退房表,存储退房旅客信息CREATE Table Checkout(lodger_name char(20)not null,room_num int not null,cur_date datetime default GETDATE(),cur_year int,cur_month int,cur_day int,live_days int,room_account money,back_change money,foreign key(room_num)references Room)(6)创建MonthAccount表,存储月结信息create Table MonthAccount(cur_year int not null,cur_month int not null,Month_account money,foreign key(cur_year)references DayAccount )(7)创建YearAccount表,用于存储年结信息create Table YearAccount(cur_year int not null,year_account int not null,foreign key(cur_year)references DayAccount )(8)创建Remind表,用于每日提醒create Table Remind(lodger_name char(20)not null,room_num char(20)not null,cur_date datetime default getdate()foreign key(lodger_name)references Lodger) 4.存储过程展示:存储过程一:proc_query_freeroom代码:create proc proc_query_freeroomasselect room_num,room_type,room_statefrom roomwhere room_state ='Free'功能:查询当前空闲的房间存储过程二:proc_query_bookedroom代码:create proc proc_query_bookedroomasselect room_num,room_type,IsBookedfrom roomwhere IsBooked ='booked'功能:查询当前已经预定出去的房间存储过程三:proc_query_price代码:create proc proc_query_priceasselect distinct room_type,room_pricefrom room功能:查询不同类型房间的价格存储过程四:proc_inc_price代码:create proc proc_inc_price@room_type char(10),@new_price moneyasupdate roomset room_price = @new_pricewhere room_type = @room_type功能:更改某种类型房间的价格存储过程五:proc_QueryLodger代码:create procedure proc_QueryLodger@checkin_date datetimeasselect lodger_name,id_num,exp_checkout_date,pre_paymentfrom lodgerwhere datepart(day,checkin_date)=datepart(day,@checkin_date) 功能:查询指定日期入住的旅客存储过程六:proc_querybook代码:create proc proc_query_bookasselect room_num,reserve_name ,exp_checkin_date,pre_payment from Room_prebook功能:查询预订的旅客的信息存储过程七:proc_bookCancel代码:create procedure proc_bookCancel@reserve_name char(20)asupdate roomset IsBooked = 'nobook'where room_num = (select room_numfrom Room_PreBookwhere reserve_name = @reserve_name)delete from Room_PreBookwhere reserve_name = @reserve_name执行:执行后的room_prebook表存储过程八:proc_changeroom代码:create proc proc_changeroom@lodger_name char(10),@source_room_num int,@target_room_num intasif @lodger_name in(select lodger_name from lodger)and @target_room_num in(select room_num from room where room_state ='Free')beginupdate roomset room_state ='Free'where room_num = @source_room_numupdate roomset room_state ='Busy'where room_num = @target_room_numupdate lodgerset room_num = @target_room_numwhere lodger_name = @lodger_nameend存储过程九:proc_cont_lodge代码:create proc proc_cont_lodge@lodger_name char(20),@exp_checkout_date datetimeAsupdate Lodgerset exp_checkout_date = @exp_checkout_datewhere lodger_name = @lodger_nameupdate roomset room_state ='Busy'where room_num =(select room_numfrom lodgerwhere lodger_name = @lodger_name存储过程十:proc_checkout_lodger代码:create procedure proc_checkout_lodger@name char(20)asdeclare @room_num intinsertcheckout(lodger_name,room_num,cur_date,cur_year,cur_month,cur_day,liv e_days,room_account,back_change)select l.lodger_name,l.room_num,getdate(),year(getdate()),month(getdate()),day(getdate()),DATEDIFF(day, checkin_date,getdate()),DATEDIFF(day, checkin_date,getdate())* r.room_price ,l.pre_payment -DATEDIFF(day, checkin_date,getdate())*r.room_pricefrom lodger as l,room as rwhere l.lodger_name = @name and l.room_num = r.room_num功能:退房并将旅客信息插进checkout表中存储过程十一:proc_dayaccount_checkout代码:create procedure proc_dayaccount_checkout@cur_year int,@cur_month int ,@cur_day intasinsert DayAccount(cur_year,cur_month,cur_day,day_account)select cur_year,cur_month,cur_day,sum(room_account)from checkoutwhere cur_year = @cur_yearandcur_month = @cur_monthandcur_day = @cur_daygroup by cur_year,cur_month,cur_day功能:对checkout表中某一天的所有盈利进行累加并将结果存入dayaccount 中存储过程十二:proc_dayaccount代码:create procedure proc_QueryDayAccount@year int,@month int,@day intasselect cur_year,cur_month,cur_day,day_accountfrom DayAccountwhere cur_year = @year and cur_month =@month and cur_day = @day存储过程十三:proc_query_monthaccount代码:create proc proc_query_monthaccount@year int,@month intasselect cur_year,cur_month,month_accountfrom MonthAccountwhere cur_year = @year and cur_month = @month功能:查询月账单存储过程十四:proc_queryYearAccount代码:create proc proc_queryYearAccount@year intasselect cur_year,year_accountfrom YearAccountwhere cur_year = @year功能:查询年盈利情况存储过程十五:proc_remind代码:create PROC proc_remindasINSERT INTO Remind(lodger_name,room_num)SELECT lodger_name,room_numFROM lodgerWHERE datepart(day,exp_checkout_date)=datepart(day,getdate()) 功能:将住宿在当天要到期的旅客的姓名和其他相关信息放入每日提醒中以便对旅客进行提醒存储过程十六:proc_room_remind代码:create proc proc17_room_remindasupdate roomset room_state ='Free'where room_num in(select room_numfrom remindwhere datepart(day,cur_date)=datepart(day,getdate()))功能:将到期旅客所住房间的状态标记为‘free’,那么这间房在当天的下午就可以被租出去了,这样的功能提高了房间的利用率执行前:存储过程十七:proc_discount代码:create proc proc_discount@lodger_name char(20),@discount numericasupdate checkoutset room_account = room_account * @discountwhere lodger_name = @lodger_name功能:为某些符合条件的旅客进行打折存储过程十八: InitRoom代码:create proc InitRoomasupdate roomset room_state = 'free'where room_num not in (select room_numfrom lodger)update roomset room_state = 'busy'where room_num in(select room_numfrom lodger)update roomset room_type = 'C'where room_type = '1'update roomset room_type = 'B'where room_type = '2'update roomset room_type = 'A'where room_type = '3'功能:规范化room存储过程十九:proc_count_freeroom代码:create proc proc_count_freeroomasselect room_type,count(room_num)from roomwhere room_state ='Free'group by room_type功能:统计目前空房数,按照房间类型来区分存储过程二十:proc_checkout_month代码:create proc proc_checkout_month@year int,@month intasselect lodger_name ,cur_year,cur_monthfrom checkoutwhere cur_year = @year and cur_month =@month功能:统计某月客户的退房情况触发器实践1.Tigger1:trigger1_room_lodger代码:create trigger trigger1_room_lodger on lodger for insertbegindeclare @room_num bigintselect @room_num = inserted.room_num from insertedupdate roomset room_state ='Busy'where room_num = @room_numend功能:当向lodger中插入新的数据时(即有新旅客住进来),那么将相应的房间的状态修改为busy。

相关文档
最新文档