第3节数据完整性.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文档。上传文档
查看更多
第3章 数据完整性 本章内容 数据完整性 六种约束条件 小结 作业 数据完整性 数据完整性是指保证数据库中的数据符合现实,或者说,数据库中存储的数据要有实际意义。 数据的完整性是指数据的正确性和相容性。 数据完整性 为了维护数据的完整性,数据库管理系统必须提供一种机制来检查数据库中的数据是否满足语义规定的条件。这些加在数据库数据之上的语义约束条件就是数据完整性约束条件。 DBMS检查数据是否满足完整性条件的机制就称为完整性检查。 六种完整性约束条件 非空 唯一 主码 检查 默认值 外码 完整性约束条件作用的对象 列级 表级 非空约束 在表的一些字段中(如主键)永远也不应该出现空值 非空约束的格式为:NOT NULL 只能是列级约束 非空约束 例3-1 创建一个学生表Student,一共有4个字段: 学号(No) 数据类型为10位长定长字符串 姓名(Name) 数据类型为8位长变长字符串 性别(Sex)数据类型为2位长定长字符串 年龄(Age)数据类型为整型 要求学号和姓名不能为空,写出相应的SQL语句。 唯一约束 如果想要求某个列中所有的数据都是唯一的,不允许出现重复值,就需要在这个字段上加上唯一约束 唯一约束使用关键字UNIQUE 唯一约束 唯一约束所在列允许有一个空值 在一个表中可以定义多个UNIQUE约束 可以在一个列或多个列上定义UNIQUE约束 唯一约束 例3-2 创建一个课程表Course,包含如下字段: 课程号(No)数据类型为10位定长字符串 课程名(Name)数据类型为20位变长字符串 学分(Credit)数据类型为整型 要求课程号满足唯一条件。 主码约束 如果在表中某个列同时满足非空约束和唯一约束,那么我们称这种字段为候选码,候选码的作用是能够唯一地确定一行数据 从候选码中任意选出一个,可以作为主码 主码用关键字PRIMARY KEY定义 主码约束 每个表只能有一个主码 主码字段的取值不能有重复,而且不允许有空值 实现实体完整性 主码约束 例3-3 创建一个图书表Book,包含如下字段: 图书编号(No)数据类型为10位定长字符串 图书名(Name)数据类型为20位变长字符串 作者(Author)数据类型为10位定长字符串 定价(Price)数据类型为整型 要求图书编号为主码,图书名满足非空条件。 主码约束 例3-4创建一个选课情况表SC,一共有3个字段: 学号(Sno) 数据类型为10位长定长字符串 课程号(Cno) 数据类型为5位长定长字符串 成绩(Grade)数据类型为整型 要求学号和课程号联合作主码,写出相应的SQL语句。 检查约束 如果想控制某个字段只能取某个范围内的值,可以使用检查约束 可约束同一个表中多个列之间的取值关系 语法格式:CHECK(约束条件) 检查约束 例3-5 重新创建学生表Student,一共有4个字段: 学号(No) 数据类型为10位长定长字符串 姓名(Name) 数据类型为8位长变长字符串 性别(Sex)数据类型为2位长定长字符串 年龄(Age)数据类型为整型 要求学号为主码,姓名不能为空,性别只能在“男”和“女”当中取值,年龄只能大于18岁且小于23岁。写出相应的SQL语句。 检查约束 例3-6 创建一张工程表Project,一共有3个字段: 工程名(Name) 数据类型为20位长变长字符串 开工日期(StartDate)数据类型为日期时间 完工日期(FinishDate)数据类型为日期时间 要求工程名为主码,开工日期要早于完工日期。写出相应的SQL语句。 默认值约束 如果在表中有某个字段总是取相同的值,我们可以考虑使用缺省值约束,用于提供列的默认值,使我们在向表中插入数据的时候更加方便 语法格式为:DEFAULT 默认值 默认值约束 例3-7 重新创建学生表Student,一共有4个字段: 学号(No) 数据类型为10位长定长字符串 姓名(Name) 数据类型为8位长变长字符串 性别(Sex)数据类型为2位长定长字符串 年龄(Age)数据类型为整型 要求学号为主码,姓名不能为空,性别只能在“男”和“女”当中取值,年龄的缺省值为20岁。写出相应的SQL语句。 外码约束 外码限制一个表中(丛表)的某些列(参照字段,外码字段)的取值要受到另外一个表(主表)中的列(被参照字段)的取值范围的约束。即参照字段的值必须是被参照字段中已经存在的数值,或者为空值。 建立外码时,根据条件,外码可定义为列级约束或表级约束。 外码实现参照完整性。 外码约束 定义外码的语法如下(表级约束): FOREIGN KEY(外码字段)REFERENCES 主表名称(被参照字段) 当定义为列级约束时,FOR

文档评论(0)

187****5045 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档