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

PPT
  • 阅读 144 次
  • 下载 0 次
  • 页数 34 页
  • 大小 203.311 KB
  • 2023-07-23 上传
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
此文档由【精品优选】提供上传,收益归文档提供者,本网站只提供存储服务。若此文档侵犯了您的版权,欢迎进行违规举报版权认领
企业局域网的安全与运维Ⅱ_数据完整性约束
可在后台配置第一页与第二页中间广告代码
企业局域网的安全与运维Ⅱ_数据完整性约束
可在后台配置第二页与第三页中间广告代码
企业局域网的安全与运维Ⅱ_数据完整性约束
可在后台配置第三页与第四页中间广告代码
企业局域网的安全与运维Ⅱ_数据完整性约束
企业局域网的安全与运维Ⅱ_数据完整性约束
还剩10页未读,继续阅读
【这是免费文档,您可以免费阅读】
/ 34
  • 收藏
  • 违规举报
  • © 版权认领
下载文档12.00 元 加入VIP免费下载
文本内容

【文档说明】企业局域网的安全与运维Ⅱ_数据完整性约束.pptx,共(34)页,203.311 KB,由精品优选上传

转载请保留链接:https://www.ichengzhen.cn/view-289498.html

以下为本文档部分文字说明:

企业局域网的安全与运维II数据完整性——约束本节学习目标⚫时间:2次课,4学时;⚫本节学习目标:⚫知识点:⚫数据库完整性的概念。⚫主键、外键、默认值、检查约束、唯一性约束的概念;本节学习目标⚫技能要求:⚫能够创建和管理主键⚫能够创建和管理外键;⚫能够创建管理检查约束;⚫能够创建管理

唯一性约束;⚫能够创建管理非空约束和默认值约束⚫能够测试各项约束的有效性;⚫能够在数据库中创建数据库关系图课程引入⚫演示:⚫通过SSMS向数据库S_C_T的Student表中执行下列操作:⚫将学生的年龄写入10000;⚫将学生的性别写

入abc;⚫将两个不同教师的身份证号码写成相同的数据“111111111111111111”。思考⚫数据库对不合理数据没有任何限制?⚫数据库中的数据可靠吗?⚫通过哪些手段防止上述情况的发生?⚫手段之一:约束SQLServer的数据

完整性约束的类型⚫主键约束⚫外键约束⚫唯一性约束⚫检查约束⚫默认值⚫空值约束数据库完整性概述⚫数据库的完整性⚫数据的正确性和相容性⚫数据的完整性和安全性是两个不同概念⚫数据的完整性⚫防止数据库中存在不符合语义的数据,也就是防止数据库中存在不正确的数据⚫防范对象:不合语义的、不正确的数据⚫数据的安

全性➢保护数据库防止恶意的破坏和非法的存取➢防范对象:非法用户和非法操作1、设置约束——主键约束主键约束:⚫主键能够唯一地确定表中的每一条记录,主键不能取空值。⚫一个表应该有一个PRIMARYKEY约束⚫一个表只能有一个PRIMARYKEY约束主键约束违约处理⚫插入或对主

键列进行更新操作时,DBMS按照完整性规则自动进行检查。包括:⚫1.检查主键值是否唯一,如果不唯一则拒绝插入或修改;⚫2.检查主键的各个属性是否为空,只要有一个为空就拒绝插入或修改;主键约束违约处理⚫检查记录中主键值是否唯一和为空的一种方法是进行全表扫描演示⚫[例1]将

Student表中的Sno属性定义为主键;⚫[例2]将SC表中的Sno,Cno属性组定义为主键(复合主键,最多为16列);2、唯一性约束(UK)⚫唯一性约束作用:指定一个或多个列的组合值具有唯一性,以防止在列中输入重复的值。⚫使用唯一性约束的

字段允许为空值;⚫一个表中可以允许有多个唯一性约束;⚫唯一性约束用于强制在指定字段上创建一个唯一性索引;演示⚫[例4]在教师表T中的身份证号IDnum列上创建唯一约束。主键约束和唯一性约束的差别⚫唯一性约束所在的列允许空值,但是主键约束所在的列不允许空值。⚫可以把唯一性约束放在一个或者多个列上,

这些列或列的组合必须有唯一的值。但是,唯一性约束所在的列并不是表的主键列。3、检查约束(Check)⚫作用:通过一个或多个字段上的输入值是否符合设定的检查条件来保证数据库数据的完整性。⚫一个表中可以定义多个检查约束;⚫当执行向数据库中插入

数据或更新数据时,检查约束将验证数据;演示⚫[例5]将表S的sex列的取值只允许为“男”或“女”。⚫[例6]将表SC中的score列数据的取值范围设置为0-100之间。CHECK约束总结1、CHECK约束是在创

建表时指定的。2、在每个列上可使用多个CHECK约束。3、CHECK约束只能应用于它定义的列。4、默认约束⚫默认约束来指定列的默认值。向表中插入记录时,数据库会在该列的对应位置填入默认值。⚫每个字段只能定义一个默认约束;⚫默认值必须与该列数据类型兼容。演示⚫[例7]将学生表S中的系别(depa

rtment)列的默认值设置为“计算机系”。5、空值约束(Null)⚫列可以接受空值,也可以拒绝空值。⚫在数据库中,NULL是一个特殊值,表示未知值的概念。⚫NULL不同于空字符或0。实际上,空字符是一个有效的字符,0是一个有效的数字。NULL只是表示

此值未知这一概念。NULL也不同于零长度字符串。空值约束(Null)⚫空值约束允许一列或多列的值不为空。⚫空(NULL)标识未定义或未知的值。⚫默认情况下运行为空,如果要某列不接受空值,则必须在该列上设置非空约束。空值约束违约处理

⚫当插入数据给非空列保持为空时,将会出现一个约束错误,表示不允许在该列中输入空值,否则不能插入下一条记录,也不允许保存数据。⚫在某列上定义PrimaryKey约束,该列必然遵守NOTNULL约束。演示⚫[例8]将表S的编号(sno)、姓名(sn)

和性别(sex)列设置为不允许为空;向表S中插入一条新的学生记录,查看姓名和性别项为空时出现的提示。6、外键约束(FK)⚫通过创建外键约束可以实现表和表之间的依赖关系,实现数据的一致性。⚫外键约束定义一个列或多个列,这

些列可以参考同一个表或另外一个表中的主键约束列或惟一性约束列,唯一索引列。⚫主键所在的表叫主表,属于一对多关系中的一;⚫外键所在的表叫从表,属于一对多关系中的多;设置约束——外键约束⚫主键和外键的字段名不一

定相同,但是数据类型、字段长度必须严格匹配。⚫一个表中最多可以有31个外键约束;❖子表不能引用不存在的键值。❖如果主表中的一行被一个外键参考,那么该行不能被删除(除非定义了级联删除和触发器),主键值也不能修改。外键约束违约

处理可能破坏参照完整性的情况及违约处理被参照表(例如表S)参照表(例如SC)违约处理可能破坏参照完整性插入记录拒绝可能破坏参照完整性修改外键值拒绝删除记录可能破坏参照完整性拒绝修改主键值可能破坏参照完整性拒绝演示⚫[例3]表SC中一条记录表示一个学生选

修的某门课程的成绩,(Sno,Cno)是主键。Sno,Cno分别参照引用Student表的主键和Course表的主键。关系数据库提供的三种完整性⚫实体完整性⚫域完整性⚫参照完整性关系数据库的数据完整性数据完整

性就是指存储在数据库中的数据的一致性和准确性。在关系数据库中,主要有以下几种类型:1、域完整性:(列完整性),规定了给定列输入数据的有效性。例如,在“成绩”列中,限制其取值范围为0到100,其他的取值无效。有效

性检查限制数据类型、或数据取值范围,设定默认值、外键、规则(rule)实现。⚫2、实体完整性:(行完整性),要求表中所有的行唯一。可通过设置主键约束(PrimaryKey)、惟一索引(UniqueIndex)、标识列(IdentityCo

lumn)等多种方法等实现。3、参照完整性:涉及两个或两个以上表的数据的一致性维护。它可以通过主键/外键值约束,触发器(Trigger)和存储过程(StoredProcedure),实现。约束的几种主要类型的作用完整性类

型约束类型描述域完整性DEFAULT(缺省)在使用INSERT语句插入数据时,如果某个列的值没有明确提供,则将定义的缺省值插入到该列中CHECK(检查)指定某一个列中的可保存值的范围实体完整性PRIM

ARYKEY(主键)每一行的惟一标识符,确保用户不能输入冗余值和确保创建索引,提高性能,不允许空值UNIQUE(惟一性)防止出现冗余值,并且确保创建索引,提高性能。允许空值参考完整性FOREIGNKEY(外键)定义一列或者几列,其值与本表或者另外一个表的主键值匹配数据库关系图的创建⚫在

定义好表结构和创建好约束后,可以创建数据库关系图;本节小结⚫空值约束限定某列数据是必填项。⚫主键约束和唯一性约束的区别。⚫作业:⚫简述SQLServer2005中各类约束的特点和作用范围?⚫请说明数据完整性的类型和实现方法?

精品优选
精品优选
该用户很懒,什么也没有留下。
  • 文档 34925
  • 被下载 0
  • 被收藏 0
相关资源
广告代码123
若发现您的权益受到侵害,请立即联系客服,我们会尽快为您处理。侵权客服QQ:395972555 (支持时间:9:00-21:00) 公众号
Powered by 太赞文库
×
确认删除?