数据库二级课后习题

给定供应商供应零件的数据库db_sp,其中包含了供应商表S /零件P和供应情况表SP,表结构如下:

  • 供应商S(sNO,sName,状态,城市),各部分的含义为供应商号供应商名称,状态和所在城市,状态为整型,其他为字符型
  • 零件P(pNo,pName,颜色,重量),表示:零件编号,零件名称,颜色和重量,重量为浮点型,其他为字符型供应
  • SP(sNo,pNo,qty)供应商编号,零件编号,供应量,qty为整型其他为字符型

使用Mysql控制台客户端创建一个名称为db_sp的数据库

create database db_sp charset = utf8;

请使用MYSQL控制台客户端在数据库db_sp中创建表,要求如下

  1. 定义表S,表P,表SP的主键和外键,以保证参照并和实体合并
  2. S表中的S名称属性取值不为空且不唯一
  3. 定义产品颜色只能在"Red",“Yellow”,“Green”,“Blue”
  4. 定义供应商所在城市为伦敦时其状态为20

添加表内容

数据表S:
create table S( 
sNo varchar(10), 
sName varchar(20) not null unique, 
status int, 
city varchar(20), 
constraint pk_sNo primary key(sNo), 
constraint ch_status check(city!="London" or status=20)
)engine=innodb;

数据表P:
create table P( 
pNo varchar(10), 
pName varchar(20) not null, 
color varchar(10) check(color in("Red","Yellow","Green","Blue")), 
weight float, 
constraint pk_pNo primary key(pNo)
)engine=innodb;

数据表SP:
create table SP( 
sNo varchar(10), 
pNo varchar(10), 
qty int, 
constraint fk_sNo foreign key(sNo) references S(sNo),
constraint fk_pNo foreign key(pNo) references P(pNo)
  • 8
    点赞
  • 59
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值