酒店管理系统SQL数据库设计报告.doc
- 格式:docx
- 大小:22.99 KB
- 文档页数:8
西南科技大学数据库应用课程设计报告宾馆管理系统数据库设计学生姓名:学号:班级:指导老师:学院:提交日期: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).宾馆有各种标准的房间。
房间数据包括房间号、房间级别、房间价位以及房间的状态(是否已经有客人)。
房间号唯一表示一个房间,房间级别决定房间价位,房间有多种级别分别表示:单人间、标准间、豪华间、商务间、行政间。
酒店管理系统可用于数据库课程设计-----------------------作者:-----------------------日期:目录第一章前言 (1)第二章数据库设计需求分析和系统设计 (3)1.1 需求分析 (3)1.2 任务概述 (4)1.2.1目标 (4)1.2.2运行环境 (4)1.3数据字典 (5)1.3.1数据项 (5)1.3.2数据结构 (5)1.33数据流 (6)1.3.4数据存储 (6)1.3.5处理过程 (6)1.4数据流图 (7)第三章概念结构设计 (8)3.1 概念结构 (8)3.2酒店管理系统概念结构设计 (8)3.2.1 系统实体E-R图 (9)3.2.2 酒店管理系统系统E-R图 (11)第四章逻辑结构设计 (12)4.1 E-R图向关系模式的转换 (12)4.2关系模式的规化 (13)4.2.1分析并规化现有的关系模式 (13)4.2.2确定完整性约束 (14)4.2.3用户视图的确定 (14)第五章物理设计 (16)5.1 确定数据分布 (16)5.2 确定数据存储结构 (17)5.3 基本表设计 (17)5.3.1餐台表 (17)5.3.2菜系表 (18)5.3.3菜品信息表 (18)5.3.4消费单 (19)5.3.5消费项目 (19)5.3.6雇员表 (20)5.3.7管理员管理表 (21)第六章数据库的实施和维护 (22)6.1 创建数据库和表和触发器 (22)6.2 载入数据 (27)6.3 应用程序的调试 (30)6.4 部分系统功能截图 (34)6.5 数据库的维护 (36)6.5.1 维护 (36)6.5.2检测并改善数据库性能 (37)6.5.3重新组织和构造数据库 (37)第七章结论与体会 (39)第一章前言科学技术的进步和生产的发展使人类知识总量的增长不断加快,生产社会化趋势的扩大和社会对产品需求的多样性使得组织在营运活动中所涉及的部和外部信息量迅速地膨胀起来。
学号数据库应用技术课程设计设计说明书中环酒店仓库管理系统起止日期:2010 年12 月27日至2010 年12 月31 日学生姓名班级成绩指导教师(签字)计算机工程系2010年12月27日课程设计任务书2010—2011学年第1 学期计算机工程系专业班级课程设计名称:数据库应用技术课程设设计题目:中环酒店仓库管理系统完成期限:自2010 年12 月27 日至2010 年12 月31 日共1 周设计依据、要求及主要内容(可另加附页):设计依据:根据《数据库应用技术课程设计大纲》。
要求:(1)、掌握数据库设计(包括六个阶段)的基本方法(2)、熟练掌握SQL Server数据库管理系统(3)、了解MIS系统的常用的开发模式(4)、掌握一种MIS开发工具(ASP,PB,VC++,Delphi,,C#等)(5)、具体设计与实现一个管理信息系统(MIS)主要内容:严格遵循软件开发的规范与信息系统的开发规程,整个设计过程严格按如下的几个阶段要求执行:(1)、需求分析阶段(2)、数据库概念结构设计阶段(3)、数据库逻辑结构设计阶段(4)、数据库物理设计阶段(5)、数据库应用系统的开发(数据库前端应用开发)(6)、数据库的实施与维护指导教师(签字):教研室主任(签字):批准日期:年月日课程设计进度计划表摘要仓库管理系统是针对社会中一些大中型仓库管理使用,从消费者的角度来说,结账时应该准确和快速,毕竟时间就金钱。
由于传统的仓库管理给管理员带来很多不便,针对这方面的缺陷,开发这个系统可以方便快捷查出商品信息情况,每天的售货情况。
方便了经营方的商品管理、人员管理。
大大提高了仓库管理水平。
进而加速了社会的发展速度,提高了人民的生活水平。
本系统还可以给仓库和顾客节约更多时间,加快了酒店的运转速度。
关键词:VB;小型超市收银管理系统;SQL Server 2000摘要 (1)第一章产品开发背景 (3)第二章系统需求分析 (3)第三章系统总体设计 (3)第四章数据库设计 (4)1数据库概念结构设计及E-R图 (4)2登录表E-R图 (4)3商品表E-R图 (4)4各实体E-R图 (4)5逻辑结构设计 (5)6 商品表中的实时数据 (5)7登陆表中的实时数据 (5)8物理设计 (5)第五章系统详细设计 (6)1 功能需要 (6)2数据库中存储过程源码 (6)3 VB前台程序设计源码 (7)第六章系统使用说明 (12)第七章参考文献 (14)第一章产品开发背景当今,酒店、饭店已经随处可见,而且集中众多的公共厂所,酒店仓库管理问题也成为了酒店管理者劳心费事的重要内容,为了方便酒店管理者使用,提高办事效率,就设计出一套应用简单,易于操作的后台管理系统,实现对酒店每日进货的管理。
信息技术学院《数据库应用实践》设计报告名称:酒店管理系统专业:计应班级:10-1学生姓名:**学号:**********一、业务流程描述酒店介绍:大致介绍下酒店的历史及其现状和未来的规划。
客房的介绍:主要介绍下酒店各个价位房间。
客房的预定:可以通过网络进行预定,预定修改,取消预订。
客房管理:预定管理、客房查询、设置房态、开房、换房、续住、退房等管理。
员工管理: 员工修改信息、人员调配。
账务管理:主要是处理酒店的日常的账务报表,收入报表(前台收入明细表、现付收入明细表)、消费报表等。
二、业务流程图或数据流程图三、E-R图四、逻辑结构设计(关系模式)旅客信息(旅客姓名,性别,身份证号,住房或预订);房间信息(房间号,房间类型,是否空房,是否预订,房价);住房记录(入住时间,身份证号,房间号);收费标准(房间类型,房价);订房记录(预订时间,预订入住时间,预订住房天数,身份证号,房间号);住房历史记录(旅客姓名,性别,身份证号,房间号,房间类型,房价,退房时间,住房天数,费用);餐厅信息(员工姓名,员工号);客房服务(员工号,员工姓名);旅客信息主键身份证号;房间信息主键房间号,外键引用收费标准表的房间类型;住房记录主键房间号,外键引用旅客信息表的身份证号,房间信息表的房间号;收费标准主键房间类型;订房记录主键房间号,外键引用旅客信息表的身份证号,房间信息表的房间号;住房历史记录主键入住时间;餐厅信息主键员工号;客房服务主键员工号;五、物理模型设计旅客信息住房记录订房记录六、相关SQL语句1. 创建数据库create database 酒店管理系统gouse 酒店管理系统go2.创建数据表(含主键、外键定义及约束性条件设计)1、收费标准表create table 收费标准表/*收费标准*/ (房间类型 char(16),房价 int not null,primary key(房间类型))2、房间信息表create table 房间信息表/*房间信息*/ (房间号 char(5),房间类型 char(16) not null,是否空房 char(5) not null,是否预订 char(5) not null,primary key(房间号),foreign key(房间类型) references 收费标准表(房间类型))3、旅客信息表create table 旅客信息表/*旅客信息*/ (旅客姓名 char(20) not null,性别 char(5),身份证号 char(20),住房或预订 char(10) not null,primary key(身份证号))4、住房记录表create table 住房记录表/*住房记录*/ (身份证号 char(20) not null,房间号 char(5),入住时间 datetime not null,primary key(房间号),foreign key(身份证号) references 旅客信息表(身份证号),foreign key(房间号) references 房间信息表(房间号))5、订房记录表create table 订房记录表/*订房记录*/ (身份证号 char(20) not null,房间号 char(5),预订时间 datetime,预订入住时间 datetime not null,预订住房天数 int,primary key( 预订时间),foreign key(身份证号) references 旅客信息表(身份证号),foreign key(房间号) references 房间信息表(房间号))6、住房历史记录表create table 住房历史记录表/*住房历史记录*/(旅客姓名 char(20),性别 char(5),身份证号 char(20),房间号 char(5) not null,房间类型 char(16),房价 int,入住时间 datetime not null,退房时间 datetime,住房天数 int,费用 int,primary key(入住时间))7、餐厅信息表create table 餐厅信息表 /*餐厅信息*/(员工姓名char(20),员工号 char(10),primary key(员工号))8、客房服务表create table 客房服务表 /*客房服务*/(员工号 char(10),员工姓名char(20),primary key(员工号))3.插入数据--1向收费标准表中插入数据insert into 收费标准表values('标间', '380')insert into 收费标准表values('套房','800')insert into 收费标准表values('特价','180')insert into 收费标准表values('单人间','280')insert into 收费标准表values('三人间','450')--2向房间信息表中插入数据insert into 房间信息表values('2008','标间','是','否')insert into 房间信息表values('3017','标间','否','否')insert into 房间信息表values('3019','特价','是','是')insert into 房间信息表values('4012','单人间','是','是')insert into 房间信息表values('2017','三人间','否','是')--3向旅客信息表中插入数据insert into 旅客信息表values('张三','男','123456789012345678','住房')insert into 旅客信息表values('李四','男','012345678912345678','订房')insert into 旅客信息表values('王五','男','987654321012345678','住房')insert into 旅客信息表values('张强','男','951564621012345678','住房')insert into 旅客信息表values('陈七','男','654987721012345678','住房')--4向住房记录表中插入数据insert into 住房记录表values('123456789012345678','2008','2012.03.21')insert into 住房记录表values('012345678912345678','3017','2012.03.12')insert into 住房记录表values('987654321012345678','3019','2012.03.25')insert into 住房记录表values('951564621012345678','2017','2012.03.24')insert into 住房记录表values('654987721012345678','4012','2012.03.29')--5向订房记录表中插入数据insert into 订房记录表values('123456789012345678','2008','2012.03.21','2012.04.02','5') insert into 订房记录表values('012345678912345678','3017','2012.03.12','2012.04.01','3') insert into 订房记录表values('987654321012345678','3019','2012.03.25','2012.04.05','10') insert into 订房记录表values('951564621012345678','2017','2012.03.24','2012.04.04','5') insert into 订房记录表values('654987721012345678','4012','2012.03.29','2012.04.07','7')--6向住房历史记录表中插入数据insert into 住房历史记录表values('张三','男','123456789012345678','2008','标间','380','2012.03.21','2012.04.05','15','5700')insert into 住房历史记录表values('王五','男','987654321012345678','3019','特价','180','2012.03.25','2012.03.28','3','540')insert into 住房历史记录表values('李四','男','012345678912345678','3017','标间','180','2012.03.12','2012.03.20','8','3040')--7向餐厅信息表中插入数据insert into 餐厅信息表values('赵六','011201')insert into 餐厅信息表values('孙阳','011202')insert into 餐厅信息表values('李九','011203')insert into 餐厅信息表values('穆云','011204')insert into 餐厅信息表values('曹丹','011205')--8向客房服务表中插入数据insert into 客房服务表values('王朝阳','010201')insert into 客房服务表values('张向荣','010202')insert into 客房服务表values('李乐','010203')insert into 客房服务表values('田达','010204')insert into 客房服务表values('周博','010205')4.创建视图(含单表和多表查询)create view 单表视图Asselect * from 旅客信息表create view多表视图Asselect 旅客姓名,房间号from 旅客信息表join住房记录表on 旅客信息表.身份证号=住房记录表.身份证号5.创建触发器或存储过程create procedure proc_旅客信息表ASselect * from旅客信息表七、参考文献数据库原理课程设计——酒店管理系统实验报告数据库应用课程—酒店管理设计报告百度文库—酒店管理数据库设计八、设计心得和体会(需要描述个人在小组设计中承担的任务和完成情况;个人小结)。
数据库原理课程设计报告设计题目某宾馆客房管理系统专业班级学号学生同组人起止日期年月日至月1 日摘要宾馆管理系统是对宾馆管理系统的现代化、网络化,逐步摆脱当前宾馆管理的人工管理方式,拓展经营空间,降低运营成本,提高管理和决策效率而开发的。
传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
它包括客户信息管理、客房信息管理、入住和退房管理、客房类型管理、费用管理、价目信息管理等6大功能模块,并提供了对各功能模块的查询和更新功能。
其中客户信息管理、入住和退房管理是系统开发的重点。
本文讲述的是基于客户/服务器的宾馆管理系统,实现了宾馆管理的信息化。
本系统涉与数据库方面的技术,采用SQL语言来实现。
本系统由系统需求分析、概念设计、逻辑设计、物理结构设计、触发器设计、数据库实施和维护组成。
目录1.问题描述11.1背景11.2功能要求12.需求分析12.1需求分析12.2系统功能模块图32.3数据流图32.4数据字典63.概念结构设计73.1E-R图73.2实体与属性的定义74.逻辑结构设计85.物理结构设计96.触发器设计107.数据库的实施和维护108.结束语128.答辩与成绩考核131.问题描述1.1背景随着宾馆业竞争的加剧,宾馆之间客源的争夺越来越激烈,宾馆需要使用更有效的信息化手段,拓展经营空间,降低运营成本,提高管理和决策效率。
传统的宾馆计算机管理系统主要包括前台管理系统和后台管理系统两大部分,基本包含了宾馆主要业务部门,初步实现了对顾客服务和进行财务核算所需要的各个功能。
但传统的宾馆管理基于财务管理为主线的设计理念,无法满足宾馆全面信息化管理的需要。
现代宾馆酒店业迅速发展,新的管理观念与模式层出不穷。
宾馆客房管理系统亦随着宾馆管理理念的发展而发展。
宾馆客房管理系统依旧采用了先进的数据库理论,多媒体技术,软件工程理念等,从基层,中层,高层三个管理者层次为切入点,以成本分析,预测,控制为一线,形成一套上下贯通,操作便捷的酒店系统解决方案,科学地将宾馆各种日常业务完美的结合在一起,为管理与决策提供了强有力的支持。
数据库原理课程设计课题名称:酒店管理系统数据库设计成员学号:成员XX:成员学号:成员XX:成员学号:成员XX:专业班级:酒店管理系统一、需求分析随着人们生活水平的提高,人们外出旅游已经成为一种必不可少的生活习惯。
出门在外,找一个舒适的住的地方至关重要,人们对住宿的质量和效劳要求不断提高。
因此设计一种合理、高效的酒店客房管理的系统也变得尤为重要。
并且计算机技术的普及,计算机技术特别是数据库管理技术的广为运用,使得管理不再是难题,所以,设计一种酒店客房数据库管理系统来进展酒店客房的管理,这种方法有效的节约了人力、物力,防止了不必要的浪费。
经过可行性分析和初步的需求调查,确定了系统的功能边界,该系统应能完成下面的功能:●客房信息的管理。
●客户信息的管理。
●预订客房信息的管理。
●登记入住和修改登记信息。
●保存续住登记信息;保存退房登记信息;保存实收房款信息。
●员工信息的管理。
●仓库物资及物品借用信息管理。
1、数据流图顶层数据流图反映了酒店管理系统与外界的接口,但未说明数据的加工要求,需要进一步细化。
根据前面酒店管理系统功能边界确实定,再对酒店管理系统顶层数据流图中的处理功能做进一步分解,可分解为预订登记、取消预订、借用登记、退房结算、入住登记、换房登记等子功能,这样就得到了酒店管理系统的第0层数据流图2、数据字典2.1 数据项1、数据项:旅客号含义说明:唯一标识一个旅客的身份别名:旅客证件号类型:数字长度:15取值围:1......000—9 (999)2、数据项:用户名别名:XX 类型:字符长度:20取值围:所有字符3、数据项:密码别名:password 类型:字符长度:20取值围:所有字符4、数据项:XX含义说明:旅客称谓类型:文本长度:205、数据项:房间类型含义说明:标识某一客房信息类型:文本长度:20 6、数据项:价格含义说明:旅客住宿一日需付费用别名:每日房租类型:货币型长度:8取值围:10—10007、数据项:房间号含义说明:唯一标识一个客房别名:门牌号类型:数字长度:4取值围:001—9998、数据项:入住日期含义说明:旅客入住旅馆的时间类型:日期型长度:8取值围:1900-1-1—2999-12-319、数据项:退房日期含义说明:旅客退房结帐时的时间类型:日期型长度:8取值围:1900-1-1—2999-12-3110、数据项:订房日期含义说明:旅客预订房间的日期类型:日期长度:8取值围:1900-1-1—2999-12-3111、数据项:预订入住日期含义说明:旅客订房时约定入住的日期类型:日期型长度:8取值围:1900-1-1—2999-12-3112、数据项:预订天数含义说明:预订将要在宾馆住宿的时间长度类型:数字型长度:4 取值围:1—100013、数据项:预缴押金含义说明:旅客订房时交纳的现金金额类型:货币型长度:8取值围:10—100002.2 数据构造〔1〕名称:客房信息含义说明:定义了一个客房的有关信息组成构造:房间号+客房类型+位置+价格+配套设备+额定人数〔2〕名称:客户信息含义说明:定义了一个客户的有关信息组成构造:客户号+XX+证件类型+证件+年龄+籍贯+住址〔3〕名称:物品信息含义说明:定义了酒店物品的有关信息组成构造:物品号+物品名+价格+数量+用途4〕名称:物品借用记录含义说明:定义了一个客户借用酒店物品的有关信息组成构造:借用记录号+物品号+客户号+借用日期+借用天数+押金5〕名称:预订记录信息含义说明:定义了一个客户预订房间的有关信息组成构造:预定号+房间号+预订日期+预订天数+定金6〕名称:客户入住信息含义说明:定义了一个客户入住的有关信息组成构造:记录号+旅客号+房间号+入住日期+换房日期+结算日期+消费金额7〕名称:员工信息含义说明:定义了一个酒店员工的有关信息组成构造:员工号+XX+职务+工资+值班日期+2.3 数据流1、数据流:入住需求说明:旅客根据自身的需要而向前台提出的客房入住需求和客房类型。
酒店客房管理系统数据库设计报告摘要本文档旨在对酒店客房管理系统的数据库设计进行详细说明和解释。
酒店客房管理系统是一种旨在提供客房管理和预订服务的软件系统,通过有效的数据库设计可以提高系统的性能和扩展性。
本文档将介绍系统的需求分析,数据库设计思路,数据表设计,以及一些重要的数据关系和查询操作。
1. 引言酒店客房管理系统是为酒店提供客房管理和预订服务的系统,旨在提供高效、准确和可靠的客房管理功能。
数据库设计对于该系统的性能和扩展性起着至关重要的作用。
一个良好设计的数据库可以提高系统的运行效率,减少数据冗余和不一致性,并且能够轻松支持未来的扩展和功能增加。
2. 需求分析在进行数据库设计之前,我们首先需要对酒店客房管理系统的需求进行分析。
根据需求分析,我们可以确定系统需要存储的数据及其相关结构和关系。
酒店客房管理系统的主要功能包括客房管理、客户管理和预订管理。
其中客房管理包括客房类型、客房设施和客房价格的管理;客户管理包括客户信息的管理;预订管理包括客房预订信息的管理。
此外,系统还需要支持查询客房的可用性、查询客户的预订信息等功能。
3. 数据库设计思路基于需求分析,我们可以得到以下的数据库设计思路:•将客房、客户和预订信息分别作为不同的数据表存储。
•使用主键和外键设计有效的数据关系。
•使用索引提高查询性能。
•使用适当的数据类型和约束确保数据的完整性和一致性。
•根据实际需求进行合理的数据表分割和合并。
4. 数据表设计根据数据库设计思路,我们可以设计以下几个数据表:4.1 客房表客房表包含客房的基本信息,如客房号、客房类型、客房设施和价格等。
表结构如下:字段名类型约束room_id int 主键room_number varchar 唯一,非空type_id int 外键,参考客房类型表facility varcharprice decimal4.2 客房类型表客房类型表用于存储不同客房类型的信息,如单人间、双人间等。
课程设计课程:数据库题目:酒店客房管理系统专业:信息管理与信息系统班级:座号:姓名:2011年3 月5 日一、系统定义酒店客房管理系统是为了在正常运营中需要对客房资源、客人信息、消费信息、结算信息等进行管理,利用酒店客房管理信息系统对客房的各个操作进行管理,能够及时了解各个环节中信息的变更,有利于提高管理的效率。
本项目要设计和实现一个能对酒店客房租住信息,客人信息,预订信息,消费信息、结算信息的管理,实现前台操作流程较方便,清晰,高效的信息管理系统二、需求分析现在我国的中小型宾馆客房管理水平还停留在纸介质的基础上,这样的机制已不能适应时代的发展,因为它浪费了许多人力和物力,在信息时代这种传统的管理方法必然被计算机为基础的信息管理所取代。
而购买大型通用宾馆客房管理系统,对小型宾馆来说,又要付出昂贵的代价,而且管理项目不一定完全符合小型宾馆客房管理的要求。
因此根据企业目前实际的宾馆客房管理情况开发一套宾馆客房管理系统是十分必要的。
本系统主要具备以下五大功能: 前台操作、预定管理、财务管理、统计查询、管理设置(1)前台操作:开房、顾客信息管理、续费、换房、结账退房、客房状态、商品消费、留言板、留言板查看(2)预定管理: 预订、确认入住、预订信息修改、解除预订(3)财务管理:所有收支、客户退房清算、交接班、账面金额、(4)管理设置: 客房信息设置、财务管理、商品信息设置、操作人员信息(5)统计查询: 客房状态分类查看、入住统计逻辑模型:数据流程图客房预订系统关联图客房预订系统顶层图客房预订系统二层图三、系统设计1、概念结构设计这一设计阶段是在需求分析的基础上,设计出能满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。
根据上面的设计规划出的实体有客房实体,客人实体,预订信息、入住信息、账单信息等实体。
客房信息客人信息预定房间客人入住转房退房2、逻辑结构设计1 客房信息表(客房号,状态标记,客房等级ROclass (豪华、标准、单间),全日房价格,半天房,钟点,楼层,客房概况,可住人数) )2顾客信息表Vip 表(积分,会员等级,会员号)顾客基本信息表(顾客编号,表单自动编号,顾客姓名,性别,证件类型,证件号,联系电话,通讯地址,是否为会员,会员号)3操作人员表(员工号,员工姓名,密码,加入时间,部门)4 商品消费设置(商品信息表Goods :商品名、类别、单价,是否参与积分)顾客消费明细单(客房号 , 顾客编号,消费商品数目, 商品名,类别 ,单价,是否参与积分,操作日期,操作人员号) 5留言板表(自动编号,留言人呢称,留言标题,留言文本内容,留言时间)6交班表 (操作人员号,操作人员,操作日期)7预订表(自动编号,客房号 , 顾客编号, 顾客姓名,客房类型,预存费用Brplan, 押金,预订入住时间,离店时间,预计入住人数,操作日期,员工号)8入住表 (自动编号, 客房号 , 顾客编号, 顾客姓名,,客房类型,预存费用,押金 ,是否消费商品,入住时间,预离店时间,入住人数,结账费用结账时交的费用 ,是否结账,操作日期,员工号)9 资金清算表 (客房号 , 顾客编号, 顾客姓名,客人名称,押金 ,应收费用 , 是否消费商品,实收金额,入住时间,结账日期,操作日期,操作人员号)3、系统功能模块图4、其它设计图形工具Microsoft office visio 2003 四、详细设计表格建立:create database newhotel --1 客房信息表create table Room--客房信息表(ROno varchar(8)primary key,--客房号ROflat char(4)default'空房',--状态标记ROclass varchar(20)not null,--客房等级ROclass(豪华、标准、单间)ROdayprice money,--全日房价格ROhalfprice money,--半天房ROhourprice money,--钟点ROfloot char(4)not null,--楼层ROintroduce varchar(100),--客房概况ROnumber char(4)not null,--可住人数)--2 顾客信息表create table VIP(CUVIPno int primary key,VIPrewards int default'0',--积分VIPrewards,VIPclass char(8)--会员等级VIPclass)create table Customs(CUno char(8),-- primary key ,CUnum int IDENTITY(1,1),--自动编号, --顾客编号,--触发器回滚 --利用存储过程实现CUname varchar(8),--顾客姓名CUsex char(4),--性别CUtype char(8)not null,--证件类型Cucardno char(20)unique not null,--证件号CUphone varchar(20)not null,--联系电话CUaddress varchar(40),--通讯地址CUflat bit not null,--是否为会员CUVIPno char(8)default null)--3操作人员表create table Operator(OPno varchar(20)primary key,--员工号OPname char(8),--员工姓名OPpass char(10),--密码OPdate smalldatetime,--加入时间OPdepartment varchar(30)--部门)--4 商品消费设置(商品信息表Goods:商品名、类别、单价,是否参与积分、检索码)create table Goods(GOtype char(10),-- 类别GOname varchar(20),-- 商品名GOprice money,--单价GOjifen bit,--是否参与积分)-- 顾客消费明细单create table spend(ROno varchar(8),--客房号 chanzhaoCUno char(8),SPnumber int,--消费商品数目GOname varchar(20),-- 商品名GOtype char(10),--类别 chaozhaoGOprice money,--单价GOjifen bit,--是否参与积分SPoper_date datetime,--操作日期CUoper_date OPno varchar(20),--操作人员号CUopertorforeign key(ROno) references room(ROno),foreign key(CUno ) references Customs(CUno ) foreign key(OPno )references Operator(OPno ))--5留言板表create table MessageTP(MessageID int IDENTITY(1,1),--自动编号Messageowner char(10),--留言人呢称Messagetitle char(20),--留言标题Messagetext char(100),--留言文本内容Messagetime datetime--留言时间)--6交班表create table exchange(OPno1 varchar(20),--操作人员号CUopertorOPno2 varchar(20),--操作人员号CUopertorexoper_date datetime,--操作日期CUoper_date foreign key(OPno1 )references Operator(OPno ), foreign key(OPno2 )references Operator(OPno ) )--7预订表create table Bookroom(BRplanno int IDENTITY(1,1),--自动编号ROno varchar(8),--客房号CUno char(8),CUname char(8),Rolevel varchar(20),--客房类型Rolevel (全日房价格ROdayprice、半天房价格BRplan money,--预存费用BRplan、BRdeposit money,--押金BRdepositBRplanentertime datetime,--预订入住时间BRleavetime datetime,--离店时间BRplanpersons int,--预计入住人数BRoper_date datetime,--操作日期ROoper_dateOPno varchar(20),--员工号chanzhaoforeign key(ROno)references room(ROno))drop table bookroom--8入住表create table Enterroom(ERenterno int IDENTITY(1,1),--自动编号ROno varchar(8),CUno char(8),CUname char(8),Rolevel varchar(20),--客房类型Rolevel (全日房价格半天房价格BRplan money,--预存费用BRplan、BRdeposit money,--押金BRdepositERgoflat bit,--是否消费商品ERentertime datetime,--入住时间ERleavetime datetime,--预离店时间ERpersons int,--入住人数ERmoney money,--结账费用结账时交的费用ERpaymoney bit,--是否结账ERoper_date datetime,--操作日期ROoper_dateOPno varchar(20),--员工号 canzhaoforeign key(ROno)references room(ROno),foreign key(OPno)references Operator(OPno))9所有收支信息表create table Szhistorytable (ROno varchar(8),--客房号 chanzhaoCUno char(8),CUname varchar(8),--顾客姓名chanzhaoSZneed money,--应收费用SZfactfee money,--实收金额BRdeposit money,--押金BRdepositERentertime datetime,--入住时间SZoper_date datetime,--操作日期CUoper_dateOPno varchar(20),--操作人员号CUopertorprimary key(ROno,CUno,ERentertime ),foreign key(ROno)references room(ROno),foreign key(CUno ) references Customs(CUno ),foreign key(OPno )references Operator(OPno ))资金清算表Zjqstablecreate table Zjqstable(ROno varchar(8),--客房号CUno char(8),CUname varchar(8),--客人名称BRdeposit money,--押金BRdepositSZneed money,--应收费用是否消费商品ZJfactfee money,--实收金额ERentertime datetime,--入住时间CUaccountday datetime,--结账日期ZJoper_date datetime,--操作日期CUoper_dateOPno varchar(20),--操作人员号CUopertorprimary key(ROno,CUno,CUaccountday ),foreign key(ROno)references room(ROno),foreign key(CUno ) references Customs(CUno ),foreign key(OPno )references Operator(OPno ))信息加入--1insert into Room(ROno,ROclass ,ROdayprice,ROhalfprice,ROhourprice,ROfloot,ROintroduce ,ROnumber ) values('101','豪华','500','250','50','一楼','空调',1);insert into Room(ROno,ROclass , ROdayprice,ROhalfprice ,ROhourprice,ROfloot,ROintroduce ,ROnumber )values('201','标准',300,150,30,'二楼','风扇',2);insert into Room(ROno,ROclass , ROdayprice,ROhalfprice ,ROhourprice,ROfloot,ROintroduce ,ROnumber )values('301','单间',200,100,10,'三楼','无',3);--2select*from roominsert into VIP values(1,0,'特等');insert into VIP values(2,1,'无');insert into VIP values(3,0,'中等');select*from Customsinsert intoCustoms(CUno,CUname,CUsex,CUtype,Cucardno,CUphone,CUaddress,CUflat,CU VIPno)values('1','张三','男','身份证','030510923434',,'福州',1,'1'); insert intoCustoms(CUno,CUname,CUsex,CUtype,Cucardno,CUphone,CUaddress,CUflat,CU VIPno)values('2','李四','男','身份证','030510923435',,'福州',0,null); --3insert into Operator values('00001','小红','123456','2000-05-08 ','财务');insert into Operator values('00002','小白','234567','1992-10-01 ','前台');insert into Operator values('00003','小黄','345678','2010-10-01 ','前台');--4insert into Goods values('饮料','可乐',4,1);--5drop table Szhistorytableinsert into Szhistorytable values('101','1','张三','600','200','789','2010-11-11','2010-11-11','00001');--7insert intobookroom(ROno,cuno,CUname,Rolevel,BRplan,BRdeposit,BRplanentertime ,BRleavetime ,BRplanpersons ,BRoper_date,OPno )values('101','1','张si','500','200','200','2010/10/1','2010/10/10',2,getdate(),'00001'); --8insert intoenterroom(ROno,CUno,CUname,Rolevel,BRplan,BRdeposit,ERgoflat ,ERente rtime ,ERleavetime,ERpersons ,ERmoney ,ERpaymoney ,ERoper_date,OPno ) values('101','1','张','500','200','200',1,getdate(),'2010/10/10',2,'300',0,getdate(),'000 01');insert intoenterroom(ROno,CUno,CUname,Rolevel,BRplan,BRdeposit,ERgoflat ,ERente rtime ,ERleavetime,ERpersons ,ERmoney ,ERpaymoney ,ERoper_date,OPno ) values('201','2','dfs','500','200','200',1,getdate(),'2010/10/10',2,' 300',0,getdate(),'00001');存储过程--存储过程触发器--预订转入住时候使用create procedure brproc (@ROno varchar(8)--客房号--@CUno char(8) ,--@CUname varchar(8))asupdate room set roflat ='预订'where rono=@ROnocreate procedure erproc (@ROno varchar(8)--客房号--@CUno char(8) ,--@CUname varchar(8))asupdate roon set roflat ='入住'where rono=@ROno--退房create procedure tfproc (@ROno varchar(8)--客房号)asupdate roon set roflat ='打扫'where rono=@ROno--换房create procedure hfproc (@ROno varchar(8)--客房号)asupdate room set roflat ='打扫'where rono=@ROno--续费alter procedure续费xfproc (@rono varchar(8),@num int)asupdate enterroom set brplan=brplan+@num where ROno= @ronocreate procedure退房xfproc (@rono varchar(8),@CUno char(8))asdelete from enterroom where ROno= @rono and CUno= @cunocreate procedure退房yudingxfproc (@rono varchar(8),@CUno char(8))asdelete from bookroom where ROno= @rono and CUno= @cuno-- 换房create proc换房hfproc(@rono1 varchar(8),@rono2 varchar(8),@Rolevel varchar(20))asupdate enterroom set rono =@rono2,rolevel=@Rolevel where ROno =@rono1 积分增加create procedure cuflatproc (@CUno char(8))asdeclare @num intselect @num=spnumber from spend where cuno=@cunoupdate vip set VIPrewards=VIPrewards+10*@num where CUVIPno =(select CUVIPno from customs where cuno=@cuno );用户密码登陆alter proc密码登陆(@opno char(8),@oppass char(10),@flag int output)asif exists(select*from Operator where opno=@opNo)if exists(select*from Operator where oppass=@oppass)set @flag=1elseset @flag=0elseset @flag=-1declare @flag intexec密码登陆'00001','123456',@flag outputselect @flag--用户密码修改create table Operator(OPno varchar(20)primary key,--员工号OPname char(8),--员工姓名OPpass char(10),--密码OPdate smalldatetime,--加入时间OPdepartment varchar(30)--部门 youkeneng wei shangban)alter proc密码修改(@opno char(8),@oldpass char(10),@newpass char(10),@newpass2 char(10),@flag int output)asif exists(select*from Operator where opno=@opno )if exists(select*from Operator where oppass=@oldpass) beginif @newpass=@newpass2beginupdate operator set oppass=@newpass where opno=@opnoand oppass=@oldpassset @flag=1endendelseset @flag=0elseset @flag=-1--添加进入所有支出create procedure所有支出(@ROno varchar(8),--客房号@CUno char(8),@CUname varchar(8),@SZneed money,--应收费用@SZfactfee money,--实收金额@BRdeposit money,@ERentertime datetime,--押金BRdeposit@SZoper_date datetime,--操作日期CUoper_date@OPno varchar(20))asinsert into Szhistorytablevalues( @ROno ,@CUno,@CUname,@SZneed,@SZfactfee ,@BRdeposit ,@ERentertime , @SZoper_date, @OPno );--房屋数目---空房create procedure kfs(@num int output)asselect @num=count(*)from room where roflat ='空房';declare @num as intexec kfs @num outputprint @num--入住create procedure rzs(@num int output)asselect @num=count(*)from room where roflat ='入住';declare @num as intexec rzs @num outputprint @num-- 维修create procedure wxs(@num int output)asselect @num=count(*)from room where roflat ='维修';declare @num as intexec wxs @num outputprint @num--打扫create procedure dss(@num int output)asselect @num=count(*)from room where roflat ='打扫';declare @num as intexec dss @num outputprint @num--全部create procedure qbs(@num int output)asselect @num=count(*)from room ;declare @num as intexec qbs @num outputprint @num--查看原有金额create procedure cxbrplan (@ROno varchar(8),--客房号@CUno char(8),@CUname varchar(8))asdeclare @num moneyselect @num=BRplanfrom enterroomwhere ROno= @ROno and CUno= @CUno and CUname=@CUnamereturn @num--资金清算alter proc资金清算( @rono varchar(8),@CUno char(8),@flag int output)asbegindeclare @total intdeclare @daycount intdeclare @cost intselect @cost=sum(spnumber*GOprice)from spend where cuno=@cunoselect @daycount =datediff(dd,ERentertime,getdate())fromSzhistorytable where rono=@rono and cuno=@cunoselect @total =0select @total=@daycount*(isnull(Rolevel,0))from enterroom whererono=@rono and cuno=@cunoselect @total=@total+SZneed-SZfactfee from Szhistorytable whererono=@rono and cuno=@cunoselect@total=@total+@cost from Spend where rono=@rono and cuno=@cuno set @flag=@totalenddeclare @flag intexec资金清算'101','1',@flag outputselect @flag--触发器--预订转入住时候使用create trigger dftrion bookroomfor insertasbegindeclare @rono varchar(8)select @rono=rono from insertedupdate room set roflat ='预订'where rono=@ROnoend--入住create trigger rztrion enterroomfor insert,updateasbegindeclare @rono varchar(8)select @rono=rono from insertedupdate room set roflat ='入住'where rono=@ROnoend--退房换房create trigger tftrion enterroomfor delete,updateasbegindeclare @rono varchar(8)select @rono=rono from deletedupdate room set roflat ='打扫'where rono=@ROnoendalter proc确认入住(@ROno varchar(8),@CUname char(8))asdeclare @CUno char(8),@Rolevel varchar(20),@BRplan money,@BRdeposit money,@BRplanentertime datetime,@BRleavetime datetime,@BRplanpersons int,@OPno varchar(20)select@CUno=CUno ,@Rolevel=Rolevel ,@BRplan=BRplan ,@BRdeposit=BRdeposit ,@ BRplanentertime=BRplanentertime ,@BRleavetime=BRleavetime ,@BRplanpersons =BRplanpersons from bookroomwhere ROno =@ROno and CUname =@CUnameinsert into enterroom(ROno,CUno,CUname,Rolevel,BRplan,BRdeposit,ERgoflat,ERentertime,ERlea vetime,ERpersons,ERmoney,ERpaymoney,ERoper_date, OPno )values(@rono,@cuno,@CUname,@Rolevel,@BRplan,@BRdeposit,0,getdate(),@B Rleavetime,@BRplanpersons,null,null,getdate(),@OPno )delete from bookroom where ROno =@ROno and CUname =@CUname五、系统实现与测试1、开发平台和工具选择计算机及操作系统:PC机,WindowsXP1;开发工具:Delphi运行环境: 装有SQL SERVER 2005 的系统语言:T-SQL语言2、系统测试六、课程设计总结我感觉这次的课程设计是我收获最大的一次,从刚开始的只懂部分东西,到后面完成的做完一个小软件,感觉很是开心!在整个设计过程中,对数据库的知识有了更加深入的理解!我觉得数据库的设计最重要的就是需求分析,如果这个没有做好,后面的设计经常会重新再来,或者多次修改!只有把需求分析弄清楚了,才会设计出最优的数据库,而一个数据库最重要的部分则是存储过程的实现部分,在这部分里面需要的知识太多了。