数据库原理第四章节.ppt
文本预览下载声明
§4.1 数据安全性 一、安全性 1.利用鼠标方式在stu数据库下创建一个用户Mark; 2.在查询分器中,利用SQL语句设置Mark的以下权限: 1)不能在stu数据库下建表; 2)不可以查询stu_course表中的数据; 3)利用SQL语句创建一个视图sc2,选取所有及格学生的数据,可以查询该视图下的数据; 4) 进行验证:以Mark登录SQL Server 企业管理器,分别利用鼠标方式看是否能在stu数据库下建表,是否可以打开查看stu_course,是否可以查看视图sc2。 deny create table to mark deny select on stu_course to mark create view sc2 as select * from stu_course where grade=60 grant select on sc2 to mark 1. SQL 中如何区别语句权力和对象权力? 2. 授予,收回,否定以上两种权力的一般语句格式? * * 上机和作业讲解 第一题第1小题 create proc pub_name(@aa char) as select count(pub_name) from publishers 以上做得有错吗? 第二题第1小题有些同学回答是“是否删除” 第二题第2小题没有回答到点子上。 第二题第3小题 create proc avgprice2(@type char(12)) as select @type,avg(price) from titles where type=@type exec avgprice2 business‘ 有错吗? 第二题第3小题 create trigger delete_student on student for delete as delete from stu_course from stu_course,deleted where student.sno=stu_course.sno 以上有错吗,为什么? 第4章 数据库保护 本章要点 数据安全性的一般控制方法及SQL Server的安全性控制方法 数据完整性的基本概念及SQL Server控制完整性的方法 数据库的备份 查询分析器以rose登录,查询student表 在stu和stu2数据库中,分别在student表中插入一新行,并且性别假设不小心设为了‘发’,看结果 一、安全性控制的一般方法 定义:是指保护数据库,防止不合法的使用,以免数据的泄露、非法更改和破坏。 用户 DB OS DBMS 用户标识和鉴定 存取控制 操作系统安全保护 密码存储 2. 安全性控制的模型 二、SQL Server系统的安全性 SQL有两个功能提供了安全性: 》视图机构 》授权子系统本身 1. 利用视图提供安全性 视图能把用户可以使用的数据定义在视图中,这样用户就不能使用视图定义外的其他数据。 例4.1,4.2,4.3分别对应下面视图作用的哪一条? (1)将用户限定在表中特定行上。 (2)将用户限定在表中特定列上。 (3)将多个表中的列联接起来,使它们看起来像一个表。 (4)聚合信息而非提供详细信息,可以向用户屏蔽详细 信息,并给查询带来方便。 2. 利用授权子系统提供安全性 P66页 数据控制 SQL Server的身份验证模式 1) 创建新用户 2) 授予、收回、拒绝语句的权力 CREATE DATABASE CREATE TABLE CREATE VIEW CREATE PROC BACKUP DATABASE BACKUP LOG 例3.67 将pubs数据库所有的语句权限授予john,将建表 的权力授予mary。 GRANT ALL TO john GRANT CREATE TABLE TO mary 例3.68 否定Rose建表的权力。 DENY CREATE TABLE TO Rose 例3.69 收回mary的建表权力。 REVOKE CREATE TABLE FROM mary 例3.70 语句权力的综合练习 (1)为pubs数据库建用户john (2)revoke all from john 思考john在pubs数据库中能否创建表及视图; (3)grant create table to john。 思考john在pubs数据库中能否创建表及视图; (4)grant all to john 思考john在pubs数据库中能否创建表及视图。 2) 授予、收回、拒绝对象的权力 对基本表的SELECT、INSERT、UPDATE、DELETE权力; 对视图的SELECT、INSE
显示全部