数据库完整性与安全性实验.doc

数据库完整性与安全性实验.doc

ID:49545140

大小:166.71 KB

页数:11页

时间:2020-03-02

数据库完整性与安全性实验.doc_第1页
数据库完整性与安全性实验.doc_第2页
数据库完整性与安全性实验.doc_第3页
数据库完整性与安全性实验.doc_第4页
数据库完整性与安全性实验.doc_第5页
资源描述:

《数据库完整性与安全性实验.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、.1.实验五数据库完整性与安全性实验1.1实验目的1.通过对完整性规则的定义实现,熟悉了解Mysql中完整性保证的规则和实现方法,加深对数据完整性的理解。2.通过对安全性相关内容的定义,熟悉了解Mysql中安全性的内容和实现方法,加深对数据库安全性的理解1.2实验内容1.2.1完整性实验(1)分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束;(2)分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束;(3)向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束;(4)删除学生表中的所有数据,验证参照

2、完整性约束;(5)定义存储过程,完成查询某个学生的选课情况,并执行。(6)定义触发器,当向学生表插入新的一条记录时,将所有学生出生日期加1;并对其进行测试。(7)用sql完成以上操作。1.2.2安全性实验(1)定义一新的登陆帐号、数据库用户,并授予其访问学生数据库的读权限;(2)分别用sa用户和新定义的用户访问学生数据库,并对其中的学生表数据进行修改;(3)再次用此用户访问学生数据库,并对其中的学生表数据进行修改。(4)用SQL语句分别完成以上内容。1.3实验环境Window8操作系统Mysql8.0版本数据库Mysqlworkbench8.0可视化工具Mysql命令行编辑器..1

3、.1实验步骤及结果分析1.1.1完整性1.1.1.1分别定义学生数据库中各基表的主键、外键,实现实体完整性约束和参照完整性约束1.首先因为在之前创建表的时候定义了主键,因此,我们需要先将所有表的主键撤销掉,然后重新创建主键。Mysql语句(删除主键):altertablestudentdropprimarykey;altertablecoursedropprimarykey;altertablescdropprimarykey;2.重新创建主键Mysql语句(创建主键):altertablestudentaddprimarykey(sno);altertablecourseaddp

4、rimarykey(cno);altertablescaddprimarykey(sno,cno);3.到此,我们已经重新添加了各表的主键,接下来我们为SC表添加外键。Mysql语句(创建外键):altertablescaddconstraintforeignkey(sno)referencesstudent(sno);altertablescaddconstraintforeignkey(cno)referencescourse(cno);..1.主键和外键都添加完毕,我们观察一下目前各表的结构。Mysql语句(查看表定义):showcreatetablestudent;show

5、createtablecourse;showcreatetablesc;由上面结果可知:我们成功创建了各表的主键,并成功为SC表创建了sno,cno两个外键。1.1.1.1分别向学生表、课程表插入具有相同学号和相同课程编号的学生数据和课程数据,验证其实体完整性约束1.首先查找一下student表中的学生信息,以便下面添加重复学号的学生Mysql语言:select*fromstudent;..1.向student表中插入一个重复学号的学生,验证完整性约束。我选择了30203学号,由上面的结果可知,该学号已经存在。Mysql语句(添加一个新的学号为30203的学生):insertint

6、ostudentvalue(‘30203’,’茹兴康’,’男’,’1997-07-0700:00:00’,’计算机’,’3174’);上面结果显示:添加失败,因为sno为student表的主键,不能重复,验证了其完整性约束。2.同上,我们向course表中添加一个具有相同cno的课程。Mysql语句:select*fromcourse;insertintocoursevalue(‘C01’,’数据库’,’50’,’1’,’春’);上面结果显示:成功验证了完成性约束。1.1.1.1向学生选课表中插入一条数据,课程编号是课程表中没有的,验证参照完整性约束向学生表中添加一条数据,其中课程

7、编号在course中不存在,我选择了C06号。Mysql语句(向学号为30203的学生选课中添加C06选课):insertintoscvalues(‘30203’,’C06’,’100’);由结果来看..:插入失败,因为course的cno是SC的外码,C06在course中不存在,由于参照完整性约束,所以添加失败,验证成功。1.1.1.1删除学生表中的所有数据,验证参照完整性约束删除学生表,验证参照完整性约束。Mysql语句:droptablestudent;由结果

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。