北 华 航 天 工 业 学 院
课程设计报告(文)
课程名称: 数库系统原理
报告(文)题目: 酒店客房理系统
作者系部: 计算机科学工程系
作者专业: 计算机科学技术专业
作者班级: B09512
作 者 姓 名 : 丁玲
指导教师姓名: 贾 振 华
完 成 时 间 : 2011625
北华航天工业学院教务处制
课程设计务书
课题名称
数库原理课程设计
完成时间
2011625
指导教师
贾振华
职称
副教授
学生姓名
丁玲
班级
B09512
总体设计求
总体设计求:
1明确课设务复查阅相关资料
2根老师出设计题目两周时间完成中某题目户需求分析数库设计机编程调试应等全程数库系统设计果学生拟题目需指导教师意
3位学生必须独立完成课程设计务抄袭设计完成完成工作交老师检查求写出份详细设计报告
4求完成课设容课设报告求文字图工整思路清楚正确
5应程序应具定实性健壮性
工作容时间进度安排
第周周1:设计动员分组布置课程设计务
第周周2:查阅资料制定方案进行程序总体设计
第周周3~第二周2:详细设计 系统调试
第二周周3:整理撰写设计报告
第二周周4周5:验收提交设计报告评定成绩
课程设计成果
1课程设计报告书份
2源程序清单份
3成果说明书份
摘
济商务交日益频繁情况宾馆服务行业正面客流量剧增压力越越宾馆饭店认识传统理方法已适应社会需必须助先进计算机信息技术宾馆服务进行理酒店客房理系统说整酒店缺少酒店信息系统中中心子系统酒店提供客户种服务时解决客户住宿相重设计客房理系统涉 SQL Server 数库重知识功特性:视图触发器存储程等通课程设计加深数库知识学理解时编程工具 SQL Server 2008 更加灵活运积累实际工程应中运种数库象验学生掌握应软件开发工具数库理系统基方法实性方面客房理系统普遍种应选择该系统作课程设计学生遇实际开发提供鉴
关键词:理系统 客房理 数库
目 录
第1章 绪 1
11 课程设计目 1
12 课程设计背景意义 1
121 课程设计背景 1
122 课程设计意义 1
13 课程设计环境 1
第2章 系统需求分析 2
21 问题提出 2
22 行性分析 2
221 济行性分析 2
222技术行性分析 3
23 系统设计目标 3
第3章 系统开发技术背景 4
31 开发技术 4
32 系统运行环境 4
第4章 系统分析总体设计 5
41 系统结构框架 5
42 系统功设计 5
第5章 系统数库设计 7
51酒店客房理系统数库ER模型 7
52数库表设计 8
521户信息表 8
522客户信息表 8
523客房类型表 8
524客房信息表 9
525客房状态表 9
526客房业务表 9
527业务记录表 10
53 创建数库 10
第6章 系统功模块实现 17
61系统登录模块 17
62酒店理员模块 17
63 户信息理模块 18
64客房类型理模块 18
65添加客房信息模块 19
66删客房信息模块 20
67客房信息修改查询模块 20
68客房信息理模块 21
69营状况统计模块 21
610信息修改模块 22
611密码修改模块 22
结 24
致谢 25
参考文献 26
附录 27
第1章 绪
11 课程设计目
通次课程设计学生够全面深刻掌握数库系统设计流程根数库原理课程中学数库理知识结合题目进行分析需什然开发出较实数库系统
12 课程设计背景意义
121课程设计背景
年国旅游行业飞速发展然游客住宿问题成较关心问题旧理体制已法适应现发展迫切需引进新客房理技术
客房数业务越越庞计算机种高效理系统需客房理计算机结合起客房理系统应运生样节省量力物力改善员工够快速反映出客房部信息状态变化理员快速客房做出相应决策加快客房营理效率
122 课程设计意义
次课程设计机会利学知识解决实际问题酒店客房理系统利计算机技术客房种高速准确理整酒店快速运转客户更方便促进相关领域发展
13 课程设计环境
操作系统:Win7
数库:Microsoft SQL Server 2008
第2章 系统需求分析
着时代发展计算机技术越越深入行业广户提供更周便捷服务目前行业广泛专系统容范围跨越教育科研文化事业金融商业新闻出版娱乐体育等领域户群十分庞设计开发专系统机构(部门)发展十分重年着户求断提高计算机科学迅速发展特数库技术广泛应户提供服务越越丰富越越性化
21 问题提出
旅游业迅速发展天客房理信息化理已成必缺部分目前客房理系统应难度较高许工作需技术员配合完成角色分工明确改版工作量系统扩展力差应时更降低灵活性套完善够正常工作客房理系统应运生
22 行性分析
系统行性分析课题通盘考虑系统开发者进行进步工作前提系统设计开发前提基础系统行性分析系统开发者早估计课题开发程中困难定义阶段认识系统方案缺陷样花费较少时间精力避免许专业方面困难系统行性分析整开发程中非常重
221 济行性分析
通利计算机客房客户信息进行合理化理客房效客户时酒店说提高限商机减少必开支时该系统提高客房运行效率提高酒店济效益济完全行
222 技术行性分析
系统采基Windows图形户界面该系统家熟悉操作系统般计算机知识员轻松手整客房理系统采友交互界面简介明需数库进行深入解
该系统操作行必开发该系统
综合三方面该系统具高开发行性技术者济操作酒店客房理系统技术行
23 系统设计目标
系统包括六模块分户信息理模块客房类型理模块客房信息理模块客户信息理模块营状况理模块信息理模块确保客户酒店信息具更安全性前台理台理分开前台模块需授权设计两角色:酒店理员二前台服务员中酒店理员具高权限酒店客房理系统提供功包括户信息理客房类型理客房信息理客户信息理营状况理信息理功前台服务员负责订房退房登记入住酒店客户信息时间包括客户信息查询修改信息理功
第3章 系统开发技术背景
31 开发技术
通权衡种编程语言数库熟练程度系统选前台表格画出台数库采SQL Server 2008整体设计软件工程思想指导思想力求开发实性强操作简单功完整酒店客房理系统
32 系统运行环境
操作系统:Win7
数库:Microsoft SQL Server 2008
第4章 系统分析总体设计
41 系统结构框架
酒店客房理系统六模块组成户信息理模块客房类型理模块客房信息理模块客户信息理模块营状况理模块信息理模块图41系统功结构图
酒店客房理系统
户 信 息 理
客 房 类 型 理
客 房 信 息 理
客 户 信 息 理
营 状 况 统 计
信 息 理
图41 系统功结构图
42 系统功设计
系统功设计整系统基实现客房添加删查询客户退订房等理功客户更直观解酒店客房情况选择适合居住房间酒店客房理系统业务数建立数库系统进行信息收集存储理等时信息进行维护通酒店客房种运行情况利历史数预测未发展酒店客房全局角度出发进行决策利信息控制客房行运行更
系统包括六模块分户信息理模块客房类型理模块客房信息理模块客户信息理模块营状况理模块信息理模块模块功:
1 户信息理模块:
(1)实现户信息查询
(2)实现户信息更新包括增加删修改功
2 客房类型理模块功:
(1)实现客房类型查询
(2)实现客房类型更新包括增加删修改功
3 客房信息理模块功:
(1)实现添加客房
(2)实现删客房
(3)实现客房信息查询修改
4 客户信息理模块功:
(1)实现客户信息查询修改
(2)实现客户订房退房功
5 营状况理模块:
(1)实现客房营状况年统计功
(2) 实现客房营状况月统计功
(3) 实现客房营状况日统计功
6 信息理模块:
(1)信息查询修改功
(2)密码进行修改
第5章 系统数库设计
1 M
1 1
M 1
51酒店客房理系统数库ER模型
理员
客户
房间
理员
编号
密码
理员信息
权限
理
理
住宿
客房类型编号
客房面积
配置床位
客房价格
配置空调
客户姓名
配置电视
客房状态
入住时间
退房时间
金额
客户编号
身份证号
联系电话
入住房号
酒店客房理系统分析出系统ER图图51数库ER模型图
图51 数库ER模型图
52数库表设计
521 户信息表
户信息表(UserInfo)存储应程序户信息户编号键唯标识表中字段功定义表51示
表51户信息表(UserInfo)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
户编号
UerId
Varchar(20)
P
NOT NULL
户姓名
Name
Varchar(20)
密码
Upassword
Varchar(20)
NOT NULL
性
Sex
Varchar(2)
Email址
Varchar(20)
通讯址
UAddress
Varchar(20)
联系电话
Telephone
Varchar(20)
部门
Department
Varchar(20)
户类型
UType
int
NOT NULL
522 客户信息表
客户信息表(CustomersInfo)存储入住酒店客房客户基信息表中字段功定义表52示
表52客户信息表(CustomersInfo)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
身份证号
CIdentityId
Varchar(30)
P
NOT NULL
客户姓名
Cname
Varchar(20)
联系电话
Cphone
Varchar(20)
523 客房类型表
客房类型表(RoomCategory)存储酒店客房类型信息表中字段功定义表53示
表53客房类型表(RoomCategory)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
客房类型编号
RCategoryId
Varchar(20)
P
NOT NULL
类型名称
Name
Varchar(10)
客房面积
Area
real
配置床位
BedNum
Int
客房价格
Price
Numeric(72)
配置空调
AirCondition
Varchar(10)
配置电视
TV
Varchar(10)
524 客房信息表
客房信息表(RoomsInfo)存储客房信息表中字段功定义表54示
表54客房信息表(RoomsInfo)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
客房号
RoomId
Varchar(20)
P
NOT NULL
客房类型编号
RCategoryId
Varchar(20)
NOT NULL
客房位置
RPostition
Varchar(50)
描述
Eescription
Varchar(50)
525 客房状态表
客房状态表(RoomStatus)存储客房状态信息表中字段功定义表55示
表55客房状态表(RoomStatus)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
客房号
RoomId
Varchar(20)
PF
NOT NULL
状态
RStatus
Int
526客房业务表
客房业务表(RoomService)存储先居住简信息表中字段功定义表56示
表56客房业务表(RoomService)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
客房号
RoomId
Varchar(20)
P
NOT NULL
身份证号
CIdentityId
Varchar(30)
NOT NULL
527业务记录表
业务记录表(History)存储库存信息表中字段定义表57示
表57业务记录表(History)
中文字段名称
英文字段名称
字段类型
键外键
字段值约束
入住时间
Begintime
date
P
NOT NULL
退房时间
Endtime
date
房间号
RoomId
Varchar(20)
P
NOT NULL
金额
TotalPrice
Numeric(102)
身份证号
CIdentityId
Varchar(30)
P
NOT NULL
客户姓名
Cname
Varchar(20)
客户电话
Cphone
Varchar(20)
53 创建数库
(1)T—SQL语句创建超市商品理系统数库
CREATE DATABASE 酒店客房理系统
ON
(NAME 酒店客房理系统FILENAME 'd\10——丁玲\酒店客房理系统mdf'
SIZE 10MBMAXSIZE 100MBFILEGROWTH 10)
LOG ON
(NAME 酒店客房理系统_LOGFILENAME 'd\10——丁玲\酒店客房理系统ldf'
SIZE 5MBMAXSIZE 50MBFILEGROWTH 1)
(2)T—SQL语句创建库存表
1创建户信息表
USE 酒店客房理系统
CREATE TABLE UsersInfo
(
UseId varchar(20) PRIMARY KEY
Name varchar(20)
UPassword varchar(20)
Sex varchar(2)
Email varchar(20)
UAddress varchar(20)
Telephone varchar(20)
Department varchar(20)
UType int 1代表酒店理员代表前台服务员
)
2创建客户信息表
USE 酒店客房理系统
CREATE TABLE CustomersInfo
(
CIdentityId varchar(30) PRIMARY KEY
Cname varchar(20)
Cphone varchar(20)
)
3创建客房类型表
USE 酒店客房理系统
CREATE TABLE RoomCategory
(
RCategoryId varchar(20) PRIMARY KEY
Name varchar(10)
Area real
BedNum int
Price numeric(72)
AirCondition varchar(10)
TV varchar(10)
)
4创建客房信息表
USE 酒店客房理系统
CREATE TABLE RoomsInfo
(
RoomId varchar(20)PRIMARY KEY
RCategoryId varchar(20)NOT NULL
RPostition varchar(50)
Eescription varchar(50)
)
5创建客房状态表
USE 酒店客房理系统
CREATE TABLE RoomStatus
(
RoomId varchar(20) PRIMARY KEY
RStatus int 1空房
FOREIGN KEY (RoomId) REFERENCES RoomsInfo(RoomId)
)
6创建客房业务表查询现酒店居住客户
USE 酒店客房理系统
CREATE TABLE RoomService
(
RoomId varchar(20) PRIMARY KEY
CIdentityId varchar(30) NOT NULL
)
7创建业务记录表
USE 酒店客房理系统
CREATE TABLE History
(
BeginTime date
EndTime date
RoomId varchar(20)
TotalPrice numeric(102)
CIdentityId varchar(30)
Cname varchar(20)
Cphone varchar(20)
PRIMARY KEY(BeginTimeRoomIdCIdentityId)
)
(3)T—SQL语句创建库存视图
CREATE VIEW 客房信息普通查询_VIEW
AS
SELECT RoomId 客房编号RCategoryId 客房类型编号RPostition 客房位置Eescription 描述
FROM RoomsInfo
CREATE VIEW 客房信息高级查询_VIEW
AS
SELECT RoomsInfoRoomId 客房编号RoomsInfoRCategoryId 客房类型编号RPostition 客房位置
Eescription 描述Name 类型名称Area 客房面积BedNum 配置床位Price 客房价格
AirCondition 配置空调TV 配置电视RStatus 客房状态
FROM RoomsInfoRoomCategoryRoomStatus
WHERE RoomsInfoRCategoryId RoomCategoryRCategoryId
AND RoomsInfoRoomId RoomStatusRoomId
CREATE VIEW 客户信息查询_VIEW
AS
SELECT CIdentityId 身份证号Cname 客户姓名CPhone 联系电话
FROM CustomersInfo
CREATE VIEW 户信息系统查询_VIEW
AS
SELECT UseId 户编号Name 户姓名UPassword 户密码Sex 户性Email Email址
UAddress 通讯址Telephone 联系电话Department 部门UType 户类型
FROM UsersInfo
CREATE VIEW 客房类型查询_VIEW
AS
SELECT RCategoryId 客房类型编号Name 类型名称Area 客房面积BedNum 配置床位
Price 客房价格AirCondition 配置空调TV 配置电视
FROM RoomCategory
(4)T—SQL语句创建库存索引
CREATE INDEX 户信息表 ON UsersInfo(UseId)
CREATE INDEX 客户信息表 ON CustomerInfo(CIdentityId)
CREATE INDEX 客户类型表 ON RoomCategory(RCategoryId)
CREATE INDEX 客房信息表 ON RoomsInfo(RoomId)
CREATE INDEX 客房状态表 ON RoomStatus(RoomId)
CREATE INDEX 客房业务表 ON RoomService(RoomId)
CREATE INDEX 业务记录表 ON History(RoomIdCIdentityId)
(5)T—SQL语句创建库存存储程
1户登录
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '户登录')
DROP PROCEDURE 户登录
GO
CREATE PROCEDURE 户登录
@useid varchar(20)
@password varchar(20)
AS
BEGIN
DECLARE @returnvalue int
SET @returnvalue 1
IF EXISTS(SELECT UseIdUPassword FROM UsersInfo
WHERE UseId @useid AND UPassword @password)
BEGIN
SET @returnvalue 0
PRINT '户登陆成功^_^'
END
ELSE
PRINT '户存请您重新输入'
END
GO
2添加客房
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '添加客房')
DROP PROCEDURE 添加客房
GO
CREATE PROCEDURE 添加客房
@roomid varchar(20)
@rcategoryid varchar(20)
@rposition varchar(50)
@description varchar(50)
AS
BEGIN
DECLARE @returnvalue int
SET @returnvalue 1
IF EXISTS(SELECT RoomId FROM RoomsInfo
WHERE RoomId @roomid)
PRINT '房间已存请您重新添加'
ELSE
BEGIN
IF EXISTS(SELECT RCategoryId FROM RoomCategory WHERE RCategoryId @rcategoryid)
BEGIN
INSERT INTO RoomsInfo VALUES(@roomid@rcategoryid@rposition@description)
INSERT INTO RoomStatus VALUES(@roomid0)
SET @returnvalue 0
PRINT '客房添加成功^_^'
END
ELSE
PRINT '客房类型存请您重新添加'
END
END
GO
3客户订房
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客户订房')
DROP PROCEDURE 客户订房
GO
CREATE PROCEDURE 客户订房
@begintime date
@roomid varchar(20)
@cidentityid varchar(30)
@cname varchar(20)
@cphone varchar(20)
AS
BEGIN
DECLARE
@rstatus int
SELECT @rstatus RStatus FROM RoomStatus WHERE RoomId @roomid
IF(@rstatus 1)
PRINT '客房正请您选择客房'
ELSE
BEGIN
UPDATE RoomStatus SET RStatus 1 WHERE RoomId @roomid
IF EXISTS(SELECT Cidentityid FROM CustomersInfo
WHERE Cidentityid @cidentityid)
BEGIN
UPDATE CustomersInfo SET Cname @cnameCphone @cphone
WHERE Cidentityid @cidentityid
UPDATE History SET Cname @cnameCphone @cphone
WHERE Cidentityid @cidentityid
INSERT INTO RoomService VALUES(@roomid@cidentityid)
INSERT INTO History VALUES(@begintimenull@roomid0@cidentityid@cname@cphone)
PRINT '订房成功^_^'
END
ELSE
BEGIN
INSERT INTO CustomersInfo
VALUES(@cidentityid@cname@cphone)
INSERT INTO RoomService VALUES(@roomid@cidentityid)
INSERT INTO History VALUES(@begintimenull@roomid0@cidentityid@cname@cphone)
PRINT '订房成功^_^'
END
END
END
GO
4客户退房
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客户退房')
DROP PROCEDURE 客户退房
GO
CREATE PROCEDURE 客户退房
@roomid varchar(20)
@cidentityid varchar(20)
@endtime date
AS
BEGIN
DECLARE @price numeric(102)
@totalprice numeric(102)
@begintime date
SELECT @price RoomCategory Price FROM RoomCategoryRoomsInfo
WHERE RoomCategoryRCategoryId RoomsInfoRCategoryId
AND RoomsInfoRoomId @roomid
SELECT @begintime HistoryBeginTime FROM History
WHERE HistoryRoomId @roomid AND HistoryCIdentityId @cidentityid
SET @totalprice @price * DATEDIFF (DAY@begintime@endtime)
IF(@totalprice 0)
SET @totalprice @price
UPDATE History SET EndTime @endtimeTotalPrice @totalprice
WHERE RoomId @roomid AND CIdentityId @cidentityid AND BeginTime @begintime
DELETE FROM RoomService WHERE RoomId @roomid
UPDATE RoomStatus SET RStatus 0
WHERE RoomId @roomid
PRINT '退房成功^_^'
END
GO
5客户信息修改
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客户信息修改')
DROP PROCEDURE 客户信息修改
GO
CREATE PROCEDURE 客户信息修改
@cidentityid varchar(30)
@cname varchar(20)
@cphone varchar(20)
AS
BEGIN
UPDATE CustomersInfo SET Cname @cnameCphone @cphone
WHERE CIdentityId @cidentityid
UPDATE History SET Cname @cnameCphone @cphone
WHERE CIdentityId @cidentityid
PRINT '客户信息修改成功^_^'
END
GO
6密码修改
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '密码修改')
DROP PROCEDURE 密码修改
GO
CREATE PROCEDURE 密码修改
@userid varchar(20)
@password varchar(20)
@npassword varchar(20)
AS
BEGIN
IF EXISTS(SELECT UseIdUPassword FROM UsersInfo WHERE UseId @userid AND UPassword @password)
UPDATE UsersInfo SET UPassword @npassword WHERE UseId @userid
ELSE
PRINT '户存请您重新输入'
END
GO
7客房删
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客房删')
DROP PROCEDURE 客房删
GO
CREATE PROCEDURE 客房删
@roomid varchar(20)
AS
BEGIN
DECLARE
@rstatus int
IF EXISTS(SELECT * FROM RoomsInfo WHERE RoomId @roomid)
BEGIN
SELECT @rstatus Rstatus FROM RoomStatus WHERE RoomId @roomid
IF(@rstatus 1)
PRINT '客房正现法删'
ELSE
BEGIN
UPDATE History SET RoomId 'D'+ @roomid WHERE RoomId @roomid
DELETE FROM RoomStatus WHERE RoomId @roomid
DELETE FROM RoomsInfo WHERE RoomId @roomid
PRINT '恭喜您客房删成功^_^'
END
END
ELSE
PRINT '您删客房存'
END
GO
8客房修改
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客房修改')
DROP PROCEDURE 客房修改
GO
CREATE PROCEDURE 客房修改
@roomid varchar(20)
@rcategoryid varchar(20)
@rpostition varchar(50)
@description varchar(50)
AS
BEGIN
IF EXISTS(SELECT RCategoryId FROM RoomCategory WHERE RCategoryId @rcategoryid)
BEGIN
UPDATE RoomsInfo SET RCategoryId @rcategoryidRPostition @rpostitionEescription @description
WHERE RoomId @roomid
PRINT '客房修改成功^_^'
END
ELSE
PRINT '客房类型存请您重新修改'
END
GO
(6)T—SQL语句创建库存触发器
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name 'TGI_业务信息添加')
DROP TRIGGER TGI_业务信息添加
GO
CREATE TRIGGER TGI_业务信息添加
ON RoomService
FOR INSERT
AS
DECLARE @roomid varchar(20)
SELECT @roomid Roomid FROM INSERTED
UPDATE RoomStatus SET Rstatus 1 WHERE Roomid @roomid
GO
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name 'TGI_业务信息删')
DROP TRIGGER TGI_业务信息删
GO
CREATE TRIGGER TGI_业务信息删
ON RoomService
FOR DELETE
AS
DECLARE @roomid varchar(20)
SELECT @roomid Roomid FROM DELETED
UPDATE RoomStatus SET Rstatus 0 WHERE Roomid @roomid
GO
第6章 系统功模块实现
61 系统登录模块
户登录模块系统首页户输入户名密码系统进行验证验证通进入程序界面界面图61示
图61 户登录界面
户登录时候户名填写户编号密码填写选择应身份钮登录钮登录户登录存储程例SQL语句:户登录 '1001''888888'
62 酒店理员模块
模块进行酒店理员总理界面够实现客房合理理界面图62示
图62 酒店理员界面
63 户信息理模块
模块户添加修改删等功够户进行合理理界面图63示
图63 职工信息理界面
添加户删户查询户修改户利系统查询五功钮级利系统查询利系统视图根填写信息户进行操作例SQL语句:SELECT * FROM 户信息系统查询_VIEW
INSERT INTO UsersInfo
VALUES('1005''杨幂''888888''男''yangyang@126com''北京''444444''理部'1)
DELETE FROM UsersInfo WHERE Sex '男' AND UAddress '北京'
SELECT Name Sex DepartmentEmail FROM UsersInfo
UPDATE UsersInfo SET Name '玲'Telephone '000000' WHERE UseId '1001'
64客房类型理模块
模块酒店中客房类型添加修改删等功够酒店客房进行合理理界面图64示
图64 客房类型理界面
添加客房删客房查询客房修改客房利系统查询五功钮级利系统查询利系统视图根填写信息客房进行操作例SQL语句:SELECT * FROM 客房类型查询_VIEW
SELECT Name Price AirCondition TV FROM RoomCategory
UPDATE RoomCategory SET Price 180TV '' WHERE RCategoryId '4'
INSERT INTO RoomCategory
VALUES('2''豪华间'20000225000'''')
DELETE FROM RoomCategory WHERE RCategoryId '1' AND TV ''
65 添加客房信息模块
酒店理员酒店客房进行添加增客房数量满足更顾客求时提高饭店运行效率界面图65示
图65 添加客房信息界面
添加客房系统中存储程实现SQL语句:EXEC 添加客房 'R1006''4''楼右侧''非常舒适'
66 删客房信息模块
酒店理员装修者位置合适等合理客房进行删酒店更受欢迎酒店进行合理化理界面图65示
图66 删客房信息界面
客房删时候理员输入客房号删客房客房删通存储程实现SQL语句:EXEC 客房删 'R1001'
67 客房信息修改查询理模块
酒店客房进行改装会改变类型者位置客房信息进行修改界面图67示
图67 客房信息修改查询界面
根填写容钮选择客房进行修改查询SQL语句:EXEC 客房修改 'R1004''1''楼右侧'''
SELECT RCategoryId RPostitionEescription FROM RoomsInfo
68客户信息理模块
入住酒店客户进行信息登记实现客户订房客户进行相关查询修改利酒店系统理酒店理员具操作力界面图68示
图68 客户信息理界面
客户查询客户修改客户订房利系统查询四钮级客户订房时候需填写全部容客户订房存储程选择钮时候客房号入住时间灰色SQL语句: EXEC 客户订房 '20110520''R1002''19901990''5D''15833223311'
SELECT * FROM 客户信息查询_VIEW
SELECT Cname Cphone FROM CustomersInfo
EXEC 客户信息修改 '19890202''杨仔''13653490003'
69营状况统计模块
时间入住酒店客户进行统计酒店营状况进行理界面图69示
图69 营状况统计界面
酒店客房营状况统计三种方式分年月日进行统计SQL语句:SELECT SUM(TotalPrice) AS 业务总额 FROM History WHERE EndTime LIKE '2010'
SELECT SUM(TotalPrice) AS 业务总额 FROM History WHERE EndTime LIKE '201105'
SELECT SUM(TotalPrice) AS 业务总额 FROM History WHERE EndTime LIKE '20110508'
610信息修改模块
酒店部员登录应户名信息进行修改界面图610示
图610 信息修改界面
信息修改默认已填写户名修改条件根填写容更新容SQL语句:UPDATE UsersInfo SET Email 'ANTA@163COM'UAddress '海' WHERE UseId '1002'
611密码修改模块
酒店部员登录应户名修改密码界面图611示
图611 密码修改界面
密码修改系统中密码修改存储程例SQL语句:EXEC 密码修改 '1001''123456''888888'
结
次课程设计老师督促提醒充分时间做准备通段时间准备设计制作学东西尤数库知识复扩充
设计数库添加数表创建视图触发器存储程等知识新认识更深理解制作完整系统提前准备实施程运行调试初步解次实验SQL Server 2008 编程工具功特性掌握熟悉
通次课程设计点感想:
1扎实理基础果掌握程序设计根法手难写出高水程序点正缺乏
2钻牛角尖遇问题暂时放工作歇会重新开始工作时候许会发现难题竟然迎刃解
3交流想法说出帮提点意见许设计系统会更加完善
4良编程风格注意语句写法规范遵守定变量命名规例:英文单词命名表中字段名称
深深认识果仅仅运理知识远远够必须理联系实际数库学实际案例中时次课程设计发现动手操作力变强学良基础
致 谢
半月艰苦努力终完成酒店客房理系统全部设计程该系统达实际应阶段
首先感谢帮助老师学支持鼓励够坚持利完成次课程设计次设计中时钟坚持理结合实际想象样设计时作系统中真实员进行分析实践慢慢进行完善次学锻炼中熟悉设计数库般步骤加强实际问题处理力实践证明:课堂中学知识远远够断查阅资料断学努力充实会学着做做实际项目增加见识积累验慢慢磨练
次学技术环境适应力讲步入社会验积累课程设计程中遇困难表现技术验欠缺通懈努力克服解决
次感觉学期贾老师学帮助鼓励
参考文献
[1] 张基温陈佳 信息系统开发 清华学出版社 2006年
[2] 卫红春 信息系统分析设计 西安电子科技学出版社 2003年
[3] 黄梯云 理信息系统 高等教育出版社 2005年
[4]方美琪 陈禹 软件开发工具 济科学出版社 2008年
[5]王珊 数组织理 济科学出版社 1996年
[6]袁然王诚梅SQL Server 2005数库简明教程 电子工业出版 2006 年
附 录
酒店客房理系统程序:
(1)T—SQL语句创建超市商品理系统数库
CREATE DATABASE 酒店客房理系统
ON
(NAME 酒店客房理系统FILENAME 'd\10——丁玲\酒店客房理系统mdf'
SIZE 10MBMAXSIZE 100MBFILEGROWTH 10)
LOG ON
(NAME 酒店客房理系统_LOGFILENAME 'd\10——丁玲\酒店客房理系统ldf'
SIZE 5MBMAXSIZE 50MBFILEGROWTH 1)
(2)T—SQL语句创建库存表
1创建户信息表
USE 酒店客房理系统
CREATE TABLE UsersInfo
(
UseId varchar(20) PRIMARY KEY
Name varchar(20)
UPassword varchar(20)
Sex varchar(2)
Email varchar(20)
UAddress varchar(20)
Telephone varchar(20)
Department varchar(20)
UType int 1代表酒店理员代表前台服务员
)
2创建客户信息表
USE 酒店客房理系统
CREATE TABLE CustomersInfo
(
CIdentityId varchar(30) PRIMARY KEY
Cname varchar(20)
Cphone varchar(20)
)
3创建客房类型表
USE 酒店客房理系统
CREATE TABLE RoomCategory
(
RCategoryId varchar(20) PRIMARY KEY
Name varchar(10)
Area real
BedNum int
Price numeric(72)
AirCondition varchar(10)
TV varchar(10)
)
4创建客房信息表
USE 酒店客房理系统
CREATE TABLE RoomsInfo
(
RoomId varchar(20)PRIMARY KEY
RCategoryId varchar(20)NOT NULL
RPostition varchar(50)
Eescription varchar(50)
)
5创建客房状态表
USE 酒店客房理系统
CREATE TABLE RoomStatus
(
RoomId varchar(20) PRIMARY KEY
RStatus int 1空房
FOREIGN KEY (RoomId) REFERENCES RoomsInfo(RoomId)
)
6创建客房业务表查询现酒店居住客户
USE 酒店客房理系统
CREATE TABLE RoomService
(
RoomId varchar(20) PRIMARY KEY
CIdentityId varchar(30) NOT NULL
)
7创建业务记录表
USE 酒店客房理系统
CREATE TABLE History
(
BeginTime date
EndTime date
RoomId varchar(20)
TotalPrice numeric(102)
CIdentityId varchar(30)
Cname varchar(20)
Cphone varchar(20)
PRIMARY KEY(BeginTimeRoomIdCIdentityId)
)
(3)T—SQL语句创建库存视图
CREATE VIEW 客房信息普通查询_VIEW
AS
SELECT RoomId 客房编号RCategoryId 客房类型编号RPostition 客房位置Eescription 描述
FROM RoomsInfo
CREATE VIEW 客房信息高级查询_VIEW
AS
SELECT RoomsInfoRoomId 客房编号RoomsInfoRCategoryId 客房类型编号RPostition 客房位置
Eescription 描述Name 类型名称Area 客房面积BedNum 配置床位Price 客房价格
AirCondition 配置空调TV 配置电视RStatus 客房状态
FROM RoomsInfoRoomCategoryRoomStatus
WHERE RoomsInfoRCategoryId RoomCategoryRCategoryId
AND RoomsInfoRoomId RoomStatusRoomId
CREATE VIEW 客户信息查询_VIEW
AS
SELECT CIdentityId 身份证号Cname 客户姓名CPhone 联系电话
FROM CustomersInfo
CREATE VIEW 户信息系统查询_VIEW
AS
SELECT UseId 户编号Name 户姓名UPassword 户密码Sex 户性Email Email址
UAddress 通讯址Telephone 联系电话Department 部门UType 户类型
FROM UsersInfo
CREATE VIEW 客房类型查询_VIEW
AS
SELECT RCategoryId 客房类型编号Name 类型名称Area 客房面积BedNum 配置床位
Price 客房价格AirCondition 配置空调TV 配置电视
FROM RoomCategory
(4)T—SQL语句创建库存索引
CREATE INDEX 户信息表 ON UsersInfo(UseId)
CREATE INDEX 客户信息表 ON CustomerInfo(CIdentityId)
CREATE INDEX 客户类型表 ON RoomCategory(RCategoryId)
CREATE INDEX 客房信息表 ON RoomsInfo(RoomId)
CREATE INDEX 客房状态表 ON RoomStatus(RoomId)
CREATE INDEX 客房业务表 ON RoomService(RoomId)
CREATE INDEX 业务记录表 ON History(RoomIdCIdentityId)
(5)T—SQL语句创建库存存储程
1户登录
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '户登录')
DROP PROCEDURE 户登录
GO
CREATE PROCEDURE 户登录
@useid varchar(20)
@password varchar(20)
AS
BEGIN
DECLARE @returnvalue int
SET @returnvalue 1
IF EXISTS(SELECT UseIdUPassword FROM UsersInfo
WHERE UseId @useid AND UPassword @password)
BEGIN
SET @returnvalue 0
PRINT '户登陆成功^_^'
END
ELSE
PRINT '户存请您重新输入'
END
GO
2添加客房
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '添加客房')
DROP PROCEDURE 添加客房
GO
CREATE PROCEDURE 添加客房
@roomid varchar(20)
@rcategoryid varchar(20)
@rposition varchar(50)
@description varchar(50)
AS
BEGIN
DECLARE @returnvalue int
SET @returnvalue 1
IF EXISTS(SELECT RoomId FROM RoomsInfo
WHERE RoomId @roomid)
PRINT '房间已存请您重新添加'
ELSE
BEGIN
IF EXISTS(SELECT RCategoryId FROM RoomCategory WHERE RCategoryId @rcategoryid)
BEGIN
INSERT INTO RoomsInfo VALUES(@roomid@rcategoryid@rposition@description)
INSERT INTO RoomStatus VALUES(@roomid0)
SET @returnvalue 0
PRINT '客房添加成功^_^'
END
ELSE
PRINT '客房类型存请您重新添加'
END
END
GO
3客户订房
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客户订房')
DROP PROCEDURE 客户订房
GO
CREATE PROCEDURE 客户订房
@begintime date
@roomid varchar(20)
@cidentityid varchar(30)
@cname varchar(20)
@cphone varchar(20)
AS
BEGIN
DECLARE
@rstatus int
SELECT @rstatus RStatus FROM RoomStatus WHERE RoomId @roomid
IF(@rstatus 1)
PRINT '客房正请您选择客房'
ELSE
BEGIN
UPDATE RoomStatus SET RStatus 1 WHERE RoomId @roomid
IF EXISTS(SELECT Cidentityid FROM CustomersInfo
WHERE Cidentityid @cidentityid)
BEGIN
UPDATE CustomersInfo SET Cname @cnameCphone @cphone
WHERE Cidentityid @cidentityid
UPDATE History SET Cname @cnameCphone @cphone
WHERE Cidentityid @cidentityid
INSERT INTO RoomService VALUES(@roomid@cidentityid)
INSERT INTO History VALUES(@begintimenull@roomid0@cidentityid@cname@cphone)
PRINT '订房成功^_^'
END
ELSE
BEGIN
INSERT INTO CustomersInfo
VALUES(@cidentityid@cname@cphone)
INSERT INTO RoomService VALUES(@roomid@cidentityid)
INSERT INTO History VALUES(@begintimenull@roomid0@cidentityid@cname@cphone)
PRINT '订房成功^_^'
END
END
END
GO
4客户退房
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客户退房')
DROP PROCEDURE 客户退房
GO
CREATE PROCEDURE 客户退房
@roomid varchar(20)
@cidentityid varchar(20)
@endtime date
AS
BEGIN
DECLARE @price numeric(102)
@totalprice numeric(102)
@begintime date
SELECT @price RoomCategory Price FROM RoomCategoryRoomsInfo
WHERE RoomCategoryRCategoryId RoomsInfoRCategoryId
AND RoomsInfoRoomId @roomid
SELECT @begintime HistoryBeginTime FROM History
WHERE HistoryRoomId @roomid AND HistoryCIdentityId @cidentityid
SET @totalprice @price * DATEDIFF (DAY@begintime@endtime)
IF(@totalprice 0)
SET @totalprice @price
UPDATE History SET EndTime @endtimeTotalPrice @totalprice
WHERE RoomId @roomid AND CIdentityId @cidentityid AND BeginTime @begintime
DELETE FROM RoomService WHERE RoomId @roomid
UPDATE RoomStatus SET RStatus 0
WHERE RoomId @roomid
PRINT '退房成功^_^'
END
GO
5客户信息修改
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客户信息修改')
DROP PROCEDURE 客户信息修改
GO
CREATE PROCEDURE 客户信息修改
@cidentityid varchar(30)
@cname varchar(20)
@cphone varchar(20)
AS
BEGIN
UPDATE CustomersInfo SET Cname @cnameCphone @cphone
WHERE CIdentityId @cidentityid
UPDATE History SET Cname @cnameCphone @cphone
WHERE CIdentityId @cidentityid
PRINT '客户信息修改成功^_^'
END
GO
6密码修改
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '密码修改')
DROP PROCEDURE 密码修改
GO
CREATE PROCEDURE 密码修改
@userid varchar(20)
@password varchar(20)
@npassword varchar(20)
AS
BEGIN
IF EXISTS(SELECT UseIdUPassword FROM UsersInfo WHERE UseId @userid AND UPassword @password)
UPDATE UsersInfo SET UPassword @npassword WHERE UseId @userid
ELSE
PRINT '户存请您重新输入'
END
GO
7客房删
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客房删')
DROP PROCEDURE 客房删
GO
CREATE PROCEDURE 客房删
@roomid varchar(20)
AS
BEGIN
DECLARE
@rstatus int
IF EXISTS(SELECT * FROM RoomsInfo WHERE RoomId @roomid)
BEGIN
SELECT @rstatus Rstatus FROM RoomStatus WHERE RoomId @roomid
IF(@rstatus 1)
PRINT '客房正现法删'
ELSE
BEGIN
UPDATE History SET RoomId 'D'+ @roomid WHERE RoomId @roomid
DELETE FROM RoomStatus WHERE RoomId @roomid
DELETE FROM RoomsInfo WHERE RoomId @roomid
PRINT '恭喜您客房删成功^_^'
END
END
ELSE
PRINT '您删客房存'
END
GO
8客房修改
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name '客房修改')
DROP PROCEDURE 客房修改
GO
CREATE PROCEDURE 客房修改
@roomid varchar(20)
@rcategoryid varchar(20)
@rpostition varchar(50)
@description varchar(50)
AS
BEGIN
IF EXISTS(SELECT RCategoryId FROM RoomCategory WHERE RCategoryId @rcategoryid)
BEGIN
UPDATE RoomsInfo SET RCategoryId @rcategoryidRPostition @rpostitionEescription @description
WHERE RoomId @roomid
PRINT '客房修改成功^_^'
END
ELSE
PRINT '客房类型存请您重新修改'
END
GO
(6)T—SQL语句创建库存触发器
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name 'TGI_业务信息添加')
DROP TRIGGER TGI_业务信息添加
GO
CREATE TRIGGER TGI_业务信息添加
ON RoomService
FOR INSERT
AS
DECLARE @roomid varchar(20)
SELECT @roomid Roomid FROM INSERTED
UPDATE RoomStatus SET Rstatus 1 WHERE Roomid @roomid
GO
USE 酒店客房理系统
GO
IF EXISTS(
SELECT * FROM SYSOBJECTS
WHERE name 'TGI_业务信息删')
DROP TRIGGER TGI_业务信息删
GO
CREATE TRIGGER TGI_业务信息删
ON RoomService
FOR DELETE
AS
DECLARE @roomid varchar(20)
SELECT @roomid Roomid FROM DELETED
UPDATE RoomStatus SET Rstatus 0 WHERE Roomid @roomid
GO
指导教师评语设计成绩
评 语
课程设计成绩:
指导教师:
日期: 年 月 日
文档香网(httpswwwxiangdangnet)户传
《香当网》用户分享的内容,不代表《香当网》观点或立场,请自行判断内容的真实性和可靠性!
该内容是文档的文本内容,更好的格式请下载文档