- 1、本文档共21页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第九章 数据完整性与安全性
第9章 数据完整性和安全性 教学内容: 1、数据完整性的基本概念及种类。 2、了解几种常见的约束。 3、安全性的基本概念及账户管理。 实践操作: 1、创建约束和触发器实现数据完整性。 2、在SQL Server 2005中创建与管理用户账户。 本章目录 9. 1 数据完整性的基本概念 9. 2 数据完整性的实现 9. 3 数据安全性 9. 1 数据完整性的基本概念 数据库的完整性是指为了防止数据库中存在不合语义的数据,防止错误信息的输入与输出造成无效操作或错误结果。 为维护数据库的完整性,DBMS必须提供一种机制来检查数据库的数据,看其是否满足语义规定的条件,我们将这些加在数据库数据之上的语义约束条件称为数据库完整性约束条件,简称约束。它们与数据一起存入数据库中。 又称为行完整性。它把表中的每行都看作一个实体,要求所有行都具有唯一标识。 在SQL Server中,可以通过建立PRIMARY KEY约束、UNIQUE约束等措施来实施实体完整性。例如,对“客户信息表”,客户编号就可以作为主键,每个客户的编号能够唯一地确定该客户对应的记录信息,那么在输入数据时,则不能有相同客户编号的记录存在,通过对客户编号这一字段建立主键约束,可实现“客户信息表”的实体完整性。 域完整性又称为列完整性。 它要求表中指定列的数据具有正确的数据类型、数据格式和有效的数据范围。域完整性可以通过制定相应的规则、FOREIGN KEY约束、CHECK约束及默认值约束等方法实现。 3. 参照完整性 又称为引用完整性。它保证主表(被参照表)中的数据与从表(参照表)中数据的一致性。在SQL Server中,它通过主键PRIMARY KEY约束和外键FOREIGN KEY 约束实现。 在被参照的表中,当其主键值被其他表参照时,该行记录既不能被删除,也不允许被改变。 4. 用户定义完整性 即用户自定义的数据完整性,不包括在实体、域和参照完整性之内。这种完整性常见的实现机制包括创建数据表时的约束和规则、触发器、存储过程等。 9. 2 数据完整性的实现 在SQL Server 2005中提供了完善的数据完整性机制,主要包括约束、触发器等。 1. 主键约束(PRIMARY KEY) PRIMARY KEY用于保证表中每条记录的唯一性。设计一个数据库表时,可用一个字段或多个字段(最多16个字段)的组合作为这个表的主键。 2. 外键约束(FOREIGN KEY) FOREIGN KEY即外键。外键字段与其他表中的主键字段或具有唯一性的字段相对应,其值必须在所引用的表中存在,而且所引用的表必须存放在同一数据库中。 参考【例9.2】 演示外键的定义过程 3. 其他约束 (1)NULL与NOT NULL (2)UNIQUE 如果一个字段值不允许重复,则应当对该字段添加UNIQUE约束。与主键不同的是,在UNIQUE字段中允许出现NULL值,但只能出现一次NULL值。 (3)CHECK CHECK约束用于检查一个字段或整个表的输入值是否满足指定的检查条件。在表中插入或修改记录时,如果不符合这个检查条件,操作将被拒绝。 (4)DEFAULT DEFAULT约束用于指定一个字段的默认值,当尚未在该字段中输入数据时,该字段中将自动填入这个默认值。 9. 2. 2 案例:触发器及创建 触发器是一种特殊类型的存储过程,与表紧密相连。当用户修改表中的数据时,触发器将自动执行。 1. 触发器的功能 一般可以使用触发器完成如下功能: (1)级联修改数据库中相关的表。如出于某一需要删除了客户表cust_table中的某一客户信息,那么对在订单表order_table中所有与该客户有关的记录都应该做相应的调整。使用触发器就可以实现这样的功能。 (2)执行比检查约束更为复杂的约束操作。在触发器中可以书写更加复杂的T-SQL语句,如可以引用多个表,并使用IF…ELSE等语句做更加复杂的检查。 (3)拒绝或回滚违反引用完整性的操作。检查对数据表的操作是否违反引用完整性,并选择相应的操作。 (4)比较表修改前后数据之间的差别,并根据差别采取相应的措施。如假设规定每次工资的变动幅度不能超过40%,使用触发器可以将修改后的表数据和修改前的表数据进行比较,如果超过40%的限制,就可以回滚该修改操作。 2. 触发器类型和触发操作 有AFTER触发器和INSTEAD OF 触发器两种: AFTER触发器:在数据变动(INSERT、UPDATE、DELETE操作)完成以后才被激发。因为对表数据有插入、修改、删除的操作,相应的触发器也可分为3种类型:INSERT、UPDATE和DELETE。它
您可能关注的文档
- 第三节 保险合同的订立、履行、变更与终止.ppt
- 第三节 分布数列.ppt
- 第三节 动荡中的南北中国.ppt
- 第三节 化学学习的动力和学习能力.ppt
- 第三节 可编程计数器 .ppt
- 第三节 土料压实 .ppt
- 第三节 学会用电.ppt
- 第三节 常用横机织物与编织工艺.ppt
- 第三节 性染色体与伴性遗传11.ppt
- 第三节 油脂 .ppt
- 2024-2025学年安徽省卓越县中联盟高一(上)期中联考物理试卷(含答案).pdf
- 2024-2025学年广东省惠州市第一中学高二(上)期中物理试卷(含答案).docx
- 2024-2025学年广东省惠州市第一中学高二(上)期中物理试卷(含答案).pdf
- 2024-2025学年内蒙古鄂尔多斯一中伊金霍洛分校九年级(上)月考物理试卷(10月份)(含答案).docx
- 2023-2024学年山东省淄博市张店六中八年级(下)期中物理试卷(含答案).pdf
- 2024-2025学年河南省安阳市龙安实验中学八年级(上)第一次月考物理试卷(含答案).pdf
- 2024-2025学年河南省安阳市龙安实验中学八年级(上)第一次月考物理试卷(含答案).docx
- 2024-2025学年江苏省常州实验中学九年级(上)期中物理试卷(含答案).docx
- 2024-2025学年湖北省武汉市江岸区八年级(上)期中物理试卷(含答案).docx
- 2024学校食品安全周活动总结(30篇).pdf
文档评论(0)