文章目录
实验三
前言
- 实验内容和要求
数据库的安全性实验,在 SQL Server中,设置 SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。
具体内容如下:
- 设置SQL Server服务器身份验证模式(Windows或SQL Server和Windows(S) 认证模式)
- 登录的管理
创建一个SQL Server登录名,系统会自动生成同登录名的用户名 - 数据库用户的管理
给用户授权,授权时必须是超级用户(在windows账户或者sa账户下)才可以进行。给用户授予某些表的相关操作权限 - 角色的管理
创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限
5.在课程表的“课程名”字段上定义唯一约束
6.在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100。“课程号”字段只能输入数字字符
7.(1)在学生表中定义主键、外键约束
(2)定义完整性约束命名子句,限制学生表的“性别”字段,使之只能取“男、女”值
(3)在学生表中增加出生日期字段,使出生年月的默认值取当前日期
- 参考教材《数据库系统概论第五版》P141-P151 数据加密 P158P167 数据库完整性
- 实验前,先熟悉常用的语句,方便理解以下代码(个人整理,如有错误,欢迎指正)
SQL知识点
一、授权:授予与收回
列权限 | 含义 |
---|---|
SELECT | 查询表 |
REFERENCES | 约束表 |
INSERT | 用户可以插入一个元组 |
UPDATE | 修改表 |
DELETE | 删除表 |
ALL PRIVILEGES | 所有权限 |
1.GRANT
GRANT <权限>,<权限>.....
ON <对象类型>,<对象名>,....
TO <用户>,....
WITH GRANT OPTION;/*允许此权限授予其他用户*/
2.REMOVE
GRANT <权限>,<权限>.....
ON <对象类型>,<对象名>,....
FROM <用户>,<用户>...
二、数据库的完整性
1.参照完整性
NO ACTION: 不允许该操作执行,该策略一般设置为默认策略
CASCADE: 当删除或者修改被参照表中的一个元组导致与参照表不一致时,删除或修改参照表中的所有导致不一致的元组
设为空值: 当删除或者修改被参照表中的一个元组导致与参照表不一致时,将造成不一致的元组设为空值
CREATE TABLE SC(
Sno CHAR(9),
Cno CHAR(4),
Grade SMALLINT,
PRIMARY KEY(Sno,Cno)