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