第一范文网 - 专业文章范例文档资料分享平台

北邮数据库实验五 数据库完整性与安全性实验

来源:用户分享 时间:2025/12/4 18:54:47 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

实验五 数据库完整性与安全性实验

1、实验目的

1. 通过对完整性规则的定义实现,熟悉了解kingbase中完整性保证的规则和实现方法,加

深对数据完整性的理解。

2. 通过对安全性相关内容的定义,熟悉了解kingbase中安全性的内容和实现方法,加深对

数据库安全性的理解

2、实验环境

操作系统:Microsoft Windows 7旗舰版 (32位)。 数据库版本:MySQL 6.2

3、实验内容

完整性实验:

(1) 分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性

约束;

在create table 时已经定义了各个基表的主键。因此,首先对每个基表删除主键,再添加主键。实现实体完整性约束。如下图。

删除主键:

添加主键:

sc表中的cno和sno分别是course表和student表的外关键字。下图为给sc表添加student和course的外键,实现参照完整性约束。

alter table sc add constraint fk_student foreign key(sno) references student(sno); alter table sc add constraint fk_course foreign key(cno) references course(cno);

主键和外键均添加成功,输入show create table 命令来查看各基表信息。

(2) 分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,

验证其实体完整性约束;

? 向课程表中插入课程号为C01的课程。

? 向学生表中插入学号为30201的学生。

由上面两个实验来看,分别对student和course表插入具有相同学号和相同课程号的学生信息和课程信息,都显示sql语句错误信息为:Duplicate entry *** for key ‘PRIMARY’。验证了实体完整性约束。

(3) 向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约

束;

插入成绩信息是学号为31428(student中存在),课程号为C07(course中不存在)的学生成绩信息。受参照完整性约束,插入失败。

(4) 删除学生表中的所有数据,验证参照完整性约束;

因为sc表中的sno是student表的外键,删除学生表中的所有数据违背了参照完整性约束,所以无法删除。

(5) 定义存储过程,完成查询某个学生的选课情况,并执行。

本次实验设计的存储过程完成的是查询某个学生的选课情况。参数指定为sno学号。存储过程是一组为了完成特定功能的SQL 语句集,存储在数据库中经过第一次编译后再次调用不需要再次编译,用户通过指定存储过程的名字并给出参数来执行它。

因为在存储过程中会用到结束符‘;’,所以首先用delimiter修改结束符为//,创建存储过程的sql语句为:

create procedure search_sc(num char(6))

北邮数据库实验五 数据库完整性与安全性实验.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9nq0h9wzzc2xzhv2l5bh_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top