实现数据完整性课件.pptVIP

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

第7章实现数据完整性n7.1数据完整性的概念n7.2实现数据完整性n7.3查看约束信息n7.4删除约束

7.1数据完整性的概念n1.完整性约束条件的作用对象n2.实现数据完整性的方法

1.完整性约束条件的作用对象n完整性约束条件的作用对象可以是表、元组和列。n列约束主要是列的类型、取值范围、精度等;如:年龄0~150,性别{男,女}n元组约束是元组中各个字段间的联系的约束。如:开始日期小于结束日期

完整性类型n实体完整性实体完整性将行定义为特定表的唯一实体。一般用主码约束实现n域完整性域完整性是指给定列的输入有效性。年龄0~150,一般用check等实现n引用完整性引用完整性保持表之间已定义的关系。一般用外码实现

2.实现数据完整性的方法n声明完整性n在表定义时声明n使用约束(CONSTRAINT)、缺省值(DEFAULT)等n由SQLServer自动加以保证n过程完整性n在客户端或服务器端用编程语言或工具实现n在Server端用触发器(trigger)来实现

7.2实现约束n1.PRIMARYKEY约束n2.Unique约束n3.FOREIGNKEY约束n4.Default约束n5.CHECK约束

PRIMARYKEY约束n保证实体完整性n每个表有且只有一个PRIMARYKEY约束n格式:[CONSTAINT约束名]PRIMARYKEY(列名[,…n])

PRIMARYKEY约束示例n为employees表和jobs表添加PRIMARYKEY约束ALTERTABLEemployeesADDCONSTRAINTPK_employees_emp_idPRIMARYKEY(emp_id)ALTERTABLEjobsADDCONSTRAINTPK_jobs_job_idPRIMARYKEY(job_id)

Unique约束n确保在非主键列中不输入重复值。n应用在客观具有唯一性质的列上,如身份证号、社会保险号等。n格式:[CONSTAINT约束名]UNIQUE(列名[,…n])

Unique约束示例n限制employees的sid都是唯一的AltertableemployeesAddConstraintu_employees_sidUnique(sid)

FOREIGNKEY约束n用于建立和加强两个表数据之间的连接的一列或多列n格式:[CONSTAINT约束名]FOREIGNKEY(本表列名)REFERENCES引用表名(引用列名)

FK约束示例n在employees表的job_id添加外键约束,保证雇员从事的工作一定是在jobs表中已有的工作。ALTERTABLEemployeesADDCONSTRAINTFK_employees_job_idFOREIGNKEY(job_id)REFERENCESjobs(job_id)

Default(默认)约束n当向表中插入数据时,如果没有为定义了DEFAULT的列提供值,则是隐式要求为此列使用默认值。n一个Default只能约束一列n格式:[CONSTAINT约束名]DEFAULT约束表达式for列名

Default约束示例n当未给employees表的受雇日期插入值时,取当前值插入AltertableemployeesAddconstraintdf_emp_datedefaultgetdate()foremp_date也可以在定义表的同时定义约束:CreateTableemployees(......emp_datedatetimeconstraintdf_emp_datedefaultgetdate(),......)

CHECK约束n通过限制输入到列中的值来强制域的完整性。n可定义同表多列之间的约束关系n格式[CONSTAINT约束名]CHECK逻辑表达式

Check约束示例1n限制employees表的salary必须大于0AltertableemployeesAddConstraintck_employees_salaryCheck(salary0)

Check约束示例2n限制employees表的Phone必须是8位长,且每一位必须是0~9的数字AltertableemployeesAddConstraintck_employees_phoneCheck(phoneLike‘[1-9][0-9][0-9][0-9][0-9][0-9][0

文档评论(0)

158****9949 + 关注
官方认证
文档贡献者

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

认证主体成都林辰禄信息科技有限公司
IP属地四川
统一社会信用代码/组织机构代码
91510104MA64LRAJ9H

1亿VIP精品文档

相关文档