第10章 数据完整性.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文档。上传文档
查看更多
第10章 数据完整性

第10章 数据完整性 本章导学 数据完整性概述 数据完整性 定 义 数据的精确性和可靠性 实施数据完整性的目的 防止数据库中存在不符合语义规定的数据 防止因错误信息的输入、修改造成无效操作 实施数据完整性的手段 应用程序 DBMS 数据完整性分类 实体完整性 作 用 保证一个表中的每一行的唯一性 实施方式 使用PRIMARY KEY约束 使用UNIQUE约束 使用IDENTITY 列 数据完整性分类 引用完整性(参照完整性) 作 用 保证单列(或复合列)的值引用自另外的相关列 实施方式 使用 FOREIGN KEY约束 数据完整性分类 域完整性 作 用 保证表中某一列的值在有效的域中 实施方式 CHECK 约束 DEFAULT约束 NOT NULL 规则 数据完整性分类 用户定义完整性 定 义 用户定义的不属于其它任何完整性分类的特定业务规则 实施方式 约束 规则 触发器 约束概述 作 用 定义表中数据所受到的一些限制条件 约束类型 NOT NULL约束 PRIMARY KEY约束 FOREIGN KEY约束 UNIQUE约束 CHECK约束 DEFAULT约束 定义约束 语 法 [ CONSTRAINT cons_name ] cons_type [ (col_name1 , … ) ] 添加约束的方法 创建表时添加 修改表时添加 约束的级别 约束的级别(根据其约束范围的不同) 列级约束 只对指定列起作用 表级约束 可以作用于指定表中的若干列 创建表时添加约束 语 法 列级约束 创建表时添加约束 语 法 表级约束 注 意 定义表级约束时需要指定所约束的列 修改表时添加约束 语 法 ALTER TABLE table_name [ WITH CHECK | WITH NOCHECK ] ADD [ CONSTRAINT cons_name ] cons_type (col_name1 , … ) 参数说明 WITH CHECK | WITH NOCHECK:当一个新的约束加入后,指示是否对现有的数据进行检查。默认为:WITH CHECK PRIMARY KEY约束 特 征 主键能唯一标识一行(不能为空、不能重复) 实施实体完整性的最常用手段 语 法 [ CONSTRAINT cons_name ] PRIMARY KEY 实例1 为BigCollege大学建立一个教室信息表(教室编号,教学楼名称,房间号,座位数)。 PRIMARY KEY约束 实例2 为已经存在的Teacher表添加一个主键 实例3 创建选课信息表(学号, 班级编号, 成绩) PRIMARY KEY约束 课堂练习 创建一个专业信息表(专业编号,专业名称) 创建一个学生信息表(学号,姓名,国籍,所在专业的编号) FOREIGN KEY约束 特 征 外键用于建立两个表数据之间的关系的一列或多列 用于实施引用完整性 示意图 语 法 [CONSTRAINT cons_name] FOREIGN KEY REFERENCES table_name( col_name [,…] ) FOREIGN KEY约束 实例1 BigCollege大学需要存储学生的信息,经分析,学生表中包含以下几列: stuNo CHAR(8), --学号 stuName VARCHAR(16) NOT NULL, --姓名 stuMajorNo CHAR(8), --专业编号 以学号作为主键。专业编号引用自专业信息表中的majorNo。请创建该表,并加上相应的主键和外键。 实例2 只有拥有学号的学生才可以选课。选课信息表(Register)已经存在,请给它添加上相应的外键。 FOREIGN KEY约束 课堂练习 给在10.3小节中创建的学生表添加外键,确保专业编号的引用完整性。 UNIQUE 约束 使用 UNIQUE 约束确保在非主键列中不输入重复的值。用于实施实体完整性。 与PRIMAYY KEY约束比较 相同点:不能出现重复值 不同点: UNIQUE约束允许有1个NULL值 一个表可以有多个UNIQUE约束 UNIQUE约束 语法 [CONSTRAINT] cons_name UNIQUE 实例1 建一个专业信息表(专业编号,专业名称)。专业名称必须唯一。 实例2 修改院系表(Department ),确保院系名称唯一。 UNIQUE约束 课堂练习 给在10.3小节中创建的专业表添加唯一性约束,确保专业名称唯一。 CHECK约束 特 征 CHECK约束限制的是列的取值范围 通过CHECK 约束,可以来

文档评论(0)

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

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

版权声明书
用户编号:8130065136000003

1亿VIP精品文档

相关文档