- 3
- 0
- 约7.43千字
- 约 25页
- 2022-12-09 发布于上海
- 举报
仲恺农业工程学院实验报告纸
实验四 数据库安全性与完整性控制
一、实验目的
1.掌握使用T-SQL定义实体完整性的方法。
2. 了解SQL Server违反实体完整性处理措施。
3. 理解参照完整性的含义。
4. 熟练掌握建立外键的方法。
5. 掌握利用FOREIGN KEY …REFERENCES子句以及各种约束保证参照完整性。
6 .掌握利用短语NOT NULL、UNIQUE、CHECK保证域完整性。
7. 熟练掌握约束、规则实施用户自定义完整性
8 .掌握创建触发器的方法,掌握利用触发器规范插入、更新、删除操作的方法。
9 .理解数据安全性的含义。
10.学会设置SQL Server的身份验证模式。
11 .掌握SQL Server中利用对象资源管理器和T-SQL创建和管理Windows登录账户、SQL Server登录账
户、数据库用户的方法,掌握创建触发器的方法。
12.掌握自主存取控制进行权限管理的方法,包括授予权限和回收权限。
13.掌握SQL-Sever中的角色管理,掌握怎么样通过角色赋权限给用户。
二、实验内容和步骤
1、新建数据库School并创建学生表Student ,包含以下属性:Sno (CHAR(5))、Sname (CHAR(8))、Ssex
(CHAR(1))、Sage (INT)、Sdept (CHAR(20)) ,
并插入数据:( 10000,王敏,F,23,CS) ,(10000,王浩,M,25,EE) ,
创建数据库、表以及插入数据的相关语句为:
CREATE DATABASE School ;
USE School
CREATE TABLE Student(
Sno CHAR(5),
Sname CHAR(8),
Ssex CHAR(1),
Sage INT,
Sdept CHAR(20));
INSERT INTO Student values ( 10000,王敏,F,23,CS);
INSERT INTO Student values (10000,王浩,M,25,EE);
执行完上述语句后查看数据库中student表中的数据。
然后再添加约束:令Sno为主键,查看结果并分析原因。验证当与现有的数据环境不等时,无法建立实
体完整性。
执行上述语句所得的结果:
然后再添加约束:令Sno为主键的sql语句:
Use School
Alter table Student add
Constraint PK_Student Primary key(Sno)
执行结果
分析:当前的数据环境不满足Sno成为主键,因为数据列Sno不满足实体完整性。
最后,请大家再运行如下语句创建student表:
Drop table student;
CREATE TABLE Student(
Sno CHAR(5) primary key,
Sname CHAR(8),
Ssex CHAR(1),
Sage INT,
Sdept CHAR(20));
定义好表结构后,再执行如下两条插入语句,
INSERT INTO Student values ( 10000,王敏,F,23,CS);
INSERT INTO Student values (10000,王浩,M,25,EE);
分析违反实体完整性时,系统给出了何种处理。并将王浩的学号改为10001重新插入。
执行上述语句的截图:
2、为了验证多重级联删除,在数据库School中新建StudentCard表,包含以下属性:CardID (char(14))、
Sno(char (5))、RemainedMoney (decimal (10,2)) ,令CardID为其主键,令Sno为参照Student表的外键,级
联删除,并插入数据 ;新建ICBCCard 表 ,包含以下属性 :BankID (char(20)) 、CardID (char (14)) 、
RestoredMoney (decimal (10,2)) ,令BankID为主键,令CardID为参照StudentCard表的外键,级联删除,
并插入数据。
本题大家可以在如下语句上进行完善:
CREATE TABLE StudentCard(
CardID char(14) PRIMARY KEY,
Sno char (5) REFERENCES Student (Sno) on delete cascade,
RemainedMoney
原创力文档

文档评论(0)