- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
SQL Server与数据库应用开发;
5.1 完整性的概念与分类
5.2 约束的类型
5.3 约束的创建
5.4 查看约束
5.5 删除约束
5.6 使用规则
5.7 使用默认
;【知识要求】: 1.掌握数据完整性的涵义
2.掌握各类约束与完整性对应关系
【能力要求】: 1.熟练掌握各种约束的创建方法
2.熟练掌握约束的查看、修改、删除等管理方法;5.1.1数据完整性的概念
数据完整性是指存储在数据库中的数据的正确性、一致性与可靠性。如果数据库中存储有不一致和违背语义的数据,则该数据库称为已丧失数据的完整性。
例如:在数据库表中出现完全重复的记录而造成数据冗余,如果人的“年龄”值设置为2000,虽然值正确,但已经没有意义。考试系统中,没有学生基本信息,却出现了该学生的考试成绩等。都属于数据异常或者不一致,都违反了数据完整性。
5.1.2数据完整性的分类
数据完整性根据其实现的目标可分为:实体完整性、域完整性、参照完整性及用户自定义的完整性
1.实体完整性
实体完整性(entity integrity)规定了同一表中的每一行记录在表中是唯一的。也可以这样说,在同一表中不能存在完全相同的记录。只有保证了任何记录都是不重复的,可以区分的,在对数据进行操作时才可以和其他记录区分开。例如,要对“用户”表中姓名为“刘杰”的记录进行更改,更新操作只能针对姓名为“刘杰” 这条记录,那么在操作的时候就需一种方式来指向确定的记录。;2.域完整性
域完整性(domain integrity)是指数据库表中的字段值必须满足某种特定的数据类型或范围、精度等规定。例如,在“用户”表中,“用户编号”字段内容只能填入规定长度的学号,而“用户角色”字段只能填入“学生”、“教师”或“管理员” ,试卷表中“考试日期”只能填入日期型数据。
3.参照完整性
参照完整性(referential integrity)是指的是两个表中记录之间的对应关系。它保证了表之间数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。例如,在“班级”表中各记录的“系部编号”列的值必须是在“系部”表中“系部编号”列存在的值,也就是说,班???必须是系里存在的班级,这时候“系部”表就称为主表, “班级”表称为从表。 “系部编号”就是从表“班级”相对于主表“系部”表的参照列。在SQL Server 2012中,参照完整性的根本要求是从表中不能出现主表没对应值的记录。
以下三种会操作导致这种结果:
(1)给从表中插入记录时,主表中没有对应的记录。
(2)从表中已经存在了对应记录,但单独修改了主表中从表参照的列值。
(3)删除了主表中的记录,导致从表中已经存在的对应记录无法参照。
;4.用户定义的完整性
不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件。用户定义的完整性(user-defined integrity)即是针对某个特定关系数据库的约束条件,它反映了某一具体应用所涉及的数据必须满足的语义要求。SQL Server 2012提供了定义和检验这类完整性的机制,以便用统一的系统方法来处理它们,例如触发器,而不是用应用程序来承担这一功能。其他的完整性类型都支持用户定义的完整性。
;约束是强制数据库实现完整性的方式和机制。通过建立约束可以实现完整性所要求的效果。
约束就是一种强制性的规定,在SQL Server 中提供的约束是通过定义字段的取值规则来维护数据完整性的。严格说来,在SQL Server 中支持六类约束:NOT NULL(非空)约束、CHECK(检查)约束、UNIQUE(唯一)约束、PRIMARY KEY(主键)约束.FOREIGN KEY(外键)约束和DEFAULT(默认)约束。下面分别进行介绍。
1.PRIMARY KEY 约束
将哪些值唯一的列或者列的集合定义为主键约束,这些列称为主键列。主键列的值不能是空值。每个表都应有一个主键,保证记录的唯一性,也就实现了实体的完整性。一个表中只有一个主键约束。例如,要在“用户”表中区分每一个用户,区分的唯一标志不是用户姓名,而是每个用户唯一对应的“用户编号”值,“用户编号”在表中就应该设为主键。
2.UNIQUE约束
唯一约束与主键约束相似,它保证了非主键列值的唯一性。唯一约束允许一个空值。主键约束优先于唯一索引。例如,在“系部”表中可以将“系部名称”作为唯一性,用来保证记录的唯一性 。一个表中可以有多个唯一约束。
;3.NOT NULL约束
非空约束用来强制数据的域完整性,它用来设定某列值不能为空。例如,在“学生”表中,“学号”字段值不能为空,在插入记录的时候这个字段里必须有值存在。
4.CHEC
您可能关注的文档
- 20XX年A1包、山东省农技推广信息化应用示范平台建设.doc
- 20XX年Andrew,安德鲁希腊,男性的,勇敢的,骁勇的。.doc
- 20XX年A1包、入团志愿书、团员证印制.doc
- 20XX年Android应用基础开发课程.ppt
- 20XX年API垫环的密封机理分析与比较.doc
- 20XX年APEC项目之HACCP标准与认证——SNT1443.1食品安全管.doc
- 20XX年ARC320基于.NetFramework2.0企业应用框架的设计与实现.ppt
- 20XX年Aplus101个人作品网站需求说明书.ppt
- 20XX年ArcINFO地理信息系统培训.ppt
- 20XX年ASCE全文电子期刊及会议录数据库使用指南.ppt
- 20XX年STC单片机最新教材—基于STC15W4K32S4系列单片机开发.doc
- 20XX年SRTP项目研究过程记录手册.doc
- 20XX年ST炎黄终止上市相关问题.doc
- 20XX年SQLServer2005中的十个最重要的T-SQL增强功能.ppt
- 20XX年TD-SCDMA基本原理,现场试验及发展方向.ppt
- 20XX年TEXEM一种基于实体的邮件任务提取策略.ppt
- 20XX年SuminoriKono医学博士,理学博士预防医学教授Kyushu(九洲)大.ppt
- 20XX年S系列脉冲磁场刺激仪等设备.doc
- 20XX年TH38N单板38模块(CCD专用编码模块).doc
- 20XX年TKI靶向治疗到进展停药对还是错.ppt
文档评论(0)