酒店管理系统 数据库课程设计Word格式.docx
- 文档编号:21300722
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:19
- 大小:18.64KB
酒店管理系统 数据库课程设计Word格式.docx
《酒店管理系统 数据库课程设计Word格式.docx》由会员分享,可在线阅读,更多相关《酒店管理系统 数据库课程设计Word格式.docx(19页珍藏版)》请在冰豆网上搜索。
,300,2,'
105'
300,1,'
未使用'
(3)创建客户信息表
CREATETABLE客户
(客户编号CHAR(8)PRIMARYKEY,
客户名称CHAR(10)NOTNULL,
身份证号CHAR(18)NOTNULL,
联系地址CHAR(25),
联系电话CHAR(10))
INSERTINTO客户VALUES('
1001'
王一'
12234,'
江西'
3245354'
1002'
张三'
34234,'
2442442'
1003'
李四'
56465,'
5654645'
1004'
王钱'
65435,'
5676577'
1005'
孙志'
11464,'
4234343'
(4)创建入住登记表
CREATETABLE入住登记
(客房编号CHAR(8)FOREIGNKEYREFERENCES客房(客房编号),
客户编号CHAR(8)FOREIGNKEYREFERENCES客户(客户编号),
预定日期DATETIME,
预定数量INT,
PRIMARYKEY(客房编号,客户编号))
INSERTINTO入住登记VALUES('
2010-10-10,1)
2010-12-10,1)
2010-12-26,1)
2010-12-9,1)
---------------------------------------创建查询视图----------------------------------------
1.2系统功能相应的查询视图:
(1)客户信息查询视图
CREATEVIEW客户信息查询
ASSELECT*FROM客户
(2)客房信息查询
CREATEVIEW客房信息查询
ASSELECT*FROM客房
(3)入住信息查询
CREATEVIEW入住登记信息查询
ASSELECT*FROM入住登记
(4)入住信息查询
CREATEVIEW入住信息查询
ASSELECT入住登记.客房编号,客户名称,入住登记.客户编号,客房.客房类型,价格,使用状态
FROM客房,客户,入住登记
WHERE客房.客房编号=入住登记.客房编号AND入住登记.客户编号=客户.客户编号
----------------------------------------------建立索引------------------------------------------------------
1.3建立索引及数据入库
1.建立客房编号,价格,客户编号,客户名称的索引
创建客房表索引:
CREATEUNIQUEINDEXUKFON客房(客房编号,价格)
创建客户表索引:
CREATEUNIQUEINDEXUKHON客户(客户编号,客户名称)
创建入住表索引:
CREATEUNIQUEINDEXURZON入住登记(客户编号,客房编号)
2.数据入库
方法一酒店管理系统包括客房信息表,客户信息表,入住登记信息表。
采用Excel中录入数据,然后使用SQLServer2000数据导入、导出功能直接将数据导入到相应的基本表。
方法二在查询分析器中插入相关数据,用SQL语句插入。
-----------------------------------------创建存储过程-----------------------------------------------------
1.4建立存储过程
1.4.1客房信息存储过程
插入客房信息存储过程:
CREATEPROCEDURE插入客房信息
(@KFBCHAR(8),
@KFLCHAR(8),
@JGSMALLMONEY,
@CWSINT,
@SYZTCHAR(8)
AS
INSERTINTO客房VALUES(@KFB,@KFL,@JG,@CWS,@SYZT)
修改客房信息存储过程:
CREATEPROCEDURE修改客房信息
UPDATE客房
SET客房类型=@KFL,价格=@JG,床位数=@CWS,使用状态=@SYZT
WHERE客房编号=@KFB
删除客房信息存储过程:
CREATEPROCEDURE删除客房信息
(@KFBCHAR(8)
DELETEFROM客房WHERE客房编号=@KFB
1.4.2客户信息存储过程
插入客户信息
CREATEPROCEDURE插入客户信息
(@KHBCHAR(8),
@KFMCHAR(10),
@SFZCHAR(18),
@LXDZCHAR(25),
@LXDHCHAR(10)
INSERTINTO客户VALUES(@KHB,@KFM,@SFZ,@LXDZ,@LXDH)
修改客户信息
CREATEPROCEDURE修改客户信息
UPDATE客户
SET客户名称=@KFM,身份证号=@SFZ,联系地址=@LXDZ,联系电话=@LXDH
WHERE客户编号=@KHB
删除客户信息
CREATEPROCEDURE删除客户信息
(@KHBCHAR(8))
DELETE
FROM客户
EXEC删除客户信息@KHB='
10009'
3.4.3创建入住信息存储过程
插入入住信息
CREATEPROCEDURE插入入住信息
@KHBCHAR(8),
@YDRQDATETIME,
@YDSLINT
INSERTINTO入住登记VALUES(@KFB,@KHB,@YDRQ,@YDSL)
修改入住信息
CREATEPROCEDURE修改入住信息
UPDATE入住登记
SET客房编号=@KFB,预定日期=@YDRQ,预定数量=@YDSL
删除入住信息
CREATEPROCEDURE删除入住信息
(
@KHBCHAR(8)
DELETE
FROM入住登记
1.5查询存储过程的创建
客房编号查询
CREATEPROCEDURE客房编号查询
@KFLCHAR(8)OUTPUT,
@JGSMALLMONEYOUTPUT,
@CWSINTOUTPUT,
@SYZTCHAR(8)OUTPUT
SELECT@KFL=客房类型,@JG=价格,@CWS=床位数,@SYZT=使用状态
FROM客房
WHERE客房编号=@KFB
客户编号查询
CREATEPROCEDURE客户编号查询
@KFMCHAR(10)OUTPUT,
@SFZCHAR(18)OUTPUT,
@LXDZCHAR(25)OUTPUT,
@LXDHCHAR(10)OUTPUT
SELECT@KFM=客户名称,@SFZ=身份证号,@LXDZ=联系地址,@LXDH=联系电话
入住客户编号查询
CREATEPROCEDURE入住客户编号查询
(@KFBCHAR(8)OUTPUT,
@YDRQDATETIMEOUTPUT,
@YDSLINTOUTPUT
SELECT@KFB=客房编号,@YDRQ=预定日期,@YDSL=预定数量
---------------------------------------建立触发器---------------------------------------------
1.6、建立触发器保证数据的一致性
客房使用状态的控制
CREATETRIGGER控制触发器
ON入住登记
FORINSERT
AS
SET使用状态='
使用中'
WHERE客房编号=ANY(SELECT客房编号FROMINSERTED)
控制入住信息删除的触发器
CREATETRIGGER入住删除触发器
FORDELETE
AS
BEGIN
WHERE客户编号=ANY(SELECT客户编号FROMDELETED)
WHERE客房编号=ANY(SELECT客房编号FROMDELETED)
END
客户信息删除的控制
CREATETRIGGER客户删除触发器
ON客户
FROM入住
客房删除触发器
CREATETRIGGER客房删除触发器
ON客房
酒店管理系统数据库脚本
------------------------数据库初始化-------------------------------------
setnocounton
setdateformatmdy
go
usemaster
go
ifexists(select*fromsysdatabaseswherename='
酒店管理系统'
)/*删除在master中已存*//*在的名为酒店管理系统的数据库*/
dropdatabase酒店管理系统
--------------------------酒店管理系统的建立--------------------------------
createdatabase酒店管理系统
onprimary/*设定系统主文件*/
(name='
酒店管理系统_data'
filename='
d:
\酒店管理系统.mdf'
size=10,
maxsize=50,
filegrowth=5)
logon/*创建事务日志文件*/
酒店管理系统_log'
\酒店管理系统.ldf'
size=5,
maxsize=25,
---------(注:
删除查询分析器中的以上代码后,运行以下代码)----------
--------------------------------------建立信息表-----------------------------------------
use酒店管理系统
ifexists(select*fromsysobjectswherename='
客户'
)
droptable客户
print'
droptable客户'
createtable客户'
/*客户信息表*/
CREATETABLE客户/*创建客户信息表*/
身份证号CHAR(18)NOTNULL,
联系地址CHAR(25),
联系电话CHAR(10))
--------------------------插入客户数据-----------------------
--------------------------------------------------------------
客房'
droptable客房
droptable客房'
createtable客房'
/*客房信息表*/
CREATETABLE客房/*创建客房信息表*/
客房类型CHAR(8)NOTNULL,
价格SMALLMONEYNOTNULL,
床位数INTNOTNULL,
使用状态CHAR(8)NOTNULL)
-----------------------插入客房数据----------------------
入住登记'
droptable入住登记
droptable入住登记'
createtable入住登记'
/*入住登记信息表*/
CREATETABLE入住登记/*创建入住登记信息表*/
---------------插入入住登记信息数据----------------------
------------------------------------建立索引--------------------------------------------------
-----------------------------------建立触发器-------------------------------------------------
-------建立控制触发器(保证在客房使用状态的一致性)------
ifexists(select*fromsysobjectswherename='
控制触发器'
droptrigger控制触发器
GO
--------建立入住删除触发器(保证信息删除的一致性)----------
入住删除触发器'
droptrigger入住删除触发器
-------建立客房删除触发器(保证删除的一致性)---------
客房删除触发器'
droptrigger客房删除触发器
----------------------------------------创建查询视图-----------------------------------------------
CREATEVIEW入住信息查询
ASSELECT入住登记.客房编号,客户名称,入住登记.客户编号,客房.客房类型,价格,使用状态
----------------------------------------建立存储过程-----------------------------------------------
--------------客房信息插入存储过程--------------------------
--------------------客房信息修改的存储过程---------------------
--------------------客房信息删除的存储过程---------------------
--------------------客户信息插入的存储过程---------------------
@SFZCHAR(18)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店管理系统 数据库课程设计 酒店 管理 系统 数据库 课程设计
![提示](https://static.bdocx.com/images/bang_tan.gif)