数据库应用与设计实验(2)

作者:吴创鹏
链接:http://www.lofter.com/lpost/30943900_1c5dfea70
来源:LOFTER
实验2:建立表和定义完整性约束

CREATE DATABASE 实验
CREATE SCHEMA wcp

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(订购单号,序号))

(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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值