关系数据库基础电子教案电子第04单元 数据完整性.docVIP

关系数据库基础电子教案电子第04单元 数据完整性.doc

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共11页,可阅读全部内容。
  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文档。上传文档
查看更多
关系数据库基础电子教案电子第04单元 数据完整性

数据的完整性P44 学习目的:掌握列数据完整性的定义,掌握如何保证数据完整性的技术 [应知] 数据完整性的定义 列完整性、表完整性、参照完整性 [应会] 掌握如何保证数据的完整性和规则 使用ERWIN保证数据的完整性 [教学过程设计] 1、测验:(十分钟,了解学生是否掌握前面的内容)给出学生、书、借书,由学生分析哪些是主键、哪些是外键,哪些是主表、哪些是从表,哪些是公共关键字? 2、以学生、课程、学生_课程,分析各列的值域、表的主键、从表的外键之间的关系 3、将以上分析给出小结,给出数据完整性的概念,以及如何保证数据完整性的规则 4、使用ERWIN如何保证数据的完整性?如何进行测试? [教学内容] 问题:学生、课程、学生_课程表中的数据要受到什么限制? 如:学生表主键:学号只允许输入:学校中存在的学号,位数要符合规定,不允许为空,也不允许有两个相同的值 性别只允许输入:男、女 专业允许输入:存在的专业名 课程表主键为课程号:不允许出现相同的主键,也不允许为空,课程号位受限制,课程号的值受限制。 学分:只允许输入数值。值范围为1-6 学生_课程表的主键:为(学号,课程号),不允许出现相同的主键,也不允许为空,即学号和课程号都不能为空。学号的值必须在主表学生表中存在,可以重复出现。课程号的值只允许输入课程表中存在的课程号,可以重复出现。 成绩只允许输入数值0-100 数据的完整性:数据的正确性、一致性和有效性。 数据的完整性分为列的完整性、表的完整性和参照完整性。 如:课程表的学分的值输入10,是无效的,因此是不正确的。这样的值使数据的完整性受到破坏。 列的完整性(用户定义的完整性、域完整性):也可称为域的完整性或用户定义的完整性。列的完整性是指表中的任一列数据必须满足所定义的数据类型,且其值必须在有效的范围之内。 学号只允许输入:学校中存在的学号,位数,不允许为空,也不允许有两个相同的值 性别只允许输入:男、女 专业允许输入:存在的专业名 学分:只允许输入数值。值范围为1-6 成绩:只允许输入数值0-100 如何保证列的完整性? 在ERWIN下使用有效性规则,默认值 实训1:在Erwin中定义Sex的值域为’男’、‘女’。(列值的有效范围) 1、选择物理模型 2、打开学生表的SEX的列的编辑器,然后选择SEX列: 3、单击Valid右侧的按钮。 4、单击“New”按钮,新建一个规则。 5、输入新规则的逻辑名字和物理名字,均为“性别” 6、在规则对话框中打开General标签,选择Valid Values List,并在下面表中输入规则内容: 7、单击SQL Server标签,可以看到定义规则的语法:如下图: 8、单击“OK“,返回列编辑器,新创建的规则已经关联到性别列上。 9、删除原来的三个表,再重新创建表。在SQL SERVER下面我们看到增加了规则: 测试:在 SQL SERVER的企业管理器下输入数据进行测试,性别输入“好”,显示错,修改为“男”,则输入成功。 实训2:给学生表中的性别值默认输入“男” 1:单击Default右侧的按钮。 2、单击“New”按钮。 重新创建表(必须首先删除表、规则和默认值)。 测试:在性别列不输入值,系统自动给出“男”。 表的完整性(实体完整性):也可称为实体的完整性。所谓表的完整性是指表中必须有一个主关键字,它来惟一地标识表中的每一行,且不允许为空值(NULL)。 如何保证表的完整性:主键 学生表主键:学号只允许输入学校中存在的学号,位数要符合规定;不允许为空,也不允许有两个相同的值 课程表主键为课程号:不允许出现相同的主键,也不允许为空,课程号位受限制,课程号的值受限制。 学生_课程表的主键:为(学号,课程号),不允许出现相同的主键,也不允许为空,即学号和课程号都不能为空。 如何保证表的完整性?主键 测试:(1)重复值。 (2)空值。 参照完整性(引用完整性):外键和主键相互参照。参照完整性是对表与表之间的联系而言。两个相关联的表满足参照完整性,是说这两个表中的数据是一致的、协调的,两个表的主关键字外关键字也是一致的、协调的。 如: 学生_课程表:学号的值必须在主表学生表中存在,也可以重复出现。课程号的值只允许输入课程表中存在的课程号,可以重复出现。 保证参照完整性规则: 学生表、课程表、学生_课程表保证数据参照完整性要注意遵循下列几个规则: 1.对从表作INSERT操作时,要保证外关键字的值一定要在主表中存在。 2.UPDATE从表的外关键字时,要保证修改后的外键值一定要在主表中存在,就是说要参照主表的主关键字的值。 3.UPDATE主表的主关键字时,一定要注意从表中是否存在该主关键字,如果有,则禁止所做的修改或级联修改所有从表中与之相应的外关键字的值。 4.

文档评论(0)

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

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

1亿VIP精品文档

相关文档