查询练习(四)

来源:互联网 发布:淘宝看不到买家评论吗 编辑:程序博客网 时间:2024/04/30 14:09


常见约束:
1.not null 非空
2.unique 唯一,可以出现一个null
3.primary key 主键,唯一,非空
4.foreign key 外键,定义主表和从表的关联关系 从企业管理器看!!!
5.check 检查,强制数据必须满足定义的条件,如:sal int check(sal>=2000
and sal<=3000)
6.default,默认值,用于数据的完整性,如:birthday datetime dafault getdate()

复合主键只能用表级定义!!!,如
create table cat(
catid int,
catname varchar(40),
catage int,
primary key(catid,catname)
)
insert into cat(catid,catname,catage) values
(2,'fire',22)
select * from cat


由3个表组成,商品(goods),客户(customer),购买(purchase)
商品goods(商品号 goodsid。商品名称 goodsname。单价 unitprice。
商品类别 category,供应商 provider
客户customer (客户号:customerid。 姓名 name。地址 address。
电邮 email。 性别 sex。 省份证 cardld)
购买purchase(客户号customerid。商品号 goodsld 购买数量 nums)
要求:
每个表有主键和外键
客户的名不可为空
单价必须大于0,数量必须在1到10之间
电邮不可重复
客户信息必须为男和女,默认为男
商品的类别是:食物和日用品
create table goods(
goodsid int primary key,
goodsname varchar(20),
unitprice int,
category char(20) check(category='食物' or sex='日用品'),
provider varchar(20)
)

create table customer(
customerid int primary key,
name varchar(20),
address varchar(20),
email varchar(20) unique,
sex   char(4) default('男') check(sex='男' or sex='女') ,
cardld int
)


create table purchase(
customerid int,
goodsid int,
nums int,
foreign key(customerid) references customer,
foreign key(goodsid) references goods
)

原创粉丝点击