第8章数据库保护及sqlserver的数据库保护技术概要

上传人:今*** 文档编号:107384000 上传时间:2019-10-19 格式:PPT 页数:103 大小:2.11MB
返回 下载 相关 举报
第8章数据库保护及sqlserver的数据库保护技术概要_第1页
第1页 / 共103页
第8章数据库保护及sqlserver的数据库保护技术概要_第2页
第2页 / 共103页
第8章数据库保护及sqlserver的数据库保护技术概要_第3页
第3页 / 共103页
第8章数据库保护及sqlserver的数据库保护技术概要_第4页
第4页 / 共103页
第8章数据库保护及sqlserver的数据库保护技术概要_第5页
第5页 / 共103页
点击查看更多>>
资源描述

《第8章数据库保护及sqlserver的数据库保护技术概要》由会员分享,可在线阅读,更多相关《第8章数据库保护及sqlserver的数据库保护技术概要(103页珍藏版)》请在金锄头文库上搜索。

1、视图的定义和维护功能,1. 视图的优点 1) 视图能够简化用户的操作。 2) 视图机制可以使用户以不同的方式看待同一数据。 3) 视图对数据库的重构提供了一定程度的逻辑独立性。 4) 视图可以对机密的数据提供安全保护。 2. 视图定义的格式 一般格式为: CREATE VIEW视图名(列名组) WITH ENCRYPTION AS子查询 WITH CHECK OPTION;,ENCRYPTION 说明对视图定义进行加密 WITH CHECK OPTION 指出在视图上所进行的修改都要符合查询语句所指定的限制条件 对SELECT语句有以下的限制: 定义视图的用户必须对所参照的表或视图有查询权限,

2、即可执行SELECT语句。 不能使用COMPUTE或COMPUTE BY子句。 不能使用ORDER BY子句。 不能使用INTO子句。 不能在临时表或表变量上创建视图。,视图举例,【例5-6】建立计算机系学生的视图。 CREATE VIEW 计算机系学生 AS SELECT 学号,姓名,年龄 FROM 学生 WHERE 所在系=计算机系;,视图举例,【例5-7】由学生、课程和选课三个表,定义一个计算机系的学生成绩视图,其属性包括学号、姓名、课程名和成绩。 CREATE VIEW 学生成绩(学号,姓名,课程名,成绩) AS SELECT 学生.学号,学生.姓名,课程.课程名,选课.成绩 FORM

3、 学生,课程,选课 WHERE 学生.学号=选课.学号 AND 程.课程名=选课.课程号 AND 学生.所在系=计算机系;,视图举例,【例5-8】将学生的学号、总成绩、平均成绩定义成一个视图。 CREATE VIEW 学生成绩统计(学号,总成绩,平均成绩) AS SELECT 学号,SUM(成绩),AVG(成绩) FROM 选课 GROUP BY 学号,视图举例,CREATE VIEW 借阅_计算机图书 AS SELECT 图书.*,借阅.* FROM 图书,借阅 WHERE 图书.书号=借阅.书号 AND 图书.类别=计算机,3. 视图的删除 、查询和维护,视图删除语句的一般格式为: DRO

4、P VIEW视图名; 视图可以和基本表一样被查询,其使用方法与基本表相同,但利用视图进行数据增、删、改操作,会受到一定的限制。,视图的创建,使用企业管理器创建视图 使用sql的create view语句创建视图 使用视图创建向导来创建视图,定义表别名的格式 而不是.,Transact-SQL的数据操纵功能及实例,1. 数据检索语句的语句格式 SELECT查询列 INTO新表名 FROM数据源 WHERE元组条件表达式 GROUP BY分组条件HAVING组选择条件 ORDER BY排序条件 COMPUTER统计列组BY表达式,GROUP BY 选择列表只能包含分组依据列和聚合函数。 【例6-2

5、4】查找类别中最高的图书定价不低于全部按类别分组的图书平均定价的2倍的图书。 SELECT A.* FROM 图书 A GROUP BY A.类别 HAVING MAX(A.定价)=ALL (SELECT 2*AVG(B.定价) FROM 图书 B GROUP BY B.类别),COMPUTE子句 产生汇总值,在结果集中后将汇总值放入摘要列,COMPUTE与BY配合,起到换行控制和分段小计的作用。 COMPUTE统计函数组BY分组项 当 COMPUTE 不带可选的 BY 子句时,SELECT 语句有两个结果集: 每个组的第一个结果集是包含选择列表信息的所有明细行。 第二个结果集有一行,其中包含

6、 COMPUTE 子句中所指定的聚合函数的合计。 BY分组项表示在结果集中产生换行控制及分段小计。COMPUTE BY必须和ORDER BY配合使用。,SELECT ProductName,Amount,price,total FROM Products COMPUTE SUM(total),SELECT ProductName,Amount,price,total,Country FROM Products ORDER BY Country COMPUTE SUM(total) BY Country,查询例子,【例6-27】列出计算机类图书的书号、名称及价格,并求出各出版社这类书的总价格,最

7、后求出全部册数和总价格。 SELECT书号,名称,定价 FROM 图书 WHERE 类别=计算机类 ORDER BY 书号 ASC COMPUTE COUNT(*),SUM (定价) BY 出版社 COMPUTE COUNT(*),SUM(定价),比较 COMPUTE 和 GROUP BY GROUP BY 生成单个结果集。每个组都有一个只包含分组依据列和显示该组子聚合的聚合函数的行。选择列表只能包含分组依据列和聚合函数。 COMPUTE 生成多个结果集。一类结果集包含每个组的明细行,其中包含选择列表中的表达式。另一类结果集包含组的子聚合,或 SELECT 语句的总聚合。选择列表可包含除分组依

8、据列或聚合函数之外的其它表达式。聚合函数在 COMPUTE 子句中指定,而不是在选择列表中。,INTO子句和FROM子句,INTO子句将查询结果添加到创建表中。INTO不能与COMPUTE 子句同时使用。如果创建表是临时表,在表名前加“#”字符。,2 Transact-SQL查询实例,设图书借阅数据库中包括: 图书(书号,类别,出版社,作者,书名,定价); 读者(书证号,姓名,单位,性别,电话); 借阅(书号,读者书证号,借阅日期). 【例6-22】将计算机类的书存入永久的计算机图书表,将借书日期在99年以前的借阅记录存入临时的超期借阅表。 SELECT * INTO 计算机图书 FROM 图

9、书 WHERE 类别=计算机 GO SELECT * INTO #超期借阅 FROM 借阅 WHERE 借阅日期1999-01-01 GO,2019/10/19,数据库系统原理及应用,机械工业出版社,第8章 数据库保护及SQL Server的数据库保护技术,8.1 数据库的安全性及SQL Server的安全管理 8.2 数据库完整性及SQL Server的完整性控制 8.3 数据库的并发控制及SQL Server的并发控制机制 8.4 数据库恢复技术与SQL Server的数据恢复机制,为了防止数据库的恶意滥用,可以在下述不同的安全级别上设置各种安全措施。 (1)环境级:对计算机系统的机房和设

10、备加以保护,防止物理破坏。 (2)职员级:对数据库系统工作人员,加强劳动纪律和职业道德教育,并正确的授予其访问数据库的权限。 (3)操作系统级:防止未经授权的用户从操作系统层着手访问数据库。 (4)网络级:由于数据库系统允许用户通过网络访问,因此,网络软件内部的安全性对数据库的安全是很重要的。 (5)数据库系统级:检验用户的身份是否合法,检验用户数据库操作权限是否正确。,8.1 数据库的安全性及SQL Server的安全管理,8.1 数据库的安全性及SQL Server的安全管理,数据库的安全性是指保护数据库,以防止不合法的使用造成的数据泄密、更改或破坏。 8.1.1 数据库安全性控制的一般方

11、法,用户标识和鉴别 存取控制 操作系统安全保护 密码存储,1. 用户标识与鉴别,(1) 用输入用户名(用户标识号)来标明用户身份。 (2) 通过回答口令标识用户身份。 (3) 通过回答对随机数的运算结果表明用户身份。,2. 存取控制,存取机制的构成。 1) 定义用户权限,并将用户权限登记到数据字典中。 用户权限是指用户对于数据对象能够执行的操作种类. 定义用户权限的语言:数据控制语言DCL; 2) 当用户提出操作请求时,系统进行权限检查,拒绝用户的非法操作。 (2) 存取机制的类别。 1) 自主存取控制(DAC)。用户对于不同的对象有不同的存取权限;不同的用户对同一对象的存取权限也各不相同;用

12、户可将自己拥有的存取权限转授给其他用户。 2) 强制存取控制(MAC)。每一个数据对象被标以一定的密级;每一个用户也被授予某一个级别的许可证;对于任意一个对象,只有具有合法许可证的用户才可以存取。,3. 自主存取控制方法,(1) 关系中的用户权限。 用户权限主要包括数据对象和操作类型两个要素。定义用户的存取权限称为授权,通过授权规定用户可以对哪些数据进行什么样的操作。 (2) SQL的数据控制功能。 SQL的数据控制功能为GRANT语句(授权)和REVOKE语句(收权)。 1) 数据对象的创建者自动获得对于该数据对象的所有操作权限。 2) 获得数据操作权的用户可以通过GRANT语句把权限转授给

13、其他用户。 (3) 授权机制的性能。 1) 用户权限定义中数据对象范围越小授权系统就越灵活。授权粒度越细,授权子系统就越灵活,但系统定义与检查权限的开销也会相应地增大。 2) 用户权限定义中能够谓词的授权系统比较灵活。 (4) 自主存取控制的不足之处。 系统对权限的授予状况无法进行有效的控制可能造成数据的无意泄露。数据本身并无安全性标记。,格式:GRANT 权限1,权限2,ON 对象类型 对象名称 TO 用户1,用户2, WITH GRANT OPTION 功能:将指定数据对象的指定权限授予指定的用户。 说明:其中,WITH GRANT OPTION选项的作用是允许获得指定权限的用户把权限再授

14、予其他用户。,1. 授权语句,1. 授权语句,系统授权的授权语句格式为: GRANT系统特权组To用户组| PUBLIC WITH GRANT OPTION; 1) PUBLIC指数据库的所有用户。 2) WITH GRANT OPTION:获得权限的用户可以把该权限再授予别的用户。 对象特权的授权格式为: GRANT ALL PRIVILIGES|对象特权组ON对象名 TO用户组| PUBLIC WITH GRANT OPTION; 1) ALL PRIVILIGES指所有的对象特权。 2) 对象名指操作的对象标识,它包括表名、视图名和过程名等。,1. 隐含特权 系统内置权限,是用户不需要进

15、行授权就可拥有的数据操作权。 2. 系统特权 又称为语句特权,相当于数据定义语句DLL的语句权限。系统特权是允许用户在数据库内部实施管理行为的特权,它主要包括创建或删除数据库、创建或删除用户、删除或修改数据库对象等。 3. 对象特权 对象特权类似于数据库操作语言DML的语句权限,它指用户对数据库中的表、视图、存储过程等对象的操作权限。,例子,【例5-51】把修改学生学号和查询学生表的权力授予用户王平。 GRANT UPDATE(学号),SELECT ON 学生 TO 王平; 【例5-52】把建立数据库和备份数据库的权力赋给用户王平。 GRANT CREATE DATABASE, BACKUP DATABASE TO 王平;,2. 收权语句,REVOKE语句的一般格式为: REVOKE权限组|ALL PRIVILIGES ON对象名 FROM用户名组| PUBLIC; 其中:ON子句用于指定被收回特权的对象;ALL PRIVILIGES指收回所有特权;PUBLIC指所有用户。 【例5-53】将用户

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号