20XX年SQLServer与数据库应用开发.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

wangxue1 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档