版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
数据库安全性控制(视图)《大数据安全与隐私保护》【第一章数据库安全】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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年食品药品安全监管专项资金审计案例
- 2026年沙盘游戏在留守儿童团体心理辅导中的应用
- 2026年餐厅大众点评美团运营策略
- 小学科普知识地球科学
- 重症医学科感染性休克护理措施
- 大肠癌手术后护理措施
- ICU护理敏感指标
- 感染科院内感染防控规范
- 耳鼻喉科鼻窦炎手术后护理指导
- 全科医学科慢性病患者家庭护理计划
- 2026贵州六盘水市直事业单位遴选33人笔试模拟试题及答案解析
- 2026年3月山东济南轨道交通集团运营有限公司社会招聘备考题库带答案详解ab卷
- 2026年陕西财经职业技术学院单招职业技能测试题库附答案详解(突破训练)
- 数字乡村规划方案
- 2026年1月浙江高考历史真题(原卷版+解析版)
- 2025-2030长三角新材料产业集聚区行业市场供需研究及投资周期规划分析报告
- 铝单板质量制度规范
- 2026年国机集团纪检监察中心部分岗位公开招聘备考题库及答案详解参考
- GB/Z 37312.2-2025航空电子过程管理航空航天、国防及其他高性能应用领域(ADHP)电子元器件第2部分:无源元件通用要求
- 2026年湖州职业技术学院单招综合素质考试题库及完整答案详解1套
- 护士长科室管理
评论
0/150
提交评论