首页 > 编程学习 > 数据库:管理数据库课堂练习

数据库:管理数据库课堂练习

发布时间:2022/10/1 9:22:35

问题
1.为所有的表添加主键约束(已有主键的删除重新添加),其中teach-class表的主键设置用SQL命令
2.为teaching数据库中的student表、score表、teach-class表设置外键。其中teach-class表的外键设置用SQL命令
3为student表的性别设置check约束,取值为男女,为score表的daily列和final列添加check约束,取值范围为0-100.其中为score表的daily列和final列添加的check约束用命令,并且final列的约束对现有的数据不做检查。
4.为course表的cname列添加唯一性约束。
5.禁用student表的性别设置check约束。
6.用SQL命令删除在score表上的daily列的约束

参考
1.为所有的表添加主键约束(已有主键的删除重新添加),其中teach-class表的主键设置用SQL命令

--student表
alter table student
add constraint PK_student primary key(studentno)

--course表
alter table course
add constraint PK_course primary key(courseno)

--score表
alter table score
add constraint PK_score primary key(studentno,courseno)

--teach表
alter table teach_class
add constraint PK_teach primary key(teacherno)

--class表
alter table class
add constraint PK_class primary key(classno)

--teach_class表
alter table teach_class
add constraint PK_teach_class primary key(teacherno,classno,courseno)

2.为teaching数据库中的student表、score表、teach-class表设置外键。其中teach-class表的外键设置用SQL命令

alter table teach_class
add constraint fk_teach-class foreign key(teacherno) references teach(teacherno),
						 foreign key(classno) references class(classno),
						 foreign key(courseno) references course(courseno)

3为student表的性别设置check约束,取值为男女,为score表的daily列和final列添加check约束,取值范围为0-100.其中为score表的daily列和final列添加的check约束用命令,并且final列的约束对现有的数据不做检查。

alter table student
add constraint ck_sex check(sex = "男" or sex = "女")

alter table score
add constraint ck_daily check(daily >= 0 and daily <= 100)
    constraint ck_final check(final >= 0 and final <= 100)

4.为course表的cname列添加唯一性约束。

alter table course
add constraint un_cname unique(cname)

5.禁用student表的性别设置check约束。

alter table student
nocheck constraint ck_sex

6.用SQL命令删除在score表上的daily列的约束

alter table score 
drop constraint ck_daily
Copyright © 2010-2022 mfbz.cn 版权所有 |关于我们| 联系方式|豫ICP备15888888号