数据库的安全和完整约束学习教案.pptx





《数据库的安全和完整约束学习教案.pptx》由会员分享,可在线阅读,更多相关《数据库的安全和完整约束学习教案.pptx(26页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、数据库的安全数据库的安全(nqun)和完整约束和完整约束第一页,共26页。8.1.1 8.1.1 视图的定义视图的定义(dngy)(dngy)和查询修改和查询修改 (1)定义视图,可以限制各个用户的访问范围;定义视图,可以限制各个用户的访问范围;(2)有些有些DBMS没有视图功能,但是系统可以根据没有视图功能,但是系统可以根据用户的访问限制条件用户的访问限制条件(tiojin),自动的修改查询条件,自动的修改查询条件(tiojin),使其只能在给定访问范围内查询。,使其只能在给定访问范围内查询。第2页/共26页第1页/共26页第二页,共26页。8.1.2 8.1.2 访问控制访问控制 访问控制
2、访问控制(access control)是对用户访问数据库各种资是对用户访问数据库各种资源的权力源的权力(qunl)的控制。的控制。基表、视图、各种目录以及实用程序等基表、视图、各种目录以及实用程序等创建、撤销、查询、增、删、改等创建、撤销、查询、增、删、改等 在同一在同一DBMS下,可能下,可能(knng)建立多个数据库,访问控制建立多个数据库,访问控制在数据库之间是相互独立的。在数据库之间是相互独立的。第3页/共26页第2页/共26页第三页,共26页。数据库用户:数据库用户:1.一般数据库用户;一般数据库用户;2.具有支配数据库部分具有支配数据库部分(b fen)资源权限的数据库用户;资源
3、权限的数据库用户;3.具有具有DBA特权的数据库用户特权的数据库用户 DBMS须解决:用户的标识与鉴别须解决:用户的标识与鉴别(jinbi)以及授权以及授权(grant-revoke)的问题。)的问题。第4页/共26页第3页/共26页第四页,共26页。在数据库中,许多用户的权限相同在数据库中,许多用户的权限相同(xin tn),如分别授权,十分繁琐,可以为他们定义一个角色。,如分别授权,十分繁琐,可以为他们定义一个角色。对角色授权,某用户承担某种角色就拥有该角色对角色授权,某用户承担某种角色就拥有该角色的权限,一个用户可以拥有多个角色和其他权限。的权限,一个用户可以拥有多个角色和其他权限。角色
4、不是用户,不能用做登陆!角色不是用户,不能用做登陆!第5页/共26页第4页/共26页第五页,共26页。8.3 8.3 完整性约束完整性约束(yush)(yush)检查检查 8.3.1 完整性约束完整性约束(yush)的类型的类型 以关系以关系(gun x)数据模型为例分类。数据模型为例分类。1.静态约束(静态约束(static constraints)(1)固有约束固有约束(inherent constraints)第一范式第一范式 (2)隐含约束隐含约束(implicit constraints)用用DDL说明,例如:域完整性、实体完整性、说明,例如:域完整性、实体完整性、引用完整性等。引用
5、完整性等。(3)显式约束显式约束(explicit constraints)依赖于数据的语义和应用。依赖于数据的语义和应用。第6页/共26页第5页/共26页第六页,共26页。2.动态动态(dngti)约束(约束(dynamic constraints)不是对数据库状态的约束不是对数据库状态的约束(yush),而是数据库从一个状态转到另一个状态时要遵守的约束,而是数据库从一个状态转到另一个状态时要遵守的约束(yush)。第7页/共26页第6页/共26页第七页,共26页。8.3.2 完整性约束完整性约束(yush)的说明的说明 约束的显式说明约束的显式说明(shumng)方法:方法:1.用过程说明
6、用过程说明(shumng)约束约束 让应用程序完成约束的说明让应用程序完成约束的说明(shumng)和检验。和检验。缺点:检验缺点:检验(jinyn)分散在应用程序中,增加程序员的负担,约束改变会导致程序要修改。分散在应用程序中,增加程序员的负担,约束改变会导致程序要修改。优点:优点:容易实现,目前应用较多。容易实现,目前应用较多。第8页/共26页第7页/共26页第八页,共26页。2.用断言用断言(assertions)说明约束说明约束 DBMS提供断言说明语言,用此语言可以提供断言说明语言,用此语言可以(ky)写出数据库完整性断言,由系统编译成约束库写出数据库完整性断言,由系统编译成约束库(
7、constraint base)。DBMS的完整性控制子系统,对每个更新事务,用相关断言进行检查,如果发现违反的完整性控制子系统,对每个更新事务,用相关断言进行检查,如果发现违反(wifn)约束,就回卷该事务。约束,就回卷该事务。例如:例如:Assert 余额余额(y)约束约束 on 储蓄帐:余额储蓄帐:余额(y)0第9页/共26页第8页/共26页第九页,共26页。缺点:实现缺点:实现(shxin)复杂,开销大,处理单一。复杂,开销大,处理单一。优点优点(yudin):集中控制,用户不编程,维护方便;:集中控制,用户不编程,维护方便;3.用触发子用触发子(triggers)表示表示(biosh
8、)约束约束 触发子是一种软件机制,形如:触发子是一种软件机制,形如:whenever then Event(激活触发器激活触发器)Condition(检验触发器的条件是否满足检验触发器的条件是否满足)Actions(触发器运行后的动作触发器运行后的动作)第10页/共26页第9页/共26页第十页,共26页。传统的数据库系统只能按照用户或应用程序的要求,对数据库进行操作,而不能根据发生的事件或数据库的状态主动进行相应传统的数据库系统只能按照用户或应用程序的要求,对数据库进行操作,而不能根据发生的事件或数据库的状态主动进行相应(xingyng)的处理,这样的数据库系统是被动的。的处理,这样的数据库系
9、统是被动的。主动主动(zhdng)数据库系统就是具有主动数据库系统就是具有主动(zhdng)数据库功能的数据库系统。数据库功能的数据库系统。第11页/共26页第10页/共26页第十一页,共26页。问题:主动数据库系统和关系数据库系统、面向对象数据库系统的区别问题:主动数据库系统和关系数据库系统、面向对象数据库系统的区别(qbi)和联系?和联系?主动数据库只是主动数据库只是(zhsh)数据库系统的一种功能!数据库系统的一种功能!第12页/共26页第11页/共26页第十二页,共26页。假假 设有下列三个关系设有下列三个关系(gun x)(gun x):Sailors(sid,sname,ratin
10、g,birth,masterSailors(sid,sname,rating,birth,master)/*/*分别为水手的编号、名字、级别、出生日期、师父的编号,每个水手的师父也是水手分别为水手的编号、名字、级别、出生日期、师父的编号,每个水手的师父也是水手*/*/Boats(bid,bname,color)Boats(bid,bname,color)/*/*分别为船的编号、名字、颜色分别为船的编号、名字、颜色*/*/Reserves(sid,bid,day)Reserves(sid,bid,day)/*/*分别为订船水手编号、所订船编号、日期分别为订船水手编号、所订船编号、日期*/*/第1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 数据库 安全 完整 约束 学习 教案

限制150内