头歌数据库课程实验(数据完整性约束)
第1关:实体完整性
任务描述
本关任务:在teachingdb中建立基本表dept。
任务要求
在右侧窗口中操作,数据库teachingdb;表结构dept如下:
--系别情况表 dept
| 字段名称 | 数据类型 | 备注 |
| --------- | --------- | ---------|
| deptname | varchar(20) | 系名,主键 |
| mname | varchar(10)| 系主任姓名 |
测试说明
编写代码后,点击测评即可。
开始你的任务吧,祝你成功!
use teachingdb;
/****请在此编写代码,操作完毕之后点击评测******/
/**********Begin**********/
create table dept
(
deptname varchar(20) primary key,
mname varchar(10)
);
/**********End**********/
第2关:添加外键
任务描述
本关任务:在teachingdb中修改学生表student表结构,将sdept字段设置为外键,参照dept表的主键deptname,外键约束名为fk_dept。
teachingdb数据库中已有表如下:
student(sno,sname,ssex,sage,sdept),course(cno,cname,ccredit),sc(sno,cno,grade),dept(deptname,mname)。
任务要求
在右侧窗口中操作,在代码输入区域上输入SQL语言,完成功能:将student表的sdept字段设置为外键,参照dept表的主键deptname,外键约束名为fk_dept,当删除dept表中的系别记录时,将student表中对应的sdept值设置为空值;当修改dept表中的deptname时,同步修改student表中对应的sdept的值。
测试说明
编写代码后,点击测评即可。
开始你的任务吧,祝你成功!
use teachingdb;
/****请在此编写代码,操作完毕之后点击评测******/
/**********Begin**********/
alter table student
add constraint fk_dept
foreign key (sdept)
references dept(deptname)
on delete set null
on update cascade
/**********End**********/
第3关:添加check约束
任务描述
本关任务:为student表的totalcredit字段添加一个约束student_chk_1。
要求
根据提示,在右侧编辑器补充代码,指定总学分totalcredit的值在0到10之间,包含0和10。
开始你的任务吧,祝你成功!
use teachingdb;
/****请在此编写代码,操作完毕之后点击评测******/
/**********Begin**********/
alter table student
add constraint student_chk_1
check (totalcredit between 0 and 10)
/**********End**********/
更多推荐
所有评论(0)