数据库完整性和安全性实验报告.docx
《数据库完整性和安全性实验报告.docx》由会员分享,可在线阅读,更多相关《数据库完整性和安全性实验报告.docx(7页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库完整性和安全性实验报告信息工程学院试验报告 成 绩: 指导老师(签名): 课程名称:数据库原理 试验项目名称:数据库的完整性和平安性 一、实 验 目 的: (1)驾驭数据库约束的概念; (2)熟识SQL SERVER 的完整性约束技术。 (3)了解SQL SERVER 的违反完整性处理措施。 (4)了解登录账户的管理理念与详细方法。 (5)了解数据库用户的管理的要则。(6)了解用户权限管理的内涵与方法。二、实 验 设 备 与 器 件 Win7 +Sql server 2008 三、实 验 内 容 与 步 骤 (一)测试完整性 运行附录中的SQL语句,理解SQL语句中包含的完整性定义。然后
2、执行下面的SQL语句,看是否能正常运行,若无法执行,请说明缘由。1.对dept表进行数据增删改,并检查完整性规则 Dept已存在的完整性规则如下: dno CHAR(2) PRIMARY KEY dname VARCHAR(20) NOT NULL,UNIQUE (1)增加数据 INSERT INTO dept VALUES(D1,计科系);-正常插入 INSERT INTO dept VALUES(D2,电信系);-正常插入 INSERT INTO dept VALUES(NULL,机械系); -违反dno主键(NOT NULL)规则 INSERT INTO dept VALUES(D2,机
3、械系); -违反dno主键(UNIQUE) INSERT INTO dept VALUES(D3,NULL); -违反dname的NOT NULL规则 INSERT INTO dept VALUES(D3,计科系); -违反dname的UNIQUE规则 INSERT INTO dept VALUES(D3,机械系);-正常插入 (2)删除数据 DELETE FROM dept WHERE dno=D3;-正常删除 (3)修改数据 UPDATE dept SET dname=计算机科学系 WHERE dno=D1;-正常修改 UPDATE dept SET dname=电信系 WHERE dno
4、=D1; -违反dname的UNIQUE规则 UPDATE dept SET dname=NULL WHERE dno=D1; 违反dname的UNIQUE规则 2.对student表进行数据增删改,并检查完整性规则 Student已存在完整性规则如下: sno CHAR(2) PRIMARY KEY sname VARCHAR(20) NOT NULL, ssex CHAR(2) NOT NULL, CHECK(ssex in(男,女) sage INT NOT NULL, dno CHAR(2) NOT NULL, FOREIGN KEY REFERENCES dept(dno) ON D
5、ELETE CASCADE ON UPDATE CASCADE (1)增加数据 INSERT INTO student VALUES(S1,张刚,男,20,D1);-正常插入 INSERT INTO student VALUES(S2,李梅,女,21,D2);-正常插入 INSERT INTO student VALUES(S2,吴敏,男,20,D1); -正常插入 INSERT INTO student VALUES(NULL,吴敏,男,20,D1); -违反sno 的主键(NOT NULL)规则 INSERT INTO student VALUES(S3,吴敏,男,NULL,D1); 违反
6、sage 的主键(NOT NULL)规则 INSERT INTO student VALUES(S3,吴敏,M,20,D1); 违反ssex 的CHECK规则 INSERT INTO student VALUES(S3,吴敏,男,20,D3); -正常插入 INSERT INTO student VALUES(S3,吴敏,男,20,D1);-正常插入 (2)删除数据 DELETE FROM student WHERE sno=S3; -正常删除 (3)修改数据 UPDATE student SET sname=赵强,dno=D2 WHERE sno=S1-正常修改 UPDATE student
7、 SET ssex=F WHERE sno=S1; -违反ssex的CHECK 规则 UPDATE student SET sno=S2 WHERE sno=S1; -违反sno的主键(UNIQUE)规则 UPDATE student SET dno=D3 WHERE sno=S1; 违反dno 的外键规则 UPDATE dept SET dno=D3 WHERE dno=D1;-检查dno的外键ON UPDATE规则,视察运行后效果 DELETE FROM dept WHERE dno=D2;-检查dno的外键ON DELETE规则,视察运行后效果 (二)运用规则实现数据完整性 (1)在查询
8、分析器中,利用吩咐(CREATE RULE),创建一个关于年龄(sage)约束的规则,将“sage”列的值约束在0200之间;然后将所创建的规则绑定到“sage”列(提示:用吩咐Sp_bindrule)。CREATE RULE rule_sage as sage between 1 and 100; Sp_bindrule rule_sage,student.sage; (2)在查询分析器中,利用吩咐(CREATE RULE),创建一个关于学分(credit)约束的规则,将“credit”列的值约束在18之间的整数;然后将所创建的规则绑定到“credit”列(提示:用吩咐Sp_bindrule
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 完整性 安全性 实验 报告
限制150内