You are more than what you have become.Remember who you are.
1.创建基本表
(1)创建学生信息表STUDENT和班级信息表CLASS
create table student(
sid number(10),
sname varchar2(8),
sex char(2),
classid number(3))
tablespace users;
create table student(
cid number(3),
cname varchar2(20),
tel varchar2(20)
)
tablespace users;
STUDENT表:
CLASS表:
(2)修改STUDENT表的存储参数
alter table student move tablespace example;
(3)为CLASS表添加一个新字段
alter table class add(addr varchar2(20));
2.为表定义约束
(1)为STUDENT和CALSS表分别添加主键约束
alter table STUDENT
add constraint pk_sid primary key(SID);
alter table CLASS
add constraint pk_cid primary key(CID);
(2)尝试向SYUDENT表添加两条具有相同主键的记录
先修改存储类型:
alter table student modify sname varchar2(20)
alter table student modify sex char(5)
首先插入一条SID=1000的数据:
再次尝试插入相同SID的数据,警告如下:
修改SID,插入成功:
(3)为STUDENT和CLASS表添加外键约束
alter table student
add constraint stu_class foreign key(CLASSID)
references class(CID);
原因:刚开始由于STUDENT表中已经存在数据,所以已经违反了外键约束,故不能成功创建外键约束。删除STUDENT表中的两条数据,再次创建外键约束,成功:
(4)向STUDENT表添加另外一个班级的学生记录,以验证外键约束的有效性
insert into student(sid,sname,sex,classid)
values(1002,'喻言','女',011);
(5)禁用STUDENT表的外键约束
alter table student
disable constraint stu_class;
现在可以向STUDENT表中添加(4)中的数据了: