数据库完整性-习题解答

合集下载

数据库原理及应用第八章课后习题答案

数据库原理及应用第八章课后习题答案

习题81、什么是数据库的安全性?数据库的安全性是指数据库的任何数据都不允许受到恶意的侵害或未经授权的存取或修改。

主要内涵包括三个方面:①保密性:不允许未经授权的用户存取数据。

②完整性:只允许被授权的用户修改数据。

③可用性:不应拒绝已授权的用户对数据进行存取。

2、什么是数据库的完整性?数据库的完整性是指数据库中数据的正确性和一致性。

数据库的完整性对数据库应用系统非常重要。

3、什么是数据库的完整性约束条件?为了保证数据库中的数据完整性,SQL Server设计了很多数据完整性约束:实体完整性、域完整性、参照完整性、用户定义完整性。

4、DBMS的完整性控制机制应具有哪些功能?1)数据库的完整性约束能够防止合法用户向数据库中添加不合语义的数据。

2)完整性控制机制易于理解,可以降低应用程序的复杂性,提高运行效率。

3)合理的数据完整性设计,能够兼顾数据库的完整性和系统的性能。

完善的数据库完整性,有助于尽早发现应用程序的错误。

5、DBMS在实现参照完整性时需要考虑哪些方面?强制参照完整性时,SQL Server将防止用户执行下列操作:1)在主表中没有关联的记录时,将记录添加或更改到相关表中。

2)更改主表中的值,导致相关表中生成孤立记录。

3)从主表中删除记录,但仍存在于该记录匹配的相关记录。

6、在关系系统中,当操作违反实体完整性、参照完整性和用户定义完整性约束条件时,一般是如何处理的?系统可以采用以下的策略加以处理:1)拒绝(NO ACTION)执行:不允许该操作执行,该策略一般为默认策略。

2)级联(CASCADE)操作:当删除或修改被参照表的一个元组造成了与参照表不一致,则删除或修改参照表中的所有造成不一致的元组。

3)设置为空值(SET-NULL):当删除或修改被参照表的一个元组造成了与参照表不一致,则将参照表中的所有造成不一致的元组的对应属性设置为空值。

7、数据库安全性和计算机系统的安全性有什么关系?计算机系统中,安全措施是一级一级层层设置。

数据库第4章数据库完整性练习题及答案

数据库第4章数据库完整性练习题及答案
数据库 第4章 数据库完整性练习题及答案
第4章数据库完整性练习题
1.完整性检查和控制的防范对象是( ),防止它们进入数据库。安全性控制的防范对象是( 来自,防止他们对数据库数据的存取。
A.不合语义的数据B.非法用户C.不正确的数据D.非法操作
2.找出下面SQL命令中的数据控制命令( )。
MITC.UPDATED.SELECT
题号
正确答案:
你的答案:
(1)
A C B D
(2)
A
(3)
C
(4)
A B C
3.下述SQL命令中,允许用户定义新关系时,引用其他关系的主码作为外码的是( )。
A.INSERTB.DELETEC.REFERENCESD. SELECT
4.下述SQL命令的短语中,定义属性上约束条件的是( )。
A.NOT NULL短语B.UNIQUE短语C.CHECK短语D.HAVING短语E.

数据完整性考试答案

数据完整性考试答案

数据完整性考试答案1. 什么是数据完整性?数据完整性是指在数据库中存储的数据的准确性和一致性。

它确保数据没有被意外或者恶意地修改、删除或者插入错误的数据。

数据完整性是数据库管理系统的一个重要特性,用于保护数据的可靠性和可信度。

2. 数据完整性的重要性数据完整性对于任何组织和企业来说都是至关重要的。

以下是数据完整性的几个重要原因:- 数据的准确性:数据完整性确保数据库中存储的数据是准确的,没有错误或者冲突的数据。

这对于做出正确的业务决策和分析至关重要。

- 数据的一致性:数据完整性确保数据库中的数据是一致的,即不同的数据项之间没有冲突或者矛盾。

这有助于避免数据不一致导致的业务错误。

- 数据的可靠性:数据完整性确保数据没有被意外或者恶意地篡改、删除或者插入错误的数据。

这有助于保护数据的可靠性和可信度。

- 数据的安全性:数据完整性也与数据的安全性密切相关。

通过确保数据的完整性,可以防止未经授权的访问和数据泄露。

3. 数据完整性的实现方法为了确保数据的完整性,可以采取以下几种方法:- 数据类型和约束:在数据库设计阶段,可以定义适当的数据类型和约束来限制数据的输入。

例如,可以定义字段为整数类型、字符类型或者日期类型,并设置最大长度、惟一性、非空等约束条件。

- 主键和外键:使用主键和外键可以确保数据在不同表之间的一致性和完整性。

主键用于惟一标识表中的每一行,而外键用于建立表之间的关系。

- 触发器和存储过程:通过编写触发器和存储过程,可以在数据插入、更新或者删除时执行特定的操作。

这些操作可以用于验证数据的完整性,并在必要时拒绝或者修复错误的数据。

- 数据库权限和访问控制:通过设置适当的数据库权限和访问控制,可以限制对数据库的访问和操作。

这有助于防止未经授权的人员对数据进行修改或者删除。

4. 数据完整性的检查方法为了确保数据的完整性,可以采取以下几种检查方法:- 数据验证:通过对数据进行验证,可以检查数据是否符合预期的格式和范围。

数据库实验6 数据完整性(答案)

数据库实验6 数据完整性(答案)

实验6 数据完整性学号:18103317专业:电子信息工程一、实验内容和步骤1.为studentsdb数据库创建一个规则,限制所输入的数据为7位0~9的数字。

(1)复制学生表命名为stu_phone,在stu_phone表中插入一列,列名为“电话号码”。

完成以下代码实现该操作。

SELECT * INTO stu_phone FROM 学生表ALTER TABLE stu_phone ADD CHAR(7)NULLstu_phone表结构如图1-10所示。

图1-10 stu_phone表结构(2)创建一个规则phone_rule,限制所输入的数据为7位0~9的数字。

Create rule phone_ruleAs @value like '[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]'(3)使用系统存储过程sp_hndrule将phone_rule规则绑定到stu_phone表的“电话号码”列上。

sp_bindrule phone_rule, 'stu_phone.电话号码'(4)插入操作输入以下数据:学号姓名电话号码0009 王国强1234yyy是否可以成果插入?如果出现错误,请列出错误信息,为什么会产生该出错信息?如果要实现插入操作,应修改INSERT INTO语句中的哪个值?phone_rule规则能否对其他操作(如DELETE)进行规则检查?消息213,级别16,状态1,第1 行插入错误: 列名或所提供值的数目与表定义不匹配。

2.创建一个规则stusex_rule,将其绑定到stu_phone表的“性别”列上,保证输入的性别值只能是“男”或“女”。

CREATE RULE stusex_ruleAS @性别in ('男','女')3.使用系统存储过程sp_help查询stusex_rule规则列表,使用sp_helptext 查询stusex_rule规则的文本,使用sp_rename将stusex_rule规则更名为stu_s_rule。

王珊《数据库系统概论》章节专项练习(数据库完整性)【圣才出品】

王珊《数据库系统概论》章节专项练习(数据库完整性)【圣才出品】

第5章数据库完整性一、选择题1.数据的完整性是指数据的正确性、有效性和()。

A.可维护性B.相容性C.可恢复性D.独立性【答案】B【解析】数据模型应该反映数据模型必须遵守的基本的通用的完整性约束条件。

完整性规则是给定的数据模型中数据及其联系具有的制约和依存规则,用以限定符合数据模型的数据库状态及状态的变化,以保证数据的正确、有效和相容。

2.有一个关系:职工(职工号,姓名,籍贯),规定职工号的值域是8个数字字符组成的字符串,这一规则属于()。

A.参照完整性B.用户定义的完整性C.实体完整性D.关键字完整性约束【答案】B【解析】用户定义的完整性是针对某一具体数据库的约束条件,它反映某一具体应用涉及的数据必须满足语义要求;而规定学号的值域是8个数字字符组成的字符串显然属于这一类型。

3.SQL Server的约束包括()。

A.DEFAULT、RULE、CHECK和UNIQUEB.CHECK、RULE、PRIMARY KEY和FOREIGN KEYC.UNIQUE、DEFAULT、RULE、PRIMARY KEY和FOREIGN KEYD.PRIMARY KEY和FOREIGN KEY【答案】C【解析】SQL Server的约束包括UNIQUE、DEFAULT、RULE、PRIMARY KEY和FOREIGN KEY等。

4.数据完整性保护中的约束条件主要是指()。

A.用户操作权限的约束B.用户口令校对C.值的约束和结构的约束D.并发控制的约束【答案】C【解析】完整性规则主要分为两大类,一类是域完整性规则,实际上就是值的约束;另一类是关系完整性规则,实际上就是结构的约束。

5.“年龄在15至30岁之间”这种约束属于DBMS的()功能。

A.恢复B.并发控制C.完整性D.安全性【答案】C【解析】“年龄在15至30岁之间”是完整性约束中值的约束。

6.在SQL Server中,可以通过数据库对象及各种约束来保证数据的完整性,以下都属于数据库对象的有()。

(2版)数据库实验14 数据完整性及答案-推荐下载

(2版)数据库实验14 数据完整性及答案-推荐下载

实验十四数据完整性实验一、实验目的及要求通过本实验目的是掌握保障数据完整性的各种措施及其使用方式,能根据现实需要为数据库中数据设置各种完整性约束,保障数据库的完整性和一致性。

●理解数据的完整性的概念及实施数据完整性的重要性。

●掌握约束的概念及实施方法。

●掌握规则的概念及实施方法。

●掌握默认值的概念及实施方法。

●掌握参照完整性的含义及其实施方法。

二、实验原理及背景知识(一)了解数据完整性概念数据完整性是指数据的精确性和可靠性,是应防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作的措施。

完整性分为:实体完整性、参照完整性和用户自定义完整性。

(二)SQL Server对完整性的保障措施1、主键:保障实体完整性。

2、外键:通过外键关系保障参照完整性。

3、自定义完整性(1)约束:对字段进行域进行限制的,主要有:UNIQUE、check约束、NOT NULL约束。

(2)规则对象:可以实现比约束复杂的约束,需要创建并绑定列使用。

(3)默认值对象:便于数据输入,需要创建并绑定使用。

4、触发器是数据库对象,可以用来保障数据库完整性,本实验不涉及,可参照实验十一。

(三)数据库关系图用来体现数据库中各种表之间关系的对象,也用来设置并体现所有的参照完整性。

三、实验内容及步骤(一)实体完整性设置SQL Server 2005中实体完整性通过设置主键来实现。

具体设置方法参照实验二中内容。

主键默认建立聚簇索引,关于主键索引问题参照实验七中的相关内容。

(二)SQL Server参照完整性设置1、定位需要建立外键关系的外键所在表,然后进入表设计界面。

在需要建立外键关系的字段上点击右键,选择“关系”,即可进入外键关系编辑器。

点击“添加”即可添加一个外键关系,然后进行相应属性设置即可,如实验图14-1所示。

第二篇实验内容及安排实验图14-1 创建外键界面实验图14-2 设置主外键关系2、在外键关系编辑窗口的右侧属性中,主要设置“标识”中的“名称”和“表和列规范”中信息。

数据完整性考试答案

数据完整性考试答案数据完整性是指数据的准确性和完备性,即数据在存储、传输、处理和使用过程中的完整性。

在进行数据管理和数据分析时,保证数据的完整性非常重要,因为数据的不完整性会导致信息的错误和误导。

为了提高数据完整性,我们可以采取一系列的措施,包括数据验证、数据备份、数据恢复等。

1. 数据验证数据验证是一种常用的保证数据完整性的方法,通过对数据进行验证,可以确保数据的准确性和完整性。

数据验证可以分为两个层面:输入层面和输出层面。

在输入层面,我们可以采用以下方法进行数据验证:- 数据格式验证:检查数据的格式是否符合规定,例如日期格式、邮件地址格式等。

- 数据范围验证:检查数据是否在规定的范围内,例如年龄是否在合理范围内。

- 数据逻辑验证:检查数据之间的逻辑关系是否正确,例如开始时间是否早于结束时间。

在输出层面,我们可以采用以下方法进行数据验证:- 数据一致性验证:检查数据在不同系统或模块之间的一致性,例如订单数量和库存数量是否一致。

- 数据完整性验证:检查数据是否完整,例如必填字段是否为空。

2. 数据备份和恢复数据备份是一种常用的保证数据完整性的方法,通过定期备份数据,可以防止数据丢失或损坏。

数据备份可以采用不同的方式,例如本地备份、远程备份、云备份等。

同时,为了确保数据的完整性,我们还需要进行定期的数据恢复测试,以验证备份数据的可用性和完整性。

3. 数据审计数据审计是一种监控和检查数据完整性的方法,通过记录和分析数据的变化和访问情况,可以及时发现数据完整性的问题。

数据审计可以包括以下内容:- 数据变更记录:记录数据的变更情况,包括谁在什么时间修改了数据。

- 数据访问记录:记录谁在什么时间访问了数据,以及访问的目的和权限。

- 异常事件记录:记录异常事件的发生情况,例如数据丢失、数据篡改等。

4. 数据安全措施数据安全是保证数据完整性的重要保障,通过采取一系列的数据安全措施,可以防止数据的丢失、篡改和泄露。

(完整版)5数据完整性课后习题

习题一、选择题1.一个表上可以建立多个名称不同、类型各异的触发器,每个触发器可以由三个动作来引发,但是每个触发器最多只能作用于()个表上。

A.一B.二C.三D.四2.激活触发器的数据修改语句,有效选项是()。

A.INSERTB.UPDATEC.DELETED.SELECT3.创建触发器不需要指定的选项有()。

A.触发器的名称B.在其上定义触发器的表C.触发器将何时触发D.执行触发操作的编程语句4.当希望执行对Book表的操作时,如果该操作不执行,而是执行对PRICE 表的更新操作,则应该创建什么类型的DML 触发器()。

A.FORB.BEFOREC.AFTERD.INSTEAD OF5.在DML触发器工作中,有可能生成的两个内存表是()。

A.INSERTED, DELETEDB.UPDATED, INSERTEDC.DELETED,ADDEDD.ADDED, DELETED6.关于触发器叙述正确的是()。

A.触发器是自动执行的,可以在一定条件下触发B.触发器不可以同步数据库的相关表进行级联更改C.SQL Server 2008不支持DDL触发器D.触发器不属于存储过程7.关于约束叙述正确的是()。

A.每个约束只能作用与一个列上B.每个约束可以作用多个列,但是必须在一个表里C.每个约束可以作用到多个表的多个列D.以上都不对8.用户定义的约束,是属于()完整性。

A.用户自定义B.实体C.参照D.都不是9.下述SQL命令的短语中,定义属性上约束条件的是()。

A.NOT NULL短语B.UNIQUE短语C.CHECK短语D.HA VING短语10.下列()是对触发器的描述A.定义了一个有相关列和行的集合B.当用户修改数据时,一种特殊形式的存储过程被自动执行C.SQL语句的预编译集合D.它根据一或多列的值,提供对数据库表的行的快速访问二、填空题1.数据库的实体完整性要求表中所有行唯一,可通过建主码、唯一约束、唯一索引、IDENTITY标识等约束来实现。

数据库原理与应用(清华大学版)课后答案第13章 数据库完整性

数据库完整性练习题13及参考答案1.什么是数据完整性如果数据库不实施数据完整性会产生什么结果答:数据完整性是指数据的正确性、完备性和一致性,是衡量数据库质量好坏的重要标准。

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

2.数据完整性有哪几类如何实施它们分别在什么级别上实施答:数据完整性分为以下3类:(1)域完整性:是指一个列的输入有效性,是否允许为空值。

强制域完整性的方法有:限制类型(通过设定列的数据类型)、格式(通过CHECK 约束和规则)或可能值的范围(通过FOREIGN KEY 约束、CHECK 约束、DEFAULT 定义、NOT NULL 定义和规则)。

如:学生的考试成绩必须在0~100之间,性别只能是“男”或“女”。

(2)实体完整性:是指保证表中所有的行唯一。

实体完整性要求表中的所有行都有一个唯一标识符。

这个唯一标识符可能是一列,也可能是几列的组合,称之为主键。

也就是说,表中的主键在所有行上必须取唯一值。

强制实体完整性的方法有:索引、UNIQUE 约束、PRIMARY KEY 约束或IDENTITY 属性。

如:student 表中sno (学号)的取值必须唯一,它第 章 13唯一标识了相应记录所代表的学生,学号重复是非法的。

学生的姓名不能作为主键,因为完全可能存在两个学生同名同姓的情况。

(3)参照完整性:是指保证主关键字(被引用表)和外部关键字(引用表)之的参照关系。

它涉及两个或两个以上表数据的一致性维护。

外键值将引用表中包含此外键的记录和被引用表中主键和外键相匹配的记录关联起来。

数据完整性考试答案

数据完整性考试答案数据完整性是指数据在存储、传输和处理过程中的完整性和准确性。

它是保证数据质量的重要方面,对于确保数据的可靠性和可信度至关重要。

在数据管理和信息系统中,数据完整性考试是评估个人或组织对数据完整性的理解和掌握程度的一种方式。

下面是对数据完整性考试的详细解答。

1. 什么是数据完整性?数据完整性是指数据在存储、传输和处理过程中保持准确、完整和一致的状态。

它确保数据的完整性和可靠性,以及数据与现实世界的一致性。

数据完整性包括以下几个方面:- 实体完整性:确保每个实体都有唯一的标识符,以及所有必需的属性都有值。

- 域完整性:确保数据在指定的范围内,且满足特定的约束条件。

- 参照完整性:确保数据之间的关系和引用是有效的,不会出现不一致或无效的引用。

- 用户定义的完整性:根据用户定义的规则和约束条件,确保数据的完整性。

2. 数据完整性的重要性是什么?数据完整性对于保证数据的可靠性和可信度至关重要。

以下是数据完整性的几个重要性方面:- 可靠性:数据完整性确保数据的准确性和完整性,使用户能够信任数据的质量和可靠性。

- 决策支持:准确和完整的数据对于做出正确的决策至关重要。

数据完整性确保数据的准确性,从而提供准确的决策支持。

- 合规性:对于一些行业和组织来说,数据完整性是合规性的一部分。

例如,金融机构需要确保数据的完整性以符合监管要求。

- 业务连续性:数据完整性确保数据的一致性和连续性,保证业务的正常运行和持续发展。

3. 如何确保数据的完整性?确保数据的完整性需要采取一系列的措施和策略。

以下是几种常见的确保数据完整性的方法:- 数据约束:使用数据库管理系统中的数据约束来限制数据的取值范围和满足特定的约束条件。

例如,主键约束、唯一约束、外键约束等。

- 输入验证:对于用户输入的数据进行验证,确保数据的格式和内容符合预期。

可以使用正则表达式、数据格式验证等方法。

- 完整性检查:定期进行数据完整性检查和校验,发现并修复数据中的错误和不一致性。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第十章数据库完整性
习题解答和解析
1.什么是数据库的完整性
答:数据库的完整性是指数据的正确性和相容性。

2.数据库的完整性概念与数据库的安全性概念有什么区别和联系
答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garbage Out)所造成的无效操作和错误结果。

后者是保护数据库防止恶意的破坏和非法的存取。

也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。

3.什么是数据库的完整性约束条件可分为哪几类
答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。

一般可以分为六类:静态列级约束、静态元组约束、静态关系约束、动态列级约束、动态元组约束、动态关系约束。

静态列级约束是对一个列的取值域的说明,包括以下几个方面:
(1)对数据类型的约束,包括数据的类型、长度、单位可精度等;
(2)对数据格式的约束;
(3)对取值范围或取值集合的约束;
(4)对空值的约束;
(5)其他约束。

静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

静态关系约束是在一个关系的各个元组之间或者若干关系之间常常存在各种联系或约束。

常见的静态关系约束有:
(1)实体完整性约束;
(2)参照完整性约束;
(3)函数依赖约束。

动态列级约束是修改列定义或列值时应满足的约束条件,包括下面两方面:(1)修改列定义时的约束;
(2)修改列值时的约束。

动态元组约束是指修改某个元组的值时需要参照其旧值,并且新旧值之间需要满足某种约束条件。

动态关系约束是加在关系变化前后状态上的限制条件,例如事务一致性、原子性等约束条件。

详细内容可以参见《概论》中的介绍。

的完整性控制机制应具有哪些功能
答:DBMS的完整性控制机制应具有三个方面的功能:
(1)定义功能,即提供定义完整性约束条件的机制;
(2)检查功能,即检查用户发出的操作请求是否违背了完整性约束条件;
(3)违约反应,如果发现用户的操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。

在实现参照完整性时需要考虑哪些方面
答:RDBMS在实现参照完整性时需要考虑以下几个方面:
(1)外码是否可以接受空值。

(2)删除被参照关系的元组时的考虑,这时系统可能采取的作法有三种:
1)级联删除(CASCADES)
2)受限删除(RESTRICTED);
3)置空值删除(NULLIFIES)。

(3)在参照关系中插入元组时的问题,这时系统可能采取的作法有:
1)受限插入;
2)递归插入。

(4)修改关系中主码的问题。

一般是不能用UPDATE语句修改关系主码的。

如果需要修改主码值,只能先删除该元组,然后再把具有新主码值的元组插入到关系中。

如果允许修改主码,首先要保证主码的惟一性和非空,否则拒绝修改。

然后要区分是参照关系还是被参照关系。

详细讨论可以参见《概论》。

6.假设有下面两个关系模式:
职工(职工号,姓名,年龄,职务,工资,部门号),其中职工号为主码;
部门(部门号,名称,经理名,电话),其中部门号为主码。

用SQL语言定义这两个关系模式,要求在模式中完成以下完整性约束条件的定义:
定义每个模式的主码;定义参照完整性;定义职工年龄不得超过60岁。

答:CREATE TABLE DEPT
(Deptno NUMBER(2),
Deptname VARCHAR(10),
Manager VARCHAR(10),
phoneNumber Char(12)
CONSTRAINT PK_SC PRIMARY KEY (Deptno));
CREATE TABIE EMP
(Empno NUMBER(4),
Ename VARCHAR(10),
Age NUMBER(2),
CONSTRAINT Cl CHECK (Age<=60),
Job VARCHAR(9),
Sal NUMBER(7,2),
Deptno NUMBER(2),
CONSTRAINT FK_DEPINO
FOREIGN KEY (Deptno)
REFERENCES DEPT(Deptno));
7.关系系统中,当操作违反实体完整性、参照完整性和用户定义的完整性约束条件时,一般是如何分别进行处理的
答:对于违反实体完整性和用户定义的完整性的操作一般都采用拒绝执行的方式进行处理。

而对于违反参照完整性的操作,并不都是简单地拒绝执行,有时要根据应用语义执行一些附加的操作,以保证数据库的正确性。

具体的处理可以参见上面第 5 题或《概论》中相应部分。

*8.试述你了解的某一个实际的DBMS产品的完整性控制策略。

答:不同的DBMS产品以及同一产品的不同版本的完整性控制策略各不相同,读者要去了解某一个具体的DBMS产品的完整性控制策略。

《概论》简单介绍了有关Oracle数据库的完整性控制策略。

相关文档
最新文档