数据库的安全性与完整性优秀PPT.ppt

上传人:1398****507 文档编号:56513774 上传时间:2022-11-02 格式:PPT 页数:44 大小:260KB
返回 下载 相关 举报
数据库的安全性与完整性优秀PPT.ppt_第1页
第1页 / 共44页
数据库的安全性与完整性优秀PPT.ppt_第2页
第2页 / 共44页
点击查看更多>>
资源描述

《数据库的安全性与完整性优秀PPT.ppt》由会员分享,可在线阅读,更多相关《数据库的安全性与完整性优秀PPT.ppt(44页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、武汉大学数据库原理课题组7.1 概述概述7.2 数据库平安性限制数据库平安性限制 第七章第七章第七章第七章 数据库的平安性与完整性数据库的平安性与完整性数据库的平安性与完整性数据库的平安性与完整性7.3 数据库完整性限制数据库完整性限制7.4 触发器触发器本章小结本章小结案例案例武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念 数据库是计算机系统中大量数据集中存放的场所,它保存着长期积累的信息资源。如何爱护这些珍贵的财宝使之不受来自外部的破坏以及非法运用是DBMS的重要任务。数据库中的数据爱护是多方面的,包括计算机外部的爱护:环境的爱护,如加强警戒、防火、防盗社会的爱护

2、,如建立各种法规、制度设备爱护,如刚好进行设备检查和修理也包括计算机内部的爱护:网络中数据传输时的数据爱护计算机系统中的数据爱护操作系统的数据爱护数据库系统中的数据爱护应用系统中的数据爱护武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念1.平安性和完整性的基本概念(1)平安性与完整性计算机系统的牢靠性一般是指系统正常地无故障运行的概率。数据库的牢靠性概念则是指数据库的平安性和完整性。平安性是指对数据库进行平安限制,爱护数据库以防止不合法的运用所造成的数据泄露、更改或破坏。完整性是指数据的正确性、有效性和相容性,即完整性保证数据的精确和一样,使数据库中的数据在任何时候都是

3、有效的。平安性措施防范非法用户和非法操作,完整性措施防范无效数据。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念(2)数据库的平安与平安数据库数据库中的数据是一种重要的共享资源,必需在数据库系统中建立一套完整的运用规范。运用者只有依据规则访问数据库并接受来自DBMS的各种检查,才能最终获得访问权限。访问数据库的规范有多种,不同的规范适用于不同的应用。在过去单机方式下的数据库由于共享面窄,因此规范较为宽松;而在网络方式下特殊是在因特网方式下,由于数据共享面广,故规范较为严格,因此,依据应用的不同需求,数据库的平安分不同级别。那些能适应网络环境下平安要求级别的数据库称为平

4、安数据库或者可信数据库。目前我国所运用的很多DBMS都达不到平安数据库的要求,在网上运用均存在平安隐患,因此当务之急是大力推广运用平安数据库。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念(3)可信计算基可信计算基(Trusted Computing Base,TCB)是为实现数据库平安的全部实施策略与机制的集合,它是实施、检查、监督数据库平安的机构,这是数据库平安中的一个基本概念。(4)主体与客体客体:数据库中数据及其载体主体:数据库中数据访问者、进程、线程等武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念(5)自主访问限制与强制访问限制自主

5、访问限制DAC,它是一种基于存取矩阵的模型,它由主体、客体与存/取操作组成,它们构成了一个矩阵。矩阵的列表示主体,行表示客体,矩阵中的元素是存/取操作。在自主访问限制中,主体可通过授权的形式变更某些操作权限,访问限制受主体主观随意性的影响较大,其平安力度尚嫌不足。强制访问限制MAC,它是主体访问客体的一种强制性的平安限制方式。对主体/客体进行标记:一种是平安级别标记,一种是平安范围标记。前者是一个数字规定了主体、客体的平安级别。在访问时只有主体级别与客体级别满足确定比较关系时才能允许。在强制访问限制中,主客体标记由特地的平安管理员设置,任何主体均无权设置与授权。武汉大学数据库原理课题组7.1

6、7.1 基本概念基本概念基本概念基本概念(6)隐藏通道(hiding channel)在主体访问客体时一般通过正常路径访问,因此TCB可以在访问路径中检查。但是,事实上往往存在多种非正常访问路径,这种路径比较隐藏且逃过了TCB的检查,称为隐藏通道。(7)数据库平安的形式化(formalization of database security)由于数据库平安在整个系统中的重要性,因此须要建立一套有效的形式化体系,用于保证自身的正确性,发觉并填补平安漏洞,防止隐藏通道,并为数据平安的进一步探讨供应理论基础。因此,数据库平安的形式化已成为高级别数据库平安的必要条件。武汉大学数据库原理课题组7.1 7

7、.1 基本概念基本概念基本概念基本概念(8)审计(audit)除接受访问检查的方式之外,还接受协助的跟踪、审计手段,随时记录主体对客体的访问轨迹,并作出分析以供参考,同时在一旦发生非法访问后能即时供应初始记录以便进一步处理,这就是数据库平安中的审计。审计的功能是对主体访问客体作即时记录,内容包括:访问时间、访问类型、访问客体名、是否成功等。(9)访问监控器(access monitor)前述功能还须要有一个独立的、抗篡改的、困难度足够小的系统实体以实现数据平安,这就是访问监控器。访问监控器在功能上仲裁主体对客体的全部访问,具有扩充的审计功能,供应系统复原机制。它是一个独立的物理机构,由确定的软

8、件与硬件联合组成。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念2.数据库平安性标准计算机系统平安分为三大类:(1)技术平安类(2)管理平安类(3)政策法律类用户标识用户标识和鉴别和鉴别DBDB数据密数据密码存储码存储OSOS安全保护安全保护DBMSDBMS存取控制存取控制网络网络控制控制武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念A.数据库的平安标准1985年美国国防部DOD颁布的DOD可信计算机系统评估标准,简称TCSEC,又称为橘皮书。制定该标准的目的主要有:(1)供应一种标准,运用户可以对其计算机系统内敏感信息平安操作的可信程度进行

9、评估。(2)给计算机行业的制造商供应一种可遵循的指导规则,使其产品能够更好地满足敏感应用的平安需求。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念1991年美国NCSC(国家计算机平安中心)颁布了可信计算机系统评估标准关于可信数据库系统的说明,简称TDI,又称为紫皮书。TDI中定义了数据库管理系统的设计与实现中需满足和用以进行平安性级别评估的标准。1996年国际标准化组织ISO又颁布了信息技术平安技术信息技术平安性评估准则(Information Technology Security TechniquesEvaluation Criteria For IT Secu

10、rity),简称CC标准。目前国际上广泛接受的是美国标准TCSEC(TDI)。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念TCSEC(TDI)中将数据平安划分为四组七级。平安性级别划分如下:(数据库平安常用的级别是C2级、B1级和B2级)安全级别安全级别定义定义A1 验证设计(Verified Design)B3 安全域(Security Domains)B2 结构化保护(Structural Protection)B1 标记安全保护(Labeled Security Protection)C2 受控的存取保护(Controlled Access Protectio

11、n)C1 自主安全保护(Discretionary Security Protection)D 最小保护(Minimal Protection)武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念各个级别的介绍:(1)D级标准为基本无平安爱护的系统。(2)C1级标准满足该级别的系统必需具有如下功能:主体、客体以及主、客体分别;身份标识与鉴别;数据完整性;自主访问限制。其核心是自主访问限制。C1级适合于单机工作的方式。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念(3)C2级标准满足该级别的系统必需具有如下功能:满足C1级标准的全部功能;审计其核心是

12、审计。C2级适合于单击工作的方式。C2级实际是平安产品的最低档次,供应受控的存取爱护,即将C1级的DAC进一步细化,以个人身份注册负责,并实施审计和资源隔离。(4)B1级标准满足该级别的系统必需具有如下功能:满足C2级标准的全部功能;强制访问限制其核心是强制访问限制。B1级适合于网络工作的方式。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念(5)B2级标准满足该级别的系统必需具有如下功能:满足B1级标准的全部功能;预防隐藏通道;数据库平安的形式化其核心是预防隐藏通道和平安的形式化。适合于网络工作的方式。目前国内外均尚无符合此类标准的系统,其主要的难点是数据库平安的形式

13、化表示困难。(6)B3级标准满足该级别的系统必需具有如下功能:满足B2级标准的全部功能;访问监控器其核心是访问监控器。适合于网络工作的方式。国内外均无符合此类标准的产品。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念(7)A级标准满足该级别的系统必需具有如下功能:满足B3级标准的全部功能;较高的形式化要求,如平安验证此级别是平安的最高等级,应具有完善的形式化要求,目前尚无法实现,仅是一种志向化的等级。武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念B.我国国家标准我国政府于1999年颁布了“计算机信息系统评估准则”。为与国际接轨,其基本结构与T

14、CSEC相像。我国标准分为5级:TCSEC标准标准我国标准我国标准D 无C1 第1级:用户自主保护级C2 第2级:系统审计保护级B1 第3级:安全标记保护级B2 第4级:结构化保护级B3 第5级:访问验证保护级A 无武汉大学数据库原理课题组7.1 7.1 基本概念基本概念基本概念基本概念C.DBMS平安模型一种比较通用的DBMS平安模型:用户登录成功才是数据库的合法用户,才能与数据库建立连接。一个角色一般是指一个机构内的一个称谓或一个任务的集合。为了便利,可把用户归属不同的角色,对不同的角色有不同的授权。数据库对象包括表、视图、索引、列、域等。对数据库对象的访问限制主要是通过授权机制。登录登录

15、用户用户角色角色权限权限对象对象武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制1.用户标识与鉴别用户标识与鉴别用用户标识来表明用户的身份用用户标识来表明用户的身份系统核对口令以进一步鉴别身份系统核对口令以进一步鉴别身份利用用户自身具备的各种自然特征标识自己和供应鉴别的依据。利用用户自身具备的各种自然特征标识自己和供应鉴别的依据。利用用户持有的证件。利用用户持有的证件。利用口令。利用口令。口令保密可接受的一些方法:口令保密可接受的一些方法:(1)扩大口令集和口令长度。)扩大口令集和口令长度。(2)规定口令的生效时间,定期或不定期地更换口令

16、)规定口令的生效时间,定期或不定期地更换口令 (3)设置多层口令系统。)设置多层口令系统。(4)设置动态口令。)设置动态口令。武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制2.2.存取限制存取限制 A.A.存取限制方法存取限制方法DBMSDBMS的平安子系统主要包括两部分:的平安子系统主要包括两部分:定义用户权限,并将用户权限登记到数据字典中。定义用户权限,并将用户权限登记到数据字典中。合法权限检查,若用户的操作恳求超出了定义的权限,系统将拒绝合法权限检查,若用户的操作恳求超出了定义的权限,系统将拒绝执行此操作。执行此操作。用户权限组成

17、:数据对象和操作类型。用户权限组成:数据对象和操作类型。在数据库系统中,定义存取权限称为授权。在数据库系统中,定义存取权限称为授权。(1 1)自主存取限制自主存取限制(DAC)(DAC)用户对于不同的数据对象有不同的存取权限,不同的用户对同一用户对于不同的数据对象有不同的存取权限,不同的用户对同一对象也有不同的权限,而且用户还可将其拥有的存取权限转授给对象也有不同的权限,而且用户还可将其拥有的存取权限转授给其他用户。因此自主存取限制特别敏捷。其他用户。因此自主存取限制特别敏捷。武汉大学数据库原理课题组7.2 数据库平安性限制数据库平安性限制(2)强制存取限制(MAC)在强制存取限制(MAC)方

18、法中,每一个数据对象被标以确定的密级,每一个用户也被授予某一个级别的许可证。对于随意一个对象,只有具有合法许可证的用户才可以存取。强制存取限制因此相对比较严格。MAC适用于对数据有严格而固定密级分类的部门。主体:是指数据库中数据访问者、(用户、DBA)进程、线程等,是系统中的活动实体。客体:是指数据库中数据及其载体(表、视图、索引、存储过程等),是系统中的被动实体。武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制n对于主体和客体,DBMS为它们每个实例(值)指派一 个敏感度标记(Label)。n敏感度标记被分成若干级别,例如绝密、机密、可

19、信、公开等。n主体的敏感度标记称为许可证级别。n客体的敏感度标记称为密级。客体子集客体子集主体子集主体子集访访问问武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制nMAC机制就是通过对比主体的Label和客体的Label,最终确定主体是否能够存取客体。n当某一主体以标记label注册入系统时,系统要求他对任何客体的存取必需遵循如下规则:n 仅当主体的许可证级别大于或等于客体的密级时,该主体才能读取相应的客体;仅当主体的许可证级别小于或等于客体的密级时,该主体才能写相应的客体n这两种规则的共同点在于它们均禁止了拥有高许可证级别的主体更新低密

20、级的数据对象,从而防止了敏感数据的泄漏。武汉大学数据库原理课题组2.2.如何实现存取限制?如何实现存取限制?n(1)用户分类分类与权限n一般分为四类:系统用户(或DBA)数据对象的属主一般用户公共用户SQL ServerSQL Server系统管理员DBA数据库对象用户数据库访问用户n(2)常有的几种权限n 数据访问权限 读、插入、修改、删除权限n 数据库模式修改权限(数据库管理权限):索引权限、资源权限、修改权限、撤销权限(drop)武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制 (3)授权 GRANT语句向用户授予操作权限 一般格式

21、为:GRANT,ON TO,.WITH GRANT OPTION语义为:将对指定操作对象的指定操作权限授予指定的用户。可将此权限转授可将此权限转授 对不同类型的操作对象有不同的操作权限:武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制例例:把查询表SC和修改其学号的权限授给用户 U2和U4(或或全体全体)。GRANT SELECT,UPDATE(Sno)ON TABLE SC TO U2,U4;例例:把对表SC的INSERT权限授给用户U5,并允许将此权限再授予其他用户。GRANT INSERT ON TABLE SC TO U5 WIT

22、H GRANT OPTION;U5还可以将此权限授予U6:GRANT INSERT ON TABLE SC TO U6;或或:PUBLIC;U6U6能不能再能不能再传播此权限传播此权限?武汉大学数据库原理课题组7.2 7.2 7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制例例:DBA把在数据库 DB1中建立表的权限授予用户U1。GRANT CREATETAB ON DATABASE DB1 TO U1;GRANT语句可以:一次向一个用户授权;一次向多个用户授权;一次传播多个同类对象的权限;一次可以完成对基本表、视图和属性列这些不同对象的授权。收回权限:级联:(

23、但系统只收回干脆或间接从某处获得的权限)UAUB改U1查U2改改U3UA回收U1隐含权限?武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制3.视图机制视图机制通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自通过视图机制把要保密的数据对无权存取的用户隐藏起来,从而自动地对数据供应确定程度的平安爱护。视图机制间接地实现了支动地对数据供应确定程度的平安爱护。视图机制间接地实现了支持存取谓词的用户权限定义。通过为不同的用户定义不同的视图,持存取谓词的用户权限定义。通过为不同的用户定义不同的视图,可以限制各个用户的访问范围。可以限制各个用

24、户的访问范围。例:仅允许某个用户查询男学生记录。例:仅允许某个用户查询男学生记录。CREATE VIEW Student_maleAS SELECT*FROM StudentWHERE sex=男男;武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制4.4.数据加密数据加密对高度敏感性数据,例如,财务数据、军事数据、国家机密,除以对高度敏感性数据,例如,财务数据、军事数据、国家机密,除以上平安性措施外,还可以接受数据加密技术,以密文形式存储和上平安性措施外,还可以接受数据加密技术,以密文形式存储和传输数据。这样即使企图通过不正常渠道获得数据

25、,也只能看到传输数据。这样即使企图通过不正常渠道获得数据,也只能看到一些无法分辨的二进制码。一些无法分辨的二进制码。数据加密的方法基本上有三种:信息编码、信息置换和信息替换。数据加密的方法基本上有三种:信息编码、信息置换和信息替换。常用的密码方法有:常用的密码方法有:DESDES、公钥密码等。、公钥密码等。由于数据加解密是比较耗时的操作,而且数据加密与解密程序会占由于数据加解密是比较耗时的操作,而且数据加密与解密程序会占用大量系统资源,增加了系统的开销,降低了数据库的效率,因用大量系统资源,增加了系统的开销,降低了数据库的效率,因此数据加解密功能通常作为可选特征。此数据加解密功能通常作为可选特

26、征。武汉大学数据库原理课题组7.2 7.2 数据库平安性限制数据库平安性限制数据库平安性限制数据库平安性限制5.跟踪审计跟踪审计是一种监视措施。数据库在运行中,DBMS跟踪用户对一些敏感数据的存取活动,跟踪的结果记录在审计文件中。一旦发觉有窃取数据的企图,有的DBMS会发出警报信息,多数DBMS虽无警报功能,但也可在事后依据记录进行分析,从中发觉危及平安的行为,找出缘由,追究责任,实行防范措施。跟踪审计的内容:恳求;操作类型;操作终端标识与操作者标识;操作日期和时间;操作所涉及的对象;数据的前映像和后映像。审计很耗时间和空间,所以一般作为可选功能。武汉大学数据库原理课题组7.3 7.3 数据库

27、的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制1.1.数据库的完整性数据库的完整性数据库的完整性:数据库的完整性:是指数据的正确性、有效性和相容性。是指数据的正确性、有效性和相容性。正确性指数据的真实合法性;正确性指数据的真实合法性;有效性指数据的值是否属于所定义的有效范围;有效性指数据的值是否属于所定义的有效范围;相容性指表示同一事实的多个数据必需一样。相容性指表示同一事实的多个数据必需一样。说明:说明:完整性是为了防止数据库中存在不符合语义的数据,防止错误信完整性是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出。息的输入和输出。数据库完整性约束条件:数据

28、库完整性约束条件:加在数据库数据之上的语义约束条件。加在数据库数据之上的语义约束条件。完整性检查:完整性检查:而而DBMSDBMS中检查数据是否满足完整性条件的机制。中检查数据是否满足完整性条件的机制。武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制DBMS中执行完整性检查的子系统称为“完整性子系统”,主要功能有:对事务的执行进行监控,检测事务的操作是否违反了完整性约束条件。对违反完整性约束条件的操作实行相应的措施以保证数据的完整性。DBMS的完整性限制机制应具有三个方面的功能:(1)定义功能:供应定义完整性约束条件的机制。(2)

29、检查功能:检查用户发出的操作恳求是否违反完整性约束条件(3)防范功能:假如发觉用户的操作恳求使数据违反了完整性约束条件,实行确定的动作来保证数据的完整性。武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制n 完整性限制的规则:n 一条完整性规则可用五元组 (D,O,A,C,P)来表示:n(1)D(Data)约束作用的数据对象;n(2)O(Operation)触发完整性检查的数据库操作,即当用户发出什么操作恳求时须要检查该完整性规则,是马上检查还是延迟检查;n(3)A(Assertion)数据对象必需满足的断言或语义约束,这是规则的主

30、体;n(4)C(Condition)选择A作用的数据对象值的谓词;n(5)P(Procedure)违反完整性规则时触发的过程。n如:在“讲师工资不得低于1000元”的约束中:n D 约束作用的对象为工资Sal属性n O 插入或修改职工元组时n A Sal不能小于1000n C 职称=讲师 (A仅作用于职称=讲师的记录)n P 拒绝执行该操作武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制完整性的语义约束和检查完整性的语义约束和检查实现方式有两种:一种是通过定义和运用完整性约束规则,另一实现方式有两种:一种是通过定义和运用完整性约束

31、规则,另一种是通过触发器和存储过程来实现。种是通过触发器和存储过程来实现。分为以下几种:分为以下几种:(1)马上执行约束:检查是否违反完整性约束的时机通常是在)马上执行约束:检查是否违反完整性约束的时机通常是在一条语句执行完后马上检查。一条语句执行完后马上检查。(2)延迟执行约束:完整性检查延迟到整个事务执行结束后再)延迟执行约束:完整性检查延迟到整个事务执行结束后再进行,检查正确方可提交。进行,检查正确方可提交。(3)在事务的某些特定检查点检查。)在事务的某些特定检查点检查。(4)在一个维护操作恳求之后且执行之前检查。)在一个维护操作恳求之后且执行之前检查。(5)在)在DBA或审计员发出检查

32、恳求时。或审计员发出检查恳求时。武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制完整性约束条件完整性约束条件 作用的对象:作用的对象:关系、元组、列关系、元组、列静态约束:是指数据库每一确定状态时的数据对象所应满静态约束:是指数据库每一确定状态时的数据对象所应满足的约束条件,它是反映数据库状态合理性的约束。足的约束条件,它是反映数据库状态合理性的约束。动态约束:是指数据库从一种状态转变为另一种状态时,动态约束:是指数据库从一种状态转变为另一种状态时,新、旧值之间所应满足的约束条件,它是反映数据库状新、旧值之间所应满足的约束条件,它

33、是反映数据库状态变迁的约束。态变迁的约束。武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制SQL中的完整性约束中的完整性约束 1、基本表的约束、基本表的约束(1)主码约束主码约束 PRIMARY KEY()(2)外码约束外码约束 FOREIGN KEY()REFERENCE()ON DELETE ON UPDATE :NO ACTION、CASCADE、RESTRICT、SET NULL、SET DEFAULT武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制n实现参照

34、完整性要考虑的问题:在被参照关系中删除元组 n这时主要有三种不同的策略:n级联删除(CASCADE)n受限删除(RESTRICT)n置空值删除(SET NULL)修改被参照关系中主码若允许修改主码,主要有三种不同的策略:n级联修改(CASCADE)n受限修改(RESTRICT)n置空值修改(SET NULL)武汉大学数据库原理课题组7.3 7.3 数据库的完整性限制数据库的完整性限制数据库的完整性限制数据库的完整性限制(3)检查约束 CHECK()2、域约束 CREATE DOMAIN CHECK()例:3、断言 留意:CHECK子句只对定义它的表起作用,对其它表不起作用 例:当约束条件涉及多

35、个表、运用聚集操作时应运用断言。CREATE ASSERTION CHECK()例:武汉大学数据库原理课题组7.4 7.4 触发器触发器触发器触发器 n 触发器:当对相关表执行触发器:当对相关表执行INSERTINSERT、UPDATEUPDATE、DELETEDELETE语句时被隐式执行的过程。语句时被隐式执行的过程。n 触发器与存储过程的区分:触发器与存储过程的区分:n 存储过程由用户或应用显示执行;触发器是为一激存储过程由用户或应用显示执行;触发器是为一激发语句发出时由发语句发出时由DBMSDBMS隐式地触发。隐式地触发。n 触发器的组成:触发器的组成:n (1 1)触发事务)触发事务n

36、 (2 2)触发条件)触发条件n (3 3)触发器动作)触发器动作n 触发器的作用:强制实现更困难的完整性约束。触发器的作用:强制实现更困难的完整性约束。n 触发器的类型:触发器的类型:n (1)AFTER (1)AFTERn (2)BEFORE (2)BEFOREn 例:例:-武汉大学数据库原理课题组7.4 7.4 触发器触发器触发器触发器n例:规定修改SC表的grade值时,修改后的值不能低于修改前的值。n CREATE TRIGGER Trig_graden AFTER UPDATE OF grade n ON SCn REFERENCING OLD AS oldg,NEW AS new

37、gn FOR EACH ROWn WHEN(oldg.gradenewg.grade)n UPDATE SCn SET grade=oldg.graden WHERE cno=newg o;触发事务触发条件触发器动作武汉大学数据库原理课题组SQL ServerSQL ServerSQL ServerSQL Server的平安体系的平安体系的平安体系的平安体系 登录用户DB用户DB平安性与完整性平安模型与平安级别计算机用户网络用户武汉大学数据库原理课题组SQL Server2005SQL Server2005SQL Server2005SQL Server2005平安性新特性平安性新特性平安性新

38、特性平安性新特性n平安增加特性:SQL Server 2005包含诸如数据库加密、平安缺省设置、口令策略强制、较细粒度权限限制以及增加平安模型之类的平安增加特性。nsql server 2005中的新型平安模型将把用户从对象中独立出来,供应较细粒度的访问方式,并支持针对数据访问的更强限制实力。此外,全部系统表格都将以视图的形式实现,从而供应针对数据库系统对象的更多限制实力。n数据加密功能:以前是运用Windows的EFS(加密文件系统)功能加密数据库文件或在应用程序层对数据加密后再存储。nSQL Server 2005不是简洁的供应一些加密函数,而是把市场上已经成熟的数据平安技术引进到数据库中

39、,有一个清晰的加密层次结构。nSQL Server 2005 支持证书(certificate),每一层都运用证书、非对称密钥和对称密钥的组合对它下面的一层进行加密,提高了密钥平安性。武汉大学数据库原理课题组SQL ServerSQL ServerSQL ServerSQL Server的的的的数据完整性数据完整性数据完整性数据完整性n数据完整性的实施方法数据完整性的实施方法 :n过程型数据完整性:过程型数据完整性:由缺省、规则和触发器实现。由缺省、规则和触发器实现。n声明型数据完整性:声明型数据完整性:作为数据库说明的一部分在语法中实现。作为数据库说明的一部分在语法中实现。n 实现方法是:在

40、实现方法是:在CREATE TABLECREATE TABLE和和ALTER TABLEALTER TABLE定义定义中中 运用运用sonstraintsonstraint和和defaultdefault语句限制表中的值。语句限制表中的值。n 在在CREATE TABLECREATE TABLE和和ALTER TABLEALTER TABLE语句中,约束子句有:语句中,约束子句有:n缺省约束(缺省约束(default sonstraintdefault sonstraint):当向表中插入数据时,假):当向表中插入数据时,假如用户没有明确给出某列的值如用户没有明确给出某列的值 ,SQL SER

41、VERSQL SERVER自动为该列输入指自动为该列输入指定值。定值。n检查约束(检查约束(check sonstraintcheck sonstraint):限制插入列中的值。):限制插入列中的值。n唯一约束(唯一约束(unique sonstraintunique sonstraint):保证指定列上的值唯一。):保证指定列上的值唯一。n主码约束(主码约束(Primary key sonstraintPrimary key sonstraint):保证主码列上值唯一,):保证主码列上值唯一,且没有空值。且没有空值。n参照约束(参照约束(reference constraintreferen

42、ce constraint)/外码约束(外码约束(Foreign key Foreign key sonstraintsonstraint):要求指定的列):要求指定的列 (外码)中正被插入或更新的新(外码)中正被插入或更新的新值,必需在被参照表(主表)的主码列中已经存在。值,必需在被参照表(主表)的主码列中已经存在。武汉大学数据库原理课题组第七章第七章 平安性与完整性小结平安性与完整性小结n数据库平安限制技术n用户标识与鉴别n存取限制n审计n视图n密码存储nDBMS的完整性限制的功能:n 定义功能、检查功能、防范功能nDBMS的完整性限制策略:n利用主码实现实体完整性n利用外码实现参照完整性n利用一般约束,SQL断言等实现用户定义完整性n (用触发器实现特殊要求的完整性)本章练习本章练习本章练习本章练习 :

展开阅读全文
相关资源
相关搜索

当前位置:首页 > pptx模板 > 商业计划书

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁