#第8章
#【例8.1】在stusys数据库中创建course1表,以列级完整性约束方式定义主键。
create table course1
(
cno char(4)not null primary key,
cname char(16)not null,
credit tinyint null
);
#【例8.2】在stusys数据库中创建course2表,以表级完整性约束方式定义主键。
create table course2
(
cno char(4)not null,
cname char(16)not null,
credit tinyint null,
primary key(cno)
);
#【例8.3】在stusys数据库中创建course3表,以表级完整性约束方式定义主键,并指定主键约束名称。
create table course3
(
cno char(4)not null,
cname char(16)not null,
credit tinyint null,
constraint pk_course3 primary key(cno)
);
#【例8.4】 删除例8.3创建的在course3表上的主键约束。
alter table course3
drop primary key;
#【例8.5】重新在course3表上定义主键约束。
alter table course3
add constraint pk_course3 primary key(cno);
#【例8.6】在stusys数据库中创建course4表,以列级完整性约束方式定义唯一性约束。
create table course4
(
cno char(4)not null primary key,
cname char(16)not null unique,
credit tinyint null
);
#【例8.7】在stusys数据库中创建course5表,以表级完整性约束方式定义唯一性约束。
create table course5
(
cno char(4)not null primary key,
cname char(16)not null,
credit tinyint null,
constraint uk_course5 unique(cname)
);
#【例8.8】 删除例8.7在course5表创建的唯一性约束。
alter table course5
drop index uk_course5;
#【例8.9】重新在course5表上定义唯一性约束。
alter table course5
add constraint uk_course5 unique(cname);
#【例8.10】创建score1表,在cno列以列级完整性约束方式定义外键。
create table score1
(
sno char(6)not null,
cno char(4) not null references course1(cno),
grade tinyint null,
primary key(sno,cno)
);
#【例8.11】创建score2表,在cno列以表级完整性约束方式定义外键,并定义相应的参照动作。
create table score2
(
ano char(6) not null,
cno char(4)not null,
grade tinyint null,
primary key(sno,cno),
constraint fk_score2 foreign key(cno) references course2(cno)
on delete cascade
on update restrict
);
#【例8.12】删除例8.11在score2表上定义的外键约束。
alter table score2
drop foreign key fk_score2;
#【例8.13】 重新在score2表上定义外键约束。
alter table score2
add constraint fk_score2 foreign key(cno) references course2(cno);
#【例8.14】在stusys数据库中创建表score3,在grade列以列级完整性约束方式定义检查约束。
create table score3
(
sno char(6)not null,
cno char(4)not null,
grade tinyint null check(grade>=0 and grade <=100),
primary key(sno,cno)
);
#【例8.15】在stusys数据库中创建表score4,在grade列以表级完整性约束方式定义检查约束。
create table score4
(
sno char(6)not null,
cno char(4)not null,
grade tinyint null,
primary key(sno,cno),
constraint ck_score4 check (grade>=0 and grade <=100)
);
#【例8.16】删除例8.15在score4表上定义的检查约束。
alter table score4
drop check ck_score4;
#【例8.17】重新在score4表上定义检查约束。
alter table course4
add constraint ck_score4 check (grade>=0 and grade <=100)
csdn作业
最新推荐文章于 2024-10-11 17:04:33 发布