数据库的安全性和完整性

安全性

可以最简单的通过授权来完成
sqlserver可以通过登录名来登陆

-- 创建登录名
create login 登陆名 with password='123'
create login [window用户名\Administrator] from windows
-- 刚创建的登录名只是能登陆,无法访问任何数据库
-- 想访问数据库需要在相应的数据库上创建用户
use 数据库名
create user zhangsan for login 登录名
-- 通过grant与revoke语句实现权限的授予和收回
grant 权限 on tablename to zhangsan
with grant option -- 如果有这句话,zhangsan可以将自己被授予的权限授予给他人

PS:一条语句只能对应一个表,(on一个),可以有多个权限,多个用户
如果要授予所有权限可以使用all privileges
如果要授予给所有人可以使用to public

revoke 权限名 on tablename from zhangsan cascade
-- cascade级联,将从zhangsan授予出发的权限全部收回

创建角色

create role rolename

给用户授予角色

exec sp_addrolemember rolename

删除数据库用户角色

exec sp_droprolemember rolename

实体完整性

主属性非空,用primary key来定义
可以用表级约束条件,单属性构成的码也可以用列级约束条件
在这里插入图片描述
在这里插入图片描述
在插入或修改时,会检查主码值是否唯一,不唯一拒绝插入修改
检查是否为null,主码的其中一个属性为null,拒绝操作


参照完整性

用foreign key定义哪些是外码 references指定参照哪个表的外码
在这里插入图片描述
可能破坏参照完整性的条件:
被参照表的删除和修改操作 => 拒绝或者设为null或者级联
参照表的修改和插入操作 => 拒绝操作


被参照表违越处理示例:
在这里插入图片描述


用户定义的完整性

  • 不允许为空 => not null
  • 列属性值唯一 => unique
  • 满足指定条件 => check
    在这里插入图片描述
    也可以单独写出来:
    在这里插入图片描述

完整性约束命名子句

使用constraint子句

--用法如下
constraint 约束名 约束条件

在这里插入图片描述
可以增加或者删除约束

alter table tablename add 约束
alter table tablename drop 约束

在这里插入图片描述

一、实验目的 使学生加深对数据库安全性完整性的理解。并掌握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、付费专栏及课程。

余额充值