实验2:建立表和定义完整性约束
1.
CREATE DATABASE 实验
CREATE SCHEMA wcp
2.
CREATE TABLE wcp.仓库
(仓库号CHAR(6) PRIMARY KEY CHECK(仓库号like'[A-Z][A-Z][0-9][0-9][0-9][0-9]'),
城市CHAR(10) UNIQUE NOT NULL,
面积INT CHECK(面积>=50))
CREATE TABLE wcp.职工
(职工号char(8) PRIMARY KEY CHECK(职工号like'[A-Z][A-Z][0-9][0-9][0-9][0-9][0-9][0-9]'),
仓库号CHAR(6) FOREIGN KEY REFERENCES wcp.仓库(仓库号) ,
工资money CHECK(工资>=1000 and 工资<=10000))
CREATE TABLE wcp.供应商
(供应商号char(4) PRIMARY KEY CHECK(供应商号like 'S[0-9][0-9][0-9]'),
供应商名char(16),
地址char(30))
CREATE TABLE wcp.订购单
(职工号char(8) NOT NULL FOREIGN KEY REFERENCES wcp.职工(职工号),
供应商号char(4) NULL FOREIGN KEY REFERENCES wcp.供应商(供应商号),
订购单号char(6) PRIMARY KEY CHECK(订购单号like 'OR[0-9][0-9][0-9][0-9]'),
订购日期datetime default getdate(),
金额money default null)
CREATE TABLE wcp.订单明细
(订购单号char(6) NOT NULL FOREIGN KEY REFERENCES wcp.订购单(订购单号),
序号char(2) ,
产品名称char(20),
单价money default null check(单价>0) ,
数量int NOT NULL CHECK(数量>0),
PRIMARY KEY(订购单号,序号))
3.
(1)
ALTER TABLE wcp.订购单
ADD 完成日期datetime default null
(2)
ALTER TABLE wcp.订单明细
add CHECK (数量between0 and 1000)
(3)
ALTER TABLE wcp.供应商
ALTER column 供应商名varchar(30)