企业局域网的安全与运维Ⅱ数据完整性约束.ppt

上传人:文库蛋蛋多 文档编号:2215659 上传时间:2023-02-01 格式:PPT 页数:34 大小:223.50KB
返回 下载 相关 举报
企业局域网的安全与运维Ⅱ数据完整性约束.ppt_第1页
第1页 / 共34页
企业局域网的安全与运维Ⅱ数据完整性约束.ppt_第2页
第2页 / 共34页
企业局域网的安全与运维Ⅱ数据完整性约束.ppt_第3页
第3页 / 共34页
企业局域网的安全与运维Ⅱ数据完整性约束.ppt_第4页
第4页 / 共34页
企业局域网的安全与运维Ⅱ数据完整性约束.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

《企业局域网的安全与运维Ⅱ数据完整性约束.ppt》由会员分享,可在线阅读,更多相关《企业局域网的安全与运维Ⅱ数据完整性约束.ppt(34页珍藏版)》请在三一办公上搜索。

1、企业局域网的安全与运维2,数据完整性约束,本节学习目标,时间:2次课,4学时;本节学习目标:知识点:数据库完整性的概念。主键、外键、默认值、检查约束、唯一性约束的概念;,本节学习目标,技能要求:能够创建和管理主键能够创建和管理外键;能够创建管理检查约束;能够创建管理唯一性约束;能够创建管理非空约束和默认值约束能够测试各项约束的有效性;能够在数据库中创建数据库关系图,课程引入,演示:通过SSMS向数据库S_C_T的Student表中执行下列操作:将学生的年龄写入10000;将学生的性别写入abc;将两个不同教师的身份证号码写成相同的数据“111111111111111111”。,思考,数据库对不

2、合理数据没有任何限制?这样的话,数据库中的数据还有意义吗?通过哪些手段防止上述情况的发生?手段之一:约束,SQL Server的数据完整性约束的类型,主键约束外键约束唯一性约束检查约束默认值空值约束,数据库完整性概述,数据库的完整性数据的正确性和相容性数据的完整性和安全性是两个不同概念数据的完整性防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据防范对象:不合语义的、不正确的数据数据的安全性保护数据库防止恶意的破坏和非法的存取防范对象:非法用户和非法操作,1、设置约束主键约束,主键约束:主键能够唯一地确定表中的每一条记录,主键不能取空值。一个表应该有一个 PRIMARY KE

3、Y 约束 一个表只能有一个 PRIMARY KEY 约束,主键约束违约处理,插入或对主键列进行更新操作时,DBMS按照完整性规则自动进行检查。包括:1.检查主键值是否唯一,如果不唯一则拒绝插入或修改;2.检查主键的各个属性是否为空,只要有一个为空就拒绝插入或修改;,主键约束违约处理,检查记录中主键值是否唯一和为空的一种方法是进行全表扫描,演示,例1 将Student表中的Sno属性定义为主键;例2将SC表中的Sno,Cno属性组定义为主键(复合主键,最多为16列);,2、唯一性约束(UK),唯一性约束作用:指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值。使用唯一性约束的字段允许为

4、空值;一个表中可以允许有多个唯一性约束;唯一性约束用于强制在指定字段上创建一个唯一性索引;,演示,例4在教师表T中的身份证号IDnum列上创建唯一约束。,主键约束和唯一性约束的差别,唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。可以把唯一性约束放在一个或者多个列上,这些列或列的组合必须有唯一的值。但是,唯一性约束所在的列并不是表的主键列。,3、检查约束(Check),作用:通过一个或多个字段上的输入值是否符合设定的检查条件来保证数据库数据的完整性。一个表中可以定义多个检查约束;当执行向数据库中插入数据或更新数据时,检查约束将验证数据;,演示,例5将表S表的sex列的取值只允许为“

5、男”或“女”。例6将表SC中的score列数据的取值范围设置为0-100之间。,CHECK约束总结,1、CHECK约束是在创建表时指定的。2、在每个列上可使用多个CHECK约束。3、CHECK约束只能应用于它定义的列。,4、默认约束,默认约束来指定列的默认值。向表中插入记录时,数据库会在该列的对应位置填入默认值。每个字段只能定义一个默认约束;默认值必须与该列数据类型兼容。,演示,例7将学生表S中的系别(department)列的默认值设置为“计算机系”。,5、空值约束(Null),列可以接受空值,也可以拒绝空值。在数据库中,NULL 是一个特殊值,表示未知值的概念。NULL 不同于空字符或 0

6、。实际上,空字符是一个有效的字符,0 是一个有效的数字。NULL 只是表示此值未知这一概念。NULL 也不同于零长度字符串。,空值约束(Null),空值约束允许一列或多列的值不为空。空(NULL)标识未定义或未知的值。默认情况下运行为空,如果要某列不接受空值,则必须在该列上设置非空约束。,空值约束违约处理,当插入数据给非空列保持为空时,将会出现一个约束错误,表示不允许在该列中输入空值,否则不能插入下一条记录,也不允许保存数据。在某列上定义Primary Key约束,该列必然遵守NOT NULL约束。,演示,例8将表S的编号(sno)、姓名(sn)和性别(sex)列设置为不允许为空;向表S中插入

7、一条新的学生记录,查看姓名和性别项为空时出现的提示。,6、外键约束(FK),通过创建外键约束可以实现表和表之间的依赖关系,实现数据的一致性。外键约束定义一个列或多个列,这些列可以参考同一个表或另外一个表中的主键约束列或惟一性约束列,唯一索引列。主键所在的表叫主表,属于一对多关系中的一;外键所在的表叫从表,属于一对多关系中的多;,设置约束外键约束,主键和外键的字段名不一定相同,但是数据类型、字段长度必须严格匹配。一个表中最多可以有31个外键约束;子表不能引用不存在的键值。如果主表中的一行被一个外键参考,那么该行不能被删除(除非定义了级联删除和触发器),主键值也不能修改。,外键约束违约处理,可能破

8、坏参照完整性的情况及违约处理,演示,例3表SC中一条记录表示一个学生选修的某门课程的成绩,(Sno,Cno)是主键。Sno,Cno分别参照引用Student表的主键和Course表的主键。,关系数据库提供的三种完整性,实体完整性域完整性参照完整性,关系数据库的数据完整性,数据完整性就是指存储在数据库中的数据的一致性和准确性。在关系数据库中,主要有以下几种类型:1、域完整性:(列完整性),规定了给定列输入数据的有效性。例如,在“成绩”列中,限制其取值范围为0到100,其他的取值无效。有效性检查限制数据类型、或数据取值范围,设定默认值、外键、规则()实现。,2、实体完整性:(行完整性),要求表中所有的行唯一。可通过设置主键约束()、惟一索引()、标识列(Identity Column)等多种方法等实现。,3、参照完整性:涉及两个或两个以上表的数据的一致性维护。它可以通过主键/外键值约束,触发器()和存储过程(),实现。,约束的几种主要类型的作用,数据库关系图的创建,在定义好表结构和创建好约束后,可以创建数据库关系图;,本节小结,空值约束限定某列数据是必填项。主键约束和唯一性约束的区别。作业:简述SQL Server 2005中各类约束的特点和作用范围?请说明数据完整性的类型和实现方法?,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号