TIT 数据库实验三 数据库安全性与完整性实验(SQL入门教学三 从0到1)

这篇博客介绍了如何在SQL Server中设置安全性与完整性,包括设置服务器身份验证模式、管理登录和用户、定义数据约束。内容涵盖授权、角色管理以及在课程表和选课表上定义完整性约束。
摘要由CSDN通过智能技术生成

实验三

前言

  • 实验内容和要求
    数据库的安全性实验,在 SQL Server中,设置 SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。
    具体内容如下:
  1. 设置SQL Server服务器身份验证模式(Windows或SQL Server和Windows(S) 认证模式)
  2. 登录的管理
    创建一个SQL Server登录名,系统会自动生成同登录名的用户名
  3. 数据库用户的管理
    给用户授权,授权时必须是超级用户(在windows账户或者sa账户下)才可以进行。给用户授予某些表的相关操作权限
  4. 角色的管理
    创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限
    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)
一、实验目的 使学生加深对数据库安全性完整性的理解。并掌握SQL Server中有关用户、角色及操作权限的管理方法。熟悉通过SQL语句对数据进行完整性控制。 二、实验内容和要求   数据库安全性实验,在SQL Server企业管理器中,设置SQL Server的安全认证模式,实现对SQL Server的用户和角色管理,设置和管理数据操作权限。   具体内容如下:   设置SQL Server的安全认证模式(Windows或SQL Server和Windows(S)认证模式)。   登录的管理 创建一个登录用户   数据库用户的管理 登陆用户只有成为数据库用户(Database User)后才能访问数据库。每个数据库的用户信息都存放在系统表Sysusers中,通过查看Sysusers表可以看到该数据库所有用户的情况。SQL Server的数据库中都有两个默认用户:dbo(数据库拥有者用户)和(dba)。通过系统存储过程或企业管理器可以创建新的数据库用户。   角色的管理 创建一个角色,使创建的用户成为该角色的成员,并授予一定的操作权限。   在学生表中定义主键、外键约束。   在课程表的“课程名”字段上定义唯一约束。   在选课表的“成绩”字段上定义check约束,使之必须大于等于0且小于等于100.“课程号”字段只能输入数字字符。   定义规则,并绑定到读者表的“性别”字段,使之只能取“男、女”值。   在学生表中增加出生日期字段。定义缺省,并绑定到借阅表的“借阅日期”上,使之只能取当前日期。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值