数据安全 课件 第1讲1-3数据库安全性控制-视图_第1页
数据安全 课件 第1讲1-3数据库安全性控制-视图_第2页
数据安全 课件 第1讲1-3数据库安全性控制-视图_第3页
数据安全 课件 第1讲1-3数据库安全性控制-视图_第4页
数据安全 课件 第1讲1-3数据库安全性控制-视图_第5页
已阅读5页,还剩53页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

数据库安全性控制(视图)《大数据安全与隐私保护》【第一章数据库安全】1

数据库完整性1.1完整性1.2约束2索引2.1索引概述2.2创建索引2.3管理索引√√数据库安全性控制(难点)回顾(重点)抢答环节1.数据完整性有哪三种类型?2.约束有哪几类?回顾实体完整性、用户自定义完整性、参照完整性primarykey约束foreignkey约束unique约束check约束default约束3.建立索引的关键字?4.索引的填满率体现的是什么道理?createindex索引名on表名(字段名)withfillfactor=60“月满则亏,水满则溢”“谦虚谨慎”3

视图3.1视图概述3.2创建视图3.3管理视图3.4利用视图管理数据★(重点)(难点)第1讲数据库安全性控制--视图3视图概述案例基于视图的访问控制皇上问话高公公去清点酒窖藏书阁金库……每次问话都得重新跑一次皇上问话小邓子小桌子小六子酒窖藏书阁金库…………各有分工,各自负责既定部门查询视图机制3.1视图概述案例

解析基于视图的访问控制视图的使用1视图只是定义了一个查询,视图中的数据是从基表中获取,这些数据在视图被引用时动态的生成。由于视图基于数据库中的其他对象,因此一个视图只需占用数据字典中保存其定义的空间,而无需额外的存储空间,视图也会随着基表的变化而变化。案例中的公公们,都拥有不同的视图View_小邓子、View_小桌子、View_小六子,不同的人查看到的内容是不同的,这就是利用视图进行数据安全访问的好处。3.1视图概述案例基于视图的访问控制SELECTa.cno,count(*)AsGold_Num;FROMCountrya,GoldDB

gWHEREa.cno=g.cnoGROUPBYa.cno;视图的优点2比如,要查询其他国家上供金子的次数。已知国家表Country,金库表GoldDB

。一般写法如下:优点1:使用视图可以隐藏查询的复杂性SELECTcno,Gold_NumFROMview_小六子前提是已创建了基于上面查询的视图view_小六子采取视图的方式优点2:视图可以加强安全性3.1视图概述职业素养勋章请大家结合生活或者工作中的真实需求,谈谈视图的应用场景以及其带来的好处。银行业务3.1视图概述

创建视图1.利用对象资源管理器创建视图2.利用T-SQL语句创建视图

3.23.2

创建视图-利用对象资源管理器创建视图第一步:在SQLServerManagementStudio中创建视图的方法主要在视图设计器中完成。第二步:添加好各表后,单击关闭按钮关闭【添加表】对话框。以后需要用可以在关系图窗口的空白处右击。第三步:在关系图窗口中,可以建立表与表之间的联系,只需要将相关联的字段拖动到要连接的字段上即可。第四步:在每个表列名前的复选框选择,可以设置视图需要输出的字段,在条件窗格里还可以设置要过滤的查询条件。

创建视图-利用对象资源管理器创建视图3.2第五步:单击【执行SQL】执行按钮,运行select语句,查看运行结果。第六步:测试正常后,单击【保存】,在弹出的对话框中输入视图名称,完成视图的创建。

创建视图-利用对象资源管理器创建视图3.2任务1:【利用对象资源管理器创建视图】5分钟动手练一练可视化方式创建一个视图(v_Item_1),用于查看销售给客户为“杭州华为分公司”,且订单金额大于5000的订单信息实验数据准备:请从ftp中下载Company.sql文件,执行建库建表后,开始实验。利用对象资源管理器创建视图3.2(1)创建基于基表的视图(2)创建基于视图的视图(3)创建带表达式的视图(4)创建分组视图

创建视图-利用T-SQL语句创建视图3.2【例1】创建一个视图(v_test1),用于查看产品表中的产品编码和产品名称,并修改其字段名为代码、品名。CREATEVIEWv_test1

(代码,品名)AS

SELECT产品编码,产品名称

FROM

产品表(1)创建基于基表的视图

创建视图-利用T-SQL语句创建视图3.2【例2】创建一个视图(

v_test2),用于查看销售给客户为“中国联通温州分公司”的订单信息。CREATE

VIEW

v_test_2AS

SELECT销售主表.*

FROM销售主表A,客户表B WHERE

A.客户号=B.客户号 AND

客户名称=‘中国联通温州分公司’(1)创建基于基表的视图

创建视图-利用T-SQL语句创建视图3.2【例3】创建一个视图(

v_test3),用于查看销售给客户为“中国联通温州分公司”的订单信息。并用WITHENCRYPTION加密。CREATE

VIEW

v_test3

WITHENCRYPTIONAS

SELECT销售主表.*

FROM销售主表A,客户表B WHERE

A.客户号=B.客户号

AND

客户名称=‘中国联通温州分公司’(1)创建基于基表的视图

创建视图-利用T-SQL语句创建视图3.2上机实验任务2任务2-1:【创建基于基表的视图】10分钟创建一个视图(v_Item_2),用于查看销售给客户为“中国联通温州分公司”的订单信息。CREATE

VIEW

v_test3AS

SELECT

*

FROM

v_test2

WHERE订货日期<‘2021-11-1’(2)创建基于视图的视图【例4】创建一个视图(v_test3

),用于查看销售给客户为“中国联通温州分公司”,且订货日期早于2021-11-1的订单信息。(要求基于视图v_test2创建视图)v_test2

创建视图-利用T-SQL语句创建视图3.2上机实验任务2任务2-2:【创建基于视图的视图】5分钟创建一个视图(v_Item_3),用于查看销售给客户为“中国联通温州分公司”,且订货日期早于2021-11-1的订单信息。(要求基于视图v_Item_2创建视图)(3)创建带表达式的视图【例5】创建一个视图(v_test4),用于查看销售给客户为“中国联通温州分公司”,且订单金额大于12000元的订单信息。(要求基于视图v_test2创建视图。同时:加密且保证对该视图的更新都要符合订单金额大于12000这个条件。)WithencryptionWithcheckoption

创建视图-利用T-SQL语句创建视图3.2上机实验任务2任务2-3:【创建带表达式的视图】5分钟创建一个视图(v_Item_4),用于查看销售给客户为“中国联通温州分公司”,且订单金额大于12000元的订单信息。(要求基于视图v_Item_2创建视图,加密且保证对该视图的更新都要符合订单金额大于12000这个条件。)CREATE

VIEW

v_test5AS

SELECT业务员编号,count(*) FROM销售主表 Groupby业务员编号(4)创建分组视图【例6】创建一个视图v_test5,按业务员进行分组统计,显示各业务员对应的销售订单数量。

创建视图-利用T-SQL语句创建视图3.2上机实验任务2任务2-4:【创建分组视图】5分钟创建一个视图v_Item_5,按业务员进行分组统计,显示各业务员对应的销售订单数量。

创建视图利用T-SQL语句创建视图CREATEVIEW

view_name

[(column[,...n])]

[WITHENCRYPTION]

AS

SELECT_statement

[WITHCHECKOPTION]参数说明如下:view_name:视图名column:视图中所使用的列名。WITHENCRYPTION:加密视图。WITHCHECKOPTION:指出在视图上所进行的修改都要符合查询语句所指定的限制条件,这样可以确保数据修改后仍可通过视图看到修改的数据。小结

创建视图利用T-SQL语句创建视图参数说明如下:ASSELECT_statement:用来创建视图的SELECT语句。但对SELECT语句有以下的限制:①定义视图的用户必须对所参照的表或视图有查询权限,即可执行SELECT语句。

②不能使用COMPUTE或COMPUTEBY子句。(2012版本已经不用)

③不能使用ORDERBY子句。

④不能使用INTO子句。

⑤不能在临时表或表变量上创建视图。小结

3.3管理视图3.3

管理视图查看视图修改视图更名视图删除视图

管理视图查看视图除了利用对象管理器查看视图定义外,SQLServer还提供系统存储过程查看视图定义。sp_help

用于返回视图的特征信息。sp_helptext

查看视图的定义文本。sp_depends查看视图对表的依赖关系和引用的字段。3.3

管理视图查看视图sp_help【例7】查找S_G视图的详细信息。sp_help

S_GGO3.3

管理视图查看视图sp_helptext【例8】查找S_G视图的定义文本。sp_helptext

S_GGO3.3

管理视图查看视图sp_depends【例9】查找S_G视图的依赖关系和引用的字段。sp_depends

S_GGO3.3

管理视图2.修改视图【例10】将v_student视图修改为只包含学生学号、姓名。alter

view

v_studentasselect

学号,姓名

from

学生表3.3

管理视图2.修改视图【例11】将视图(v_Item_2)修改,用于查看销售给客户为“杭州华为分公司”的订单信息。ALTER

VIEW

v_test_2AS

SELECT销售主表.*

FROM销售主表A,客户表B WHERE

A.客户号=B.客户号 AND

客户名称=‘杭州华为分公司’3.3

管理视图3.视图更名利用系统提供的存储过程sp_rename可以对视图进行重命名。【例12】将V_1视图的名称修改为V_2。sp_rename

‘V_1','

V_2','VIEW'GO3.3

管理视图4.删除视图【例13】删除视图v_studentDROP

VIEW

v_student3.3上机实验任务3任务3:【管理视图】10分钟任务3-1【查看视图】任务3-2【修改视图】任务3-3【视图更名】任务3-4【删除视图】

3.4利用视图管理数据3.4

利用视图管理数据在创建视图之后,可以通过视图来对基表的数据进行管理。但是无论在什么时候对视图的数据进行管理,实际上都是在对视图对应的数据表中的数据进行管理。利用视图查询数据利用视图插入数据利用视图更新数据利用视图删除数据

利用视图管理数据利用视图查询数据利用T-SQL语言查询视图数据。【例14】查询学号为“2011101”学生的课程成绩。(从v_Test视图中查找)select

*from

v_Testwhere

学号=

'2011101'

3.4上机实验任务4任务4-1:【查询视图】5分钟基于v_product_1视图,查询成本低于在1000产品的产品编号、名称和价格。

利用视图管理数据2.利用视图插入数据使用insert语句通过视图向基本表插入数据。由于视图不一定包括表中的所有字段,所以在插入记录时可能会遇到问题。视图中那些没有出现的字段无法显式插入数据,假如这些字段不接受系统指派的null值,那么插入操作将失败。3.4

利用视图管理数据2.利用视图插入数据【例15】向视图v_student中插入一个新的学生记录,学号为2019101,姓名为王明,年龄为20。insert

into

v_studentvalues(2019101,'王明',20)因为v_student视图没有年龄列。insert

into

v_studentvalues(2019101,'王明')√3.4

利用视图管理数据2.利用视图插入数据【例16】向视图stu_is_c1中插入一个新的学生记录,学号为2019127,姓名为王明,年龄为20。insert

into

stu_is_c1Values('2019127','王明',20)3.4

利用视图管理数据2.利用视图插入数据【例17】向视图stu_sc_grade中插入一个新的学生记录,学号为2019127,姓名为王明,成绩为60。insert

into

stu_sc_gradeValues('2019127','王明',60)因为该视图成绩要求在90分以上,而且是人工智能学院,各种条件限制。3.4上机实验任务4任务4-2:【利用视图插入数据】8分钟向v_product_1中插入一条产品记录('P0014','数码相机',4500)

利用视图管理数据3.利用视图更新数据使用UPDATE语句可以通过视图修改基本表的数据。【例18】将视图v_student中学号为‘2019101’的学生姓名改为张山。update

v_studentset

姓名='张山'where

学号=2019101update

学生表set

姓名='张山'where

学号=2019101等价于:3.4上机实验任务4任务4-3:【利用视图更新数据】8分钟将产品编号为’P0014’的成本改为7800(两种方式完成更新)

利用视图管理数据4.利用视图删除数据使用DELETE语句可以通过视图删除基本表的数据。但对于依赖于多个基本表的视图,不能使用DELETE语句。【例19】删除视图stu_is_c1中学号为‘2019127’的学生记录。delete

from

学生表where

学号='2019127'delete

from

stu_is_c1where

学号='2019127'3.4上机实验任务4任务4-4:【利用视图删除数据】8分钟删除产品编号为’P0014’的产品小结本讲小结4.5

视图4.5.1视图概述4.5.2创建视图4.5.3管理视图4.5.4利用视图管理数据★小结

视图概述视图是一种数据库对象,是从一个或者多个数据表或视图中导出的虚表,视图的结构和数据是对数据表进行查询的结果;视图的特点:1.视图能够简化用户的操作,从而简化查询语句;2.视图使用户能以多种角度看待同一数据,增加可读性;3.视图对重构数据库提供了一定程度的逻辑独立性;4.视图能够对机密数据提供安全保护;5.适当的利用视图可以更

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论