实验二 数据库完整性技术_第1页
实验二 数据库完整性技术_第2页
实验二 数据库完整性技术_第3页
实验二 数据库完整性技术_第4页
实验二 数据库完整性技术_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库系统原理实验报告 1 实验二实验二 数据库完整性技术数据库完整性技术 班级 班级 姓名 姓名 学号 学号 任课教师 任课教师 实验教师 实验教师 上机时间 上机时间 实验目的实验目的 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 数据库系统原理实验报告 2 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 北京 数据库系统原理实验报告 3 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 数据库系统原理实验报告 4 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 数据库系统原理实验报告 5 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. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论