创建客房类型表RoomType
创建客房状态表RoomState
创建客房信息表Room
创建结账状态表ResideState
创建客人信息表GuestRecord
编写sql语句
USE master
GO
--创建数据库Hotel
IF EXISTS (SELECT name FROM sys.databases WHERE name = 'Hotel')
DROP DATABASE Hotel
GO exec sp_configure 'show advanced options',1
reconfigure
go
exec sp_configure 'xp_cmdshell',1
reconfigure
go
use master
go
EXEC xp_cmdshell 'mkdir E:\DB', NO_OUTPUT CREATE DATABASE [Hotel] ON PRIMARY
( NAME = 'Hotel', FILENAME = 'E:\DB\Hotel.mdf' , SIZE = 3072KB , MAXSIZE = UNLIMITED, FILEGROWTH = 1024KB )
LOG ON
( NAME = 'Hotel_log', FILENAME = 'E:\DB\Hotel_log.ldf' , SIZE = 1024KB , MAXSIZE = 20MB , FILEGROWTH = 10%)
GO --创建表
USE Hotel
GO
--创建结账状态表ResideState
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'ResideState')
DROP TABLE ResideState
GO
CREATE TABLE ResideState(
ResideId int IDENTITY(1,1) NOT NULL, --结账状态ID
ResideName varchar(50) NULL --结账状态名称
) ALTER TABLE ResideState
ADD CONSTRAINT PK_ResideState PRIMARY KEY (ResideId)
GO --创建客房类型表RoomType
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'RoomType')
DROP TABLE RoomType
GO
CREATE TABLE RoomType (
TypeID int IDENTITY(1,1) NOT NULL,--客房类型id
TypeName nvarchar(50) NULL, --客房类型名称
TypePrice decimal(18, 2) NULL --客房类型价格
)
GO
ALTER TABLE RoomType
ADD CONSTRAINT PK_RoomType PRIMARY KEY (TypeID)
GO
ALTER TABLE RoomType
ADD CONSTRAINT CK_RoomPrice CHECK(TypePrice >= 0)
GO --创建客房状态表RoomState
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'RoomState')
DROP TABLE RoomState
GO
CREATE TABLE RoomState (
RoomStateID int IDENTITY(1,1) NOT NULL,--房间状态id
RoomStateName nvarchar(20) NULL --房间状态名称
)
GO
ALTER TABLE RoomState
ADD CONSTRAINT PK_RoomState PRIMARY KEY (RoomStateID)
GO --创建客房信息表Room
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'Room')
DROP TABLE Room
GO
CREATE TABLE Room (
RoomID int NOT NULL, --房间id
Description nvarchar(200) NOT NULL, --房间描述
BedNum int NULL, --床位数
GuestNum int NULL, --房客数目
RoomStateID int NOT NULL, --房间状态id
RoomTypeID int NOT NULL --客房类型id
)
GO
ALTER TABLE Room
ADD CONSTRAINT PK_RoomID PRIMARY KEY (RoomID)
GO
ALTER TABLE Room
ADD CONSTRAINT DF_RoomStateID DEFAULT (2) FOR RoomStateID,
CONSTRAINT DF_BedNum DEFAULT (2) FOR BedNum,
CONSTRAINT DF_GuestNum DEFAULT (0) FOR GuestNum,
CONSTRAINT CK_GuestNum CHECK(GuestNum >= 0),
CONSTRAINT FK_RoomStateID FOREIGN KEY(RoomStateID) REFERENCES RoomState(RoomStateID),
CONSTRAINT FK_RoomTypeID FOREIGN KEY(RoomTypeID) REFERENCES RoomType(TypeID)
GO --创建客人信息表GuestRecord
IF EXISTS (SELECT * FROM sysobjects WHERE name = 'GuestRecord')
DROP TABLE GuestRecord
GO
CREATE TABLE GuestRecord (
GuestID int IDENTITY(1,1) NOT NULL,--入住流水ID
IdentityID varchar(50) NOT NULL, --身份证号
GuestName nvarchar(20) NOT NULL, --客人姓名
RoomID int NULL, --客房ID
ResideID int NULL, --入住状态ID
ResideDate datetime NULL, --入住日期
LeaveDate datetime NULL, --结账日期
Deposit decimal(18, 2) NULL, --押金
TotalMoney decimal(18, 2) NULL --总金额
)
GO
ALTER TABLE GuestRecord
ADD CONSTRAINT PK_GuestID PRIMARY KEY(GuestID),
CONSTRAINT DF_ResideID DEFAULT (1) FOR ResideID,
CONSTRAINT CK_LeaveDate CHECK (LeaveDate>=ResideDate),
CONSTRAINT FK_RoomID FOREIGN KEY(RoomID) REFERENCES Room(RoomID),
CONSTRAINT FK_ResideID FOREIGN KEY(ResideID) REFERENCES ResideState(ResideID)
GO --插入数据
--数据插入结账状态表ResideState
INSERT INTO ResideState (ResideName) VALUES('未结帐')
INSERT INTO ResideState (ResideName) VALUES('结帐')
--数据插入客房类型表RoomType
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('标准间',180)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('单人间',128)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('三人间',208)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('单人间',99)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('总统套房',998)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('长包房',108)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('豪华标准间',268)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('单人套房',368)
INSERT INTO RoomType (TypeName, TypePrice) VALUES ('双人套房',568) --数据插入客房状态表RoomState
INSERT INTO RoomState (RoomStateName) VALUES ('已入住')
INSERT INTO RoomState (RoomStateName) VALUES ('空闲')
INSERT INTO RoomState (RoomStateName) VALUES ('维修') --数据插入客房信息表Room
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1008,'这是双人标准间',2,2,1,1)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1018,'这是双人标准间',2,0,2,1)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1028,'这是双人标准间',2,1,1,1)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1038,'这是双人标准间',2,0,3,1)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1048,'这是单人间',1,1,1,1)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1058,'这是单人间',1,1,1,1)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1068,'这是单人套房',1,1,1,8)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1078,'这是单人套房',1,0,2,8)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1088,'这是豪华双人标准间',2,1,1,7)
INSERT INTO Room (RoomID,Description,BedNum,GuestNum,RoomStateID,RoomTypeID) VALUES (1098,'这是豪华双人标准间',2,0,2,7) --数据插入客人信息表GuestRecord
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney,ResideID)
VALUES ('11010119910101001x','王笑',1008,'2009-9-9 12:30:00','2009-9-10 11:30:02',1000,180,2)
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney)
VALUES ('','张淼',1008,'2009-9-9 12:30:00','2009-9-10 11:30:02',1000,180)
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney)
VALUES ('','刘元元',1028,'2009-9-20 22:23:20',null,3000,null)
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney)
VALUES ('','丁一',1048,'2009-9-29 02:30:40',null,1000,null)
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney)
VALUES ('','赵玲',1058,'2009-9-18 16:33:13',null,800,null)
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney)
VALUES ('21201019910710001x','谭坛',1068,'2009-10-3 6:36:09',null,1500,null)
INSERT INTO GuestRecord (IdentityID,GuestName,RoomID,ResideDate,LeaveDate,Deposit,TotalMoney)
VALUES ('','周舟',1088,'2009-10-4 7:50:40',null,5000,null)

SQL Server存储过程作业(一)的更多相关文章

  1. SQL Server存储过程作业(三)

    阶段4:练习——插入入住客人记录 需求说明 使用存储过程将入住客人信息插入客人信息表中,要求: 检查身份证号必须是18个字符组成 押金的默认值为1000元 如果客人记录插入成功,输出客人流水号:否则输 ...

  2. SQL Server存储过程作业(二)

    阶段1:练习——统计某类型客房的入住客人人数 需求说明 使用存储过程统计在指定类型的客房入住客人的总人数 提示: 存储过程的输入参数是指定的客房类型名称 USE Hotel GO --阶段1:查询入住 ...

  3. 第七篇 SQL Server代理作业活动监视器

    本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...

  4. 第二篇 SQL Server代理作业步骤和子系统

    本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...

  5. 【译】第七篇 SQL Server代理作业活动监视器

    本篇文章是SQL Server代理系列的第七篇,详细内容请参考原文 在这一系列的上一篇,你创建并配置SQL Server代理作业.每个作业有一个或多个步骤,可能包含大量的工作流.在这篇文章中,将查看作 ...

  6. 【译】第二篇 SQL Server代理作业步骤和子系统

    本篇文章是SQL Server代理系列的第二篇,详细内容请参考原文. SQL Server代理作业由一系列的一个或多个作业步骤组成.一个作业步骤分配给一个特定的作业子系统(确定作业步骤去完成的工作). ...

  7. SQL SERVER 2008复制数据库时发生执行SQL Server代理作业错误

    1. 情况说明 在利用SQL SERVER数据库复制向导,能够很方便的将一个数据库从一台服务器复制到另一台服务器上,具体操作步骤也十分简单. 不过在实际操作过程常发生“执行SQL SERVER代理作业 ...

  8. SQL Server存储过程中使用表值作为输入参数示例

    这篇文章主要介绍了SQL Server存储过程中使用表值作为输入参数示例,使用表值参数,可以不必创建临时表或许多参数,即可向 Transact-SQL 语句或例程(如存储过程或函数)发送多行数据,这样 ...

  9. SQL Server存储过程Return、output参数及使用技巧

    SQL Server目前正日益成为WindowNT操作系统上面最为重要的一种数据库管理系统,随着 SQL Server2000的推出,微软的这种数据库服务系统真正地实现了在WindowsNT/2000 ...

随机推荐

  1. homework week 1

    第一周的作业 首先来完成第二个作业, 编写登录接口, 因为视频上并没有相关的教程, 就在网上搜了一下读写文件的语句, 粗略了解. f1 = open("data.txt",&quo ...

  2. 洋葱浏览器(Tor Browser)

    第一,洋葱路由器简介 Tor Browser 是個內建「翻牆」功能的網路瀏覽器,藉由「洋蔥路由, The Onion Router (Tor)」匿名瀏覽技術,將上網時所傳遞的訊息層層加密保護,讓使用者 ...

  3. scrapy——3 crawlSpider——爱问

    scrapy——3  crawlSpider crawlSpider 爬取一般网站常用的爬虫类.其定义了一些规则(rule)来提供跟进link的方便的机制. 也许该spider并不是完全适合您的特定网 ...

  4. noip模拟赛 正方形

    题目描述在一个10000*10000的二维平面上,有n颗糖果.LYK喜欢吃糖果!并且它给自己立了规定,一定要吃其中的至少C颗糖果!事与愿违,LYK只被允许圈出一个正方形,它只能吃在正方形里面的糖果.并 ...

  5. [UOJ#35] [UOJ后缀数组模板题] 后缀排序 [后缀数组模板]

    后缀数组,解决字符串问题的有利工具,本题代码为倍增SA算法 具体解释详见2009年国家集训队论文 #include <iostream> #include <algorithm> ...

  6. 洛谷 P1586 四方定理

    P1586 四方定理 题目描述 四方定理是众所周知的:任意一个正整数nn,可以分解为不超过四个整数的平方和.例如:25=1^{2}+2^{2}+2^{2}+4^{2}25=1​2​​+2​2​​+2​ ...

  7. ZooKeeper配置文件常用配置项一览表(转)

     配置参数详解(主要是$ZOOKEEPER_HOME/conf/zoo.cfg文件) 参数名 说明 clientPort 客户端连接server的端口,即对外服务端口,一般设置为2181吧. data ...

  8. RPC服务框架探索之Thrift

    前言架构服务化后,需要实现一套方便调用各服务的框架,现在开源如日中天,优先会寻找开源实现,如果没有合适自家公司业务的,才会考虑从零开发,尤其是一切以KPI为准绳的公司,谁会跟钱过不去?N个月之前,公司 ...

  9. 2015 测试赛 同构 hihoCoder

    题目1 : 同构 时间限制:2000ms 单点时限:1000ms 内存限制:256MB 描述 给定2个树A和B,保证A的节点个数>=B的节点个数. 现在你需要对树A的边进行二染色. 一个好的染色 ...

  10. Oracle数据库导出导入

    需求为将数据库A中的数据导出为*.dmp文件.然后将*.dmp文件导入到数据库B. 1.导出数据库A     在cmd窗体输入下面命令: 导出所有数据库 exp username/password@数 ...