实验二 数据库完整性技术
更新时间:2023-10-25 20:28:01 阅读量: 综合文库 文档下载
- 实验二小推荐度:
- 相关推荐
数据库系统原理实验报告
实验二 数据库完整性技术
班级: 姓名: 学号: 任课教师:
【实验目的】
1、掌握完整性的概念;
2、熟悉Oracle的完整性技术。
3、了解Oracle的违反完整性处理措施。 【实验性质】 验证性实验 【实验学时】 2H
【实验内容】
写出完整、详尽的SQL语句,根据实验记录结果并总结。(空位不够请自行续页) 一、定义完整性
/*创建表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,
1
实验教师: 上机时间:
数据库系统原理实验报告
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 (qty>0 and qty<1000) );
insert into s values ('s1','竟仪',20,'天津'); insert into s values ('s2','盛锡',10,'北京'); insert into s values ('s3','东方红',30,'北京');
2
数据库系统原理实验报告
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,'天津');
ora-00001:违反主码唯一性原则,主码不能有重复的
(3)插入违反约束的元组,用户定义完整性(pname非空) insert into p values ('p4',null,'红',12);
3
数据库系统原理实验报告
ora-01400:pname不能插入空值
(4)插入违反约束的元组,用户定义完整性(color只能取红、蓝、绿) insert into p values ('p5','螺母','黄',12); ora-02290:color只能取红、蓝、绿
(5)插入违反约束的元组,外码取null值 insert into spj values(null,'p1','j4',700); ora-01400:外码不能取空值
(6)插入违反约束的元组,外码取对应主码没有的值 insert into spj values('s4','p1','j4',700); ora-02291:主码不能取父表没有的值
(7)修改外码值,取对应主码已有的值 update spj set sno='s1'where sno='s2'; select * from spj
(8)修改外码值,取对应主码没有的值 update spj set sno='s4'where sno='s1'; ora-02291:父表找不到的值 (9)删除被参照表未引用的主码值 select * from s
delete from s where sno='s5'; (10)删除被参照表引用的主码值 delete from s where sno='s1'; ora-02292:
(11)修改被参照表未引用的主码值 update p set pno='p2'where pno='p4'; ora-00001:
(12)修改被参照表引用的主码值 update p set pno='p6'where pno='p3';
4
数据库系统原理实验报告
ora-02292:违反完整约束条件 2、将外码改成级联删除。
alter table spj drop constraint fk_spj_sno; alter table spj drop constraint fk_spj_pno; alter table spj drop constraint fk_spj_jno;
alter table spj add constraint fk_spj_sno foreign key(sno) references s(sno) on delete cascade; alter table spj add constraint fk_spj_pno foreign key(pno) references p(pno) on delete cascade; alter table spj add constraint fk_spj_jno foreign key(jno) references j(jno) on delete cascade;
3、在2的基础上,插入数据。针对下列情况,如果出错的话,给出错误码,并说明原因;不出错的话,观察数据并说明理由。 (1)删除被参照表未引用的主码值 delete from p where pno='p4'; (2)删除被参照表引用的主码值 delete from j where jno='j4';
【实验总结】
请根据实验内容谈谈你对本次实验的收获、感想,或提出你对实验内容的建议等等。
5
数据库系统原理实验报告
批改教师评语: 实验报告成绩: 批改教师签字 批改时间:
6
正在阅读:
实验二 数据库完整性技术10-25
美丽的月湖作文450字07-12
金保工程软件招标文件04-10
孝亲敬老从我做起演讲稿大全04-27
金属镁锭的制造工艺流程05-05
2017-2014适合全国中考英语词语辨析中考题库(密)07-04
利用气垫导轨验证牛顿第二定律实验报告 - 中国石油大学华东10-18
VB习题(2016)01-01
现代温度测量技术在内燃机中的应用综述07-18
- 多层物业服务方案
- (审判实务)习惯法与少数民族地区民间纠纷解决问题(孙 潋)
- 人教版新课标六年级下册语文全册教案
- 词语打卡
- photoshop实习报告
- 钢结构设计原理综合测试2
- 2014年期末练习题
- 高中数学中的逆向思维解题方法探讨
- 名师原创 全国通用2014-2015学年高二寒假作业 政治(一)Word版
- 北航《建筑结构检测鉴定与加固》在线作业三
- XX县卫生监督所工程建设项目可行性研究报告
- 小学四年级观察作文经典评语
- 浅谈110KV变电站电气一次设计-程泉焱(1)
- 安全员考试题库
- 国家电网公司变电运维管理规定(试行)
- 义务教育课程标准稿征求意见提纲
- 教学秘书面试技巧
- 钢结构工程施工组织设计
- 水利工程概论论文
- 09届九年级数学第四次模拟试卷
- 性技术
- 完整
- 实验
- 数据库
- 2016年采油作业区“全员增效”实施方案
- 上海市2015年度软件和集成电路产业发展专项资金项目
- 课题研究阶段性总结
- 行进间低手投篮教案
- 《中国政治制度史》综合作业(完成)
- 幼儿园托班4月第三周备课
- 2018年春节后复工复产“三个一”资料样板
- 2014年电气作业人员安规考试题
- 第九章 保险经营练习题及答案
- 从“向前看 - 齐”谈体育课堂口令的运用
- 《孟子两章》导学案
- 通用成绩管理系统 - 图文
- 2017年湖南省长沙市小学数学学科毕业考试
- 2012网格管理员考试题及答案A
- 当今社会审时度势更重要 立论
- 中国财税法学研究会2016年年会会议议程
- AD-AS模型习题
- 食品微生物知识点
- 臭氧检测仪的使用、清洁、维护保养操作规程
- 采油工程新技术的研究与展望