文档详情

实验二 数据库完整性技术.doc

发布:2017-12-15约3.78千字共6页下载文档
文本预览下载声明
实验【实验目的】 1 2、熟悉Oracle的完整性技术。 3、了解Oracle的违反完整性处理措施。 【实验性质】 验证性实验 【实验】 【实验内容】 /*创建表s、p、j、spj*/ 定义s表; sno主码,sname非空、city缺省值 定义p表; pno主码,pname非空、color只能取红、蓝、绿 定义j表; jno主码, jname非空 定义spj表; (sno,pno,jno)主码,参照sno、pno、jno外码,qty介于0—1000 drop table s; drop table p; drop table j; drop table spj; create table s (sno char(2) constraint pk_s_sno primary key, sname varchar2(8) constraint nn_s_sname not null, status int, city varchar2(8) default(天津) ); create table p (pno char(2)constraint pk_p_pno primary key, pname varchar2(8) constraint nn_p_pname not null, color char(2) constraint c_p_color check(color in(红,蓝,绿)), weight int ); create table j (jno char(2) constraint pk_j_jno primary key, jname varchar2(8)constraint nn_j_jno not null, city varchar2(8) ); create table spj (sno char(2), pno char(2), jno char(2), qty int, constraint pk_spj primary key (sno,pno,jno), constraint fk_spj_sno foreign key(sno) references s(sno), constraint fk_spj_pno foreign key(pno) references p(pno), constraint fk_spj_jno foreign key(jno) references j(jno), constraint ck_spj_qty check (qty0 and qty1000) ); insert into s values (s1,竟仪,20,天津); insert into s values (s2,盛锡,10,北京); insert into s values (s3,东方红,30,北京); insert into s values (s5,为民,30,上海); insert into p values (p1,螺母,红,12); insert into p values (p2,螺栓,绿,17); insert into p values (p3,螺丝刀,蓝,14); insert into p values (p4,螺丝刀,蓝,14); insert into j values(j1,三建,北京); insert into j values(j2,一汽,长春); insert into j values(j3,弹簧厂,天津); insert into j values(j4,造船厂,天津); insert into j values(j5,机车厂,唐山); insert into spj values(s1,p1,j4,700); insert into spj values(s1,p2,j2,100); insert into spj values(s2,p3,j1,400); insert into spj values(s2,p3,j2,200); insert into spj values(s3,p1,j1,200); insert into spj values(s3,p3,j1,200); 1、针对下列情况,如果出错的话,给出错误码,并说明原因;不出错的话,观察数据并说明理由。 (1)插入违反约束的元组,主码为null值 insert into s values (null,竟仪,20,天津); ora-01400:主码不能为空值 (2)插入违反约束的元组,主码取重复值 insert into s values (s1,竟仪,20,天津);
显示全部
相似文档