数据库原理与应用课后答案第13章 数据库性.docx

数据库原理与应用课后答案第13章 数据库性.docx

  1. 1、本文档共4页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

13

第 章

数据库完整性

练习题13及参考答案

什么是数据完整性?如果数据库不实施数据完整性会产生什么结果?

答:数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。如果数据库不实施数据完整性,在用INSERT、DELETE、UPDATE语句修改数据库内容时,数据的完整性可能会遭到破坏,就可能会存在下列情况:无效的数据被添加到数据库的表中,如:将学生考试成绩输入成负数;对数据库的修改不一致,如:在一个表中修改了某学生的学号,但该学生的学号在另外一个表中却没有得到修改;将存在的数据修改为无效的数据,如:将某学生的班号修改为并不存在的班级号。

数据完整性有哪几类?如何实施?它们分别在什么级别上实施?

答:数据完整性分为以下3类:

域完整性:是指一个列的输入有效性,是否允许为空值。强制域完整性的方法有:限制类型(通过设定列的数据类型)、格式(通过CHECK约束和规则)或可能值的范围(通过FOREIGNKEY约束、CHECK约束、DEFAULT定义、NOTNULL定义和规则)。如:学生的考试成绩必须在0~100之间,性别只能是“男”或“女”。

实体完整性:是指保证表中所有的行唯一。实体完整性要求表中的所有行都有一个唯一标识符。这个唯一标识符可能是一列,也可能是几列的组合,称之为主键。也就是说,表中的主键在所有行上必须取唯一值。强制实体完整性的方法有:索引、UNIQUE约束、PRIMARYKEY约束或IDENTITY属性。如:student表中sno(学号)的取值必须唯一,它唯一标识了相应记录所代表的学生,学号重复是非法的。学生的姓名不能作为主键,因为完全可能存在两个学生同名同姓的情况。

参照完整性:是指保证主关键字(被引用表)和外部关键字(引用表)之的参照关系。它涉及两个或两个以上表数据的一致性维护。外键值将引用表中包含此外键的记录和被引用表中主键和外键相匹配的记录关联起来。在输入、更改或删除记录时,参照完整性保持表之间己定义的关系,确保键值在所有表中一致。这样的一致性要求确保不会引用不存在的值,如果键值更改了,那么在整个数据库中,对该键值的所有引用要进行一致的更改。参照完整性是基于外键与主键之间的关系。例如学生学习课程的课程号必须是有效的

第13章

第13章

数据库完整性

PAGE2

PAGE2

课程号,表score表(成绩表)的外键cno(课程号)将参考表course表(课程表)中主键cno(课程号)以实现数据完整性。

域完整性、实体完整性及参照完整性分别在列、行、表上实施。数据完整性任何时候都可以实施,但对己有数据的表实施数据完整性时,系统要先检查表中的数据是否满足所实施的完整性,只有表中的数据满足了所实施的完整性,数据完整性才能实施成功。

什么是主键约束?什么是唯一性约束?两者有什么区别?

答:主键约束保证某一列或一组列值的组合相对于表中的每一行都是唯一的,这些列就是该表的主键。主键不允许有重复值,也不允许有空值。

唯一约束限制表中指定列上所有的非空值必须唯一,即表中任意两行在指定列上都不允许有相同的值。

唯一约束和主键约束的区别是:

唯一约束与主键约束都为指定的列建立唯一索引,即不允许唯一索引的列上有相同的值。主键约束限制更严格,不但不允许有重复值,而且也不允许有空值。

唯一约束与主键约束产生的索引可以是聚簇索引也可以是非聚簇索引,但在缺省情况下唯一约束产生非聚簇索引,主键约束产生聚簇索引。

创建PRIMARYKEY约束或UNIQUE约束时,SQLServer创建索引了吗?与创建标准索引相比哪个更好?

答:创建PRIMARYKEY约束或UNIQUE约束时,SQLServer创建唯一性索引。与创建标准索引相比,通过创建PRIMARYKEY约束或UNIQUE约束来创建索引更好。

上机实验题8及操作过程

在上机实验题7的factory数据库上,使用T-SQL语句完成如下各题:

实施worker表的“性别”列默认值为“男”的约束。

实施salary表的“工资”列值限定在0~9999的约束。

实施depart表的“部门号”列值唯一的非聚集索引的约束。

为worker表建立外键“部门号”,参考表depart的“部门号”列。

建立一个规则sex:@性别=男OR@性别=女,将其绑定到worker表的“性别”列上。

删除(1)小题所建立的约束。

删除(2)小题所建立的约束。

删除(3)小题所建立的约束。

删除(4)小题所建立的约束。

解除(5)小题所建立的绑定并删除规则sex。

操作过程

对应的程序如下:

USEfactoryGO

ALTER

文档评论(0)

hao187 + 关注
官方认证
内容提供者

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

认证主体武汉豪锦宏商务信息咨询服务有限公司
IP属地上海
统一社会信用代码/组织机构代码
91420100MA4F3KHG8Q

1亿VIP精品文档

相关文档