酒店管理系统设计-数据库课程设计(共14页).doc
《酒店管理系统设计-数据库课程设计(共14页).doc》由会员分享,可在线阅读,更多相关《酒店管理系统设计-数据库课程设计(共14页).doc(14页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上数据库 酒店管理系统 课程设计(基于 SQL server 2000)实现过程1.1 通过查询分析器实现建立数据库、数据表-创建数据库和数据表-(1)创建酒店管理系统数据库 CREATE DATABASE 酒店管理系统(2)创建客房信息表 CREATE TABLE 客房(客房编号 CHAR(8) PRIMARY KEY, 客房类型 CHAR(8)NOT NULL, 价格 SMALLMONEY NOT NULL, 床位数 INT NOT NULL, 使用状态 CHAR(8) NOT NULL) INSERT INTO 客房 VALUES(101,一,100,1,在使用)
2、INSERT INTO 客房 VALUES(102,二,200,2,在使用)INSERT INTO 客房 VALUES(103,二,200,1,在使用)INSERT INTO 客房 VALUES(104,三,300,2,在使用)INSERT INTO 客房 VALUES(105,三,300,1,未使用)(3)创建客户信息表 CREATE TABLE 客户(客户编号 CHAR(8)PRIMARY KEY,客户名称 CHAR(10)NOT NULL, 身份证号 CHAR(18)NOT NULL, 联系地址 CHAR(25), 联系电话 CHAR(10)INSERT INTO 客户 VALUES(1
3、001,王一,12234,江西,)INSERT INTO 客户 VALUES(1002,张三,34234,江西,)INSERT INTO 客户 VALUES(1003,李四,56465,江西,)INSERT INTO 客户 VALUES(1004,王钱,65435,江西,)INSERT INTO 客户 VALUES(1005,孙志,11464,江西,) (4)创建入住登记表 CREATE TABLE 入住登记(客房编号 CHAR(8)FOREIGN KEY REFERENCES 客房(客房编号), 客户编号 CHAR(8)FOREIGN KEY REFERENCES 客户(客户编号), 预定日
4、期 DATETIME, 预定数量 INT,PRIMARY KEY(客房编号,客户编号) INSERT INTO 入住登记 VALUES(101,1001,2010-10-10,1)INSERT INTO 入住登记 VALUES(102,1002,2010-12-10,1)INSERT INTO 入住登记 VALUES(103,1003,2010-12-26,1)INSERT INTO 入住登记 VALUES(104,1004,2010-12-9,1)-创建查询视图-1.2系统功能相应的查询视图:(1)客户信息查询视图 CREATE VIEW 客户信息查询AS SELECT * FROM 客户(
5、2)客房信息查询 CREATE VIEW 客房信息查询AS SELECT * FROM 客房(3)入住信息查询CREATE VIEW 入住登记信息查询AS SELECT * FROM 入住登记(4)入住信息查询 CREATE VIEW 入住信息查询 AS SELECT入住登记.客房编号,客户名称,入住登记.客户编号,客房.客房类型,价格,使用状态FROM 客房,客户,入住登记WHERE 客房.客房编号=入住登记.客房编号 AND 入住登记.客户编号=客户.客户编号-建立索引-1.3建立索引及数据入库1.建立客房编号,价格,客户编号,客户名称的索引创建客房表索引:CREATE UNIQUE IN
6、DEX UKF ON 客房(客房编号,价格) 创建客户表索引:CREATE UNIQUE INDEX UKH ON 客户(客户编号,客户名称) 创建入住表索引:CREATE UNIQUE INDEX URZ ON 入住登记(客户编号,客房编号)2.数据入库 方法一 酒店管理系统包括客房信息表,客户信息表,入住登记信息表。采用Excel中录入数据,然后使用SQL Server 2000数据导入、导出功能直接将数据导入到相应的基本表。 方法二 在查询分析器中插入相关数据,用SQL语句插入。-创建存储过程-1.4建立存储过程1.4.1客房信息存储过程插入客房信息存储过程:CREATE PROCEDU
7、RE 插入客房信息(KFB CHAR(8),KFL CHAR(8),JG SMALLMONEY,CWS INT,SYZT CHAR(8)ASINSERT INTO 客房 VALUES (KFB,KFL,JG,CWS,SYZT)修改客房信息存储过程:CREATE PROCEDURE 修改客房信息(KFB CHAR(8),KFL CHAR(8),JG SMALLMONEY,CWS INT,SYZT CHAR(8)ASUPDATE 客房SET 客房类型=KFL,价格=JG,床位数=CWS,使用状态=SYZTWHERE 客房编号=KFB删除客房信息存储过程:CREATE PROCEDURE 删除客房信
8、息(KFB CHAR(8)ASDELETE FROM 客房 WHERE 客房编号=KFB1.4.2客户信息存储过程插入客户信息CREATE PROCEDURE 插入客户信息(KHB CHAR(8),KFM CHAR(10),SFZ CHAR(18),LXDZ CHAR(25),LXDH CHAR(10)ASINSERT INTO 客户 VALUES (KHB,KFM,SFZ,LXDZ,LXDH)修改客户信息CREATE PROCEDURE 修改客户信息(KHB CHAR(8),KFM CHAR(10),SFZ CHAR(18),LXDZ CHAR(25),LXDH CHAR(10)ASUPDA
9、TE 客户SET 客户名称=KFM,身份证号=SFZ,联系地址=LXDZ,联系电话=LXDHWHERE 客户编号=KHB删除客户信息CREATE PROCEDURE 删除客户信息(KHB CHAR(8)ASDELETEFROM 客户WHERE 客户编号=KHBEXEC 删除客户信息 KHB=100093.4.3创建入住信息存储过程插入入住信息 CREATE PROCEDURE 插入入住信息(KFB CHAR(8), KHB CHAR(8), YDRQ DATETIME,YDSL INT)ASINSERT INTO 入住登记 VALUES(KFB,KHB,YDRQ,YDSL)修改入住信息CREA
10、TE PROCEDURE 修改入住信息(KFB CHAR(8), KHB CHAR(8), YDRQ DATETIME,YDSL INT)ASUPDATE 入住登记SET 客房编号=KFB,预定日期=YDRQ ,预定数量=YDSLWHERE 客户编号=KHB删除入住信息CREATE PROCEDURE 删除入住信息( KHB CHAR(8)ASDELETE FROM 入住登记WHERE 客户编号=KHB1.5查询存储过程的创建客房编号查询CREATE PROCEDURE 客房编号查询(KFB CHAR(8),KFL CHAR(8)OUTPUT,JG SMALLMONEY OUTPUT,CWS
11、INT OUTPUT,SYZT CHAR(8)OUTPUT)ASSELECT KFL=客房类型,JG=价格,CWS=床位数,SYZT=使用状态FROM 客房WHERE 客房编号=KFB 客户编号查询CREATE PROCEDURE 客户编号查询(KHB CHAR(8),KFM CHAR(10)OUTPUT ,SFZ CHAR(18)OUTPUT,LXDZ CHAR(25)OUTPUT,LXDH CHAR(10)OUTPUT)ASSELECT KFM=客户名称,SFZ=身份证号,LXDZ=联系地址,LXDH=联系电话FROM 客户WHERE 客户编号=KHB入住客户编号查询CREATE PROC
12、EDURE 入住客户编号查询(KFB CHAR(8)OUTPUT, KHB CHAR(8), YDRQ DATETIME OUTPUT,YDSL INT OUTPUT)ASSELECT KFB=客房编号,YDRQ=预定日期,YDSL=预定数量FROM 入住登记WHERE 客户编号=KHB-建立触发器-1.6、建立触发器保证数据的一致性客房使用状态的控制CREATE TRIGGER 控制触发器 ON 入住登记FOR INSERT AS UPDATE 客房SET 使用状态=使用中WHERE 客房编号=ANY (SELECT 客房编号 FROM INSERTED )控制入住信息删除的触发器CREAT
13、E TRIGGER 入住删除触发器 ON 入住登记FOR DELETE AS BEGIN DELETE FROM 客户WHERE 客户编号=ANY (SELECT 客户编号 FROM DELETED )UPDATE 客房SET 使用状态=未使用WHERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END客户信息删除的控制CREATE TRIGGER 客户删除触发器 ON 客户FOR DELETE AS BEGIN DELETE FROM 入住WHERE 客户编号=ANY (SELECT 客户编号 FROM DELETED )UPDATE 客房SET 使用状态=未使用W
14、HERE 客房编号=ANY(SELECT 客房编号 FROM DELETED)END客房删除触发器CREATE TRIGGER 客房删除触发器 ON 客房FOR DELETE AS DELETE FROM 入住WHERE 客户编号=ANY (SELECT 客户编号 FROM DELETED )酒店管理系统数据库脚本-数据库初始化-set nocount onset dateformat mdygo use master goif exists(select * from sysdatabases where name=酒店管理系统) /*删除在master中已存*/ /*在的名为酒店管理系统的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 酒店 管理 系统 设计 数据库 课程设计 14
限制150内