数据库完整性-习题解答

合集下载

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

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

习题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数据完整性课后习题

(完整版)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章 数据库完整性

数据库完整性练习题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. 数据验证数据验证是确保数据完整性的一种基本方法。

通过数据验证,可以检查数据是否符合预定规则和约束条件。

常见的数据验证方法包括输入验证、格式验证、范围验证等。

例如,对于一个电话号码字段,可以验证输入是否为有效的电话号码格式,以确保数据的准确性。

2. 数据备份和恢复数据备份和恢复是保证数据完整性的重要手段。

通过定期备份数据,并在需要时进行恢复,可以防止数据丢失和损坏。

备份数据应存储在安全的位置,并定期测试备份数据的可用性和完整性。

3. 访问控制访问控制是确保数据完整性的另一种重要方法。

通过限制对数据的访问权限,可以防止未经授权的人员对数据进行修改或删除。

访问控制可以通过用户身份验证、角色权限管理等方式实现。

4. 数据加密数据加密是一种保护数据完整性的有效手段。

通过对数据进行加密,可以防止未经授权的人员篡改数据内容。

数据加密可以使用对称加密算法或非对称加密算法来实现。

三、常见问题解决方案1. 数据冗余数据冗余是指在不同的地方存储相同的数据,可能导致数据不一致的问题。

为了解决数据冗余问题,可以使用数据库范式化设计方法来规范数据存储结构,避免数据冗余。

2. 数据传输错误数据在传输过程中可能会发生错误,导致数据的完整性受到破坏。

数据库规范化与数据完整性考试试卷

数据库规范化与数据完整性考试试卷

数据库规范化与数据完整性考试试卷(答案见尾页)一、选择题1. 数据库规范化的主要目的是什么?A. 提高查询效率B. 确保数据的冗余度最低C. 增加数据库的存储成本D. 降低数据不一致性2. 在关系数据库中,哪种范式用于消除非主属性对主键的部分依赖?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF3. 要确保数据库中的数据完整性,通常需要实施哪些约束?A. 主键约束B. 外键约束C. 唯一性约束D. 非空约束4. 什么是数据库的外键?它的主要作用是什么?A. 作为主键的一部分,确保唯一性B. 建立表与表之间的联系,确保引用完整性C. 唯一标识表中的每一行D. 限制某个字段的值必须是已存在的值5. 如果一个数据库表中的所有字段都是主键,这种情况可能出现在哪种范式中?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF6. 在数据库设计中,什么是反规范化?它有什么作用?A. 通过增加冗余数据来提高查询性能B. 通过减少数据冗余来优化存储空间C. 通过合并多个表来简化数据库结构D. 通过改变数据模型来提高查询效率7. 规范化过程中,如何处理函数依赖?A. 首先确定候选键,然后分析函数依赖B. 首先分析函数依赖,然后确定候选键C. 同时确定候选键和函数依赖D. 没有固定的顺序8. 什么是数据库的级联操作?它有哪些类型?A. 级联删除:当删除一个元组时,同时删除与该元组相关联的所有元组B. 级联更新:当更新一个元组的某个字段时,同时更新所有依赖于该字段的元组的相应字段C. 级联插入:当插入一个新元组时,同时插入所有依赖于该元组的已有元组D. 级联选择:当选择满足某个条件的元组时,同时选择所有依赖于这些元组的元组9. 如何使用SQL语句来实现数据库的规范化操作?A. 使用ALTER TABLE语句添加新的主键和外键约束B. 使用CREATE INDEX语句创建索引以提高查询效率C. 使用CASCADE选项在关系代数中实现级联操作D. 使用GROUP BY语句对数据进行分组和聚合10. 在关系数据库中,哪种范式是用来消除部分函数依赖的?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF11. 规范化过程中,如果出现多值依赖,则需要进行哪种操作?A. 消除多值依赖B. 减少连接操作C. 转换为第一范式D. 增加冗余字段12. 数据完整性是指什么?A. 数据的正确性B. 数据的可验证性C. 数据的约束性D. 数据的一致性13. 在数据库设计中,通常遵循哪种原则来确保数据完整性?A. 实体-关系模型(ER模型)B. 数据字典C. 数据库规范化D. 数据库约束14. 以下哪个选项是用来确保数据一致性的数据库约束?A. 主键约束B. 外键约束C. 唯一约束D. 非空约束15. 在数据库中,什么是触发器?A. 一种数据库对象,用于在特定事件发生时自动执行一系列操作B. 一种数据库对象,用于在查询结果集中显示额外的列或行C. 一种数据库对象,用于在插入、更新或删除数据时自动执行一系列操作D. 一种数据库对象,用于在多个表之间建立关系16. 在关系数据库中,哪一项不是第一范式(NF)的要求?A. 每个属性都是原子的B. 每个属性都有唯一的名称C. 表必须有一个主键D. 可以有完全相同的元组17. 如果一个数据库表中的某个字段值可以唯一地标识表中的每一行,那么这个字段被称为:A. 主键B. 外键C. 候选键D. 组合键18. 在数据库设计中,哪种范式(范式)可以消除部分函数依赖?A. 第一范式(1NF)B. 第二范式(2NF)C. 第三范式(3NF)D. BCNF19. 规范化过程中,通常首先对数据库进行哪种操作?A. 模式分解B. 约束优化C. 消除重复数据D. 检查约束20. 在数据库中,什么是主键?A. 用于唯一标识表中每一行的字段或字段组合B. 用于定义关系的属性集合C. 用于限制两个表之间的联接条件的字段D. 用于存储默认值的字段21. 什么是外键?A. 用于在两个表之间建立联系的字段B. 用于唯一标识表中每一行的字段C. 用于定义关系的属性集合D. 用于存储计算值的字段22. 什么是BCNF?A. 第三范式,要求所有决定因素都是候选键B. 第四范式,要求所有连接依赖都是平凡的C. 第五范式,要求所有属性都不传递依赖于主键D. BCNF是一个错误的范式概念23. 在数据库设计中,什么是候选键?A. 用于唯一标识表中每一行的字段或字段组合B. 用于定义关系的属性集合C. 用于限制两个表之间的联接条件的字段D. 用于存储默认值的字段24. 什么是全序关系?A. 不存在任何冲突的有序关系B. 任意两个元组都能进行排序的关系C. 不存在任何非平凡函数依赖的关系D. 任意两个元组都能通过关系代数运算相互转换的关系25. 什么是函数依赖?它在数据库设计中的作用是什么?A. 函数依赖是数据库中表与表之间的依赖关系B. 函数依赖用于确保数据的完整性和一致性C. 函数依赖描述了数据的逻辑关系D. 函数依赖不涉及任何特定的数据库实现技术26. 范围子句在数据库查询中的作用是什么?A. 用于限制查询结果的范围B. 用于指定查询条件C. 用于连接不同的表D. 用于修改数据27. 什么是主键?为什么每个表都应该有一个主键?A. 主键是表中用于唯一标识每一行的字段B. 主键是表中用于排序的字段C. 主键是表中用于计算字段值的字段D. 主键是表中用于存储NULL值的字段28. 外键的作用是什么?A. 确保引用完整性B. 增加数据冗余度C. 减少查询效率D. 用于数据加密29. 什么是事务?为什么它被认为是数据库操作的基本单位?A. 事务是一系列按顺序执行的数据库操作B. 事务是一个不能分割的操作序列C. 事务是一组固定的数据库操作D. 事务是一种数据备份机制30. 什么是封锁?为什么封锁协议可以防止冲突?A. 封锁是数据库中用于控制多个并发事务访问同一资源的技术B. 封锁通过强制事务按照特定的顺序访问资源来避免冲突C. 封锁是一种数据加密技术D. 封锁是一种数据压缩技术31. 什么是级联操作?如何使用它来维护数据完整性?A. 级联操作是在某个约束条件被违反时自动执行的操作B. 级联操作可以通过在表上定义外键来维护数据完整性C. 级联操作是一种数据转换技术D. 级联操作是一种数据备份策略32. 什么是死锁?如何避免死锁?A. 死锁是指两个或多个事务互相等待对方释放资源的情况B. 避免死锁的方法包括按照固定顺序访问资源、使用锁超时和死锁检测机制等C. 死锁是一种数据同步问题D. 死锁是一种数据压缩技术33. 在数据库设计中,什么是主键?它需要满足什么条件?A. 主键是唯一的,可以为空B. 主键是唯一的,不能为空C. 主键是唯一的,可以有重复值D. 主键可以有多个,可以为空34. 参照完整性约束的目的是什么?A. 避免数据不一致B. 增加数据冗余度C. 减少数据查询时间D. 用于数据去重35. 数据库范式中的第二范式(NF)要求表中的每个非主键列都完全依赖于哪个部分?A. 主键B. 其他非主键列C. 主键或其他非主键列D. 自身36. 在数据库设计中,什么是反规范化?它的目的是什么?A. 通过增加冗余数据来提高查询性能B. 通过减少冗余数据来提高查询性能C. 通过增加冗余数据来提高存储性能D. 通过减少冗余数据来提高存储性能37. 数据库中的三级模式结构包括哪些层次?A. 外模式B. 模式C. 内模式D. 逻辑模式38. 什么是数据库的事务?它有哪些特性?A. 原子性:事务中的操作要么全部成功,要么全部失败B. 一致性:事务必须使数据库从一个一致性状态变换到另一个一致性状态C. 隔离性:并发执行的事务之间不会互相干扰D. 持久性:一旦事务提交,则其结果就是永久的,即使系统崩溃也不会丢失39. 什么是数据库的封锁?它有什么作用?A. 用于实现数据的安全性B. 用于实现数据的完整性C. 用于实现数据的并发控制D. 用于实现数据的恢复二、问答题1. 什么是数据库规范化?为什么需要数据库规范化?2. 什么是第一范式(NF)?请举例说明不符合NF的情况。

数据库完整性练习题

数据库完整性练习题

数据库完整性一、选择题1.完整性检查和控制的防范对象(),防止它们进入数据库。

安全性控制的防范对象是(),防止他们对数据库数据的存取。

A. 不合语义的数据B. 非法用户C. 不正确的数据D. 非法操作2.下述哪个是SQL语言中的数据控制命令()。

A. GRANTB. COMMITC. UPDATED. SELECT3.下述SQL语言中的权限,哪一个允许用户定义新关系时,引用其他关系的主码作为外码()。

A. INSERTB. DELETEC. REFERENCESD. SELECT选择题答案:(1)A C B D(2)A(3)C二、简答题1.什么是数据库的完整性?答:数据库的完整性是指数据的正确性和相容性。

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

前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(G a r b a g e I n G a r b a g e O u t)所造成的无效操作和错误结果。

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

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

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

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

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

4.对空值的约束5.其他约束静态元组约束就是规定组成一个元组的各个列之间的约束关系,静态元组约束只局限在单个元组上。

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

数据库的完整性约束-包含答案

数据库的完整性约束-包含答案

数据库的完整性约束-包含答案实验八:数据库的完整性约束一、实验目的1.掌握主键约束、外键约束及及check约束的用法;2.掌握默认值约束的应用。

二、实验环境已安装SQL Server 2008 企业版的计算机;具有局域网环境,有固定IP;三、实验学时2学时四、实验要求1.熟悉数据库完整性相关概念及约束;2.了解约束、默认值;3.完成实验报告;五、实验准备知识1、创建primary key约束(1)在创建数据表时创建primary key约束CREATE TABLE table_name(column_name data_type [PRIMARY KEY | unique | NOT NULL] [, column_name data_type [PRIMARY KEY | unique | NOT NULL]...[PRIMARY KEY(column [,...n])])(2)在修改表时同时创建primary key约束ALTER TABLE table_nameADD primary key(column [,...n])2、创建Foreign key约束(1)创建表时同时定义Foreign key约束CREATE TABLE table_name(column_name data_type [FOREIGN KEY] REFERNCES ref_table(ref_column)[, column_name data_type [FOREIGN KEY] REFERNCES ref_table(ref_column)...[FOREIGN KEY] (column) REFERNCES ref_table(ref_column) )(2)通过修改表定义Foreign key约束ALTER TABLE table_nameADD [FOREIGN KEY] (column)REFERNCES ref_table(ref_column )3、创建check约束(1)创建数据表时创建check约束CREATE TABLE table_name(column_name data_type [NOT NULL | CHECK (logical_expression)] ...CHECK (logical_expression)])(2)在修改数据表时添加check约束ALTER TABLE table_nameADD CHECK (logical_expression)4、创建default约束(1)创建数据表时创建default约束Create table table_name( column_name datatype [not null | DEFAULT (constraint_expression)] …)(2)修改数据表时添加一个字段的同时创建default约束Alter table table_nameADD column_name datatype [not null |DEFAULT (constraint_expression)] with values(3)对表中指定的列定义默认值约束Alter table table_nameADD [ DEFAULT (constraint_expression)] For column5、完整性约束命名子句CONSTRAINT <完整性约束条件名>[PRIMARY KEY 短语︱FOREIGN KEY 短语︱CHECK 短语]6、删除primary key约束或unique约束ALTER TABLE table_nameDROP CONSTRAINT constraint_name [, ...n]六、实验内容及步骤使用T-SQL语句实现以下操作;1.请用至少2种方法定义stu数据库中student表的主键sno;方法1:CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20),Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20))方法2:CREATE TABLE Student(Sno CHAR(9),Sname CHAR(20),Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno))2.将数据库stu的表course的cno字段定义为主键,约束名称为cno_pk;Alter table courseAdd constraint cno_pk primary key (cno)3.为表course中的字段cname添加唯一值约束;Alter table courseAdd constraint cname_pk unique (cname)4.将数据库stu的表sc的sno及cno字段组合定义为主键,约束名称为sc_pk;Alter table scAdd constraint sc_pk primary key (sno,cno)5.对于数据表sc的sno、cno字段定义为外码,使之与表student 的主码sno及表course的主码cno对应,实现如下参照完整性:1)删除student表中记录的同时删除sc表中与该记录sno字段值相同的记录;2)修改student表某记录的sno时,若sc表中与该字段值对应的有若干条记录,则拒绝修改;3)修改course表cno字段值时,该字段在sc表中的对应值也应修改;4)删除course表一条记录时,若该字段在在sc表中存在,则删除该字段对应的记录;Use stuCreate table student(Sno CHAR(9),Sname CHAR(20),Ssex CHAR(2),Sage SMALLINT,Sdept CHAR(20),PRIMARY KEY(Sno))Create table course(cno char(4),cname char(40),cpno char(4),ccedit smallint,foreign key (cpno) references course(cno),primary key (cno))Create table sc(sno char(9),cno char(4),Grade smallint,foreign key (sno) references student(sno)on delete cascade on update no action,foreign key (cno) references course (cno)on delete cascade on update cascade)6.定义check约束,要求学生学号sno必须为9位数字字符,且不能以0开头,第二三位皆为0;Alter table studentAdd CONSTRAINT sno_ckCheck (sno like ‘[1-9]00 [0-9] [0-9] [0-9] [0-9] [0-9] [0-9]’)7.定义stu数据库中student表中学生年龄值在16-25范围内;CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20),Ssex CHAR(2),Sage SMALLINT Check (sage>=16 and sage<=25),Sdept CHAR(20))8.定义stu数据库中student表中学生性别列中只能输入“男”或“女”;CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20),Ssex CHAR(2) Check(Ssex in (‘男’,’女’)),Sage SMALLINT,Sdept CHAR(20))9.定义stu数据库student表中学生年龄值默认值为20;CREATE TABLE Student(Sno CHAR(9) PRIMARY KEY,Sname CHAR(20),Ssex CHAR(2),Sage SMALLINT Default 20,Sdept CHAR(20))七、出现问题及解决办法如:某些操作无法执行,如何解决?。

数据完整性考试答案

数据完整性考试答案

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

准确性是指数据的正确性和可信度,一致性是指数据在不同的应用系统中的一致性,完整性是指数据不缺失、不重复、不冗余。

二、数据完整性的重要性1. 数据决策的准确性:数据完整性保证了决策依据的准确性,使得管理者能够基于可信的数据做出正确的决策。

2. 业务流程的稳定性:数据完整性确保了业务流程的稳定性,避免了数据缺失、重复和冗余等问题带来的业务错误和混乱。

3. 数据安全性的保障:数据完整性是数据安全性的基础,通过保证数据的完整性,可以防止数据被篡改、损坏或丢失。

4. 用户满意度的提升:数据完整性保证了用户获取到的数据是准确、完整的,提升了用户对系统的信任度和满意度。

三、数据完整性保障措施1. 数据输入验证:通过对数据输入进行验证,确保数据的格式、范围和合法性等方面的正确性。

例如,对于数字型数据,可以进行范围检查和格式验证;对于文本型数据,可以进行长度检查和字符验证。

2. 数据库约束:通过在数据库中设置各种约束条件,限制数据的输入和更新,保证数据的一致性和完整性。

例如,可以设置主键约束、唯一约束、外键约束等。

3. 数据备份与恢复:定期进行数据备份,以防止数据丢失或损坏。

同时,建立完善的数据恢复机制,能够及时恢复数据,确保数据的完整性。

4. 访问控制与权限管理:通过访问控制和权限管理,限制用户对数据的访问和操作权限,防止非法修改或删除数据,保证数据的完整性。

5. 数据日志记录与审计:记录数据的修改、删除和访问等操作,通过审计功能对数据的变动进行监控和追踪,及时发现异常操作,保障数据的完整性。

6. 数据清洗和去重:对数据进行清洗和去重操作,消除数据中的冗余和重复,确保数据的完整性和一致性。

7. 数据完整性检查:定期进行数据完整性检查,对数据进行一致性和完整性的验证,及时发现和修复数据异常,保证数据的完整性。

数据完整性考试答案

数据完整性考试答案

数据完整性考试答案1. 什么是数据完整性?数据完整性是指数据的准确性、一致性和可靠性,确保数据在存储、传输和处理过程中不发生意外的损坏、丢失或者篡改。

数据完整性是数据库管理系统中非常重要的一个概念,它保证了数据的可信度和可用性。

2. 数据完整性的重要性数据完整性对于任何组织或者企业来说都非常重要。

以下是数据完整性的几个重要方面:- 数据的准确性:数据完整性确保数据的准确性,即数据与实际情况相符。

准确的数据对于企业的决策制定和业务运营至关重要。

- 数据的一致性:数据完整性还确保数据的一致性,即数据在不同的系统和应用程序中保持一致。

一致的数据可以避免冲突和混乱,提高工作效率。

- 数据的可靠性:数据完整性保证数据的可靠性,即数据能够在需要时被正确地访问和使用。

可靠的数据可以避免信息丢失和系统崩溃等问题。

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

完整的数据可以防止数据被未经授权的访问、篡改或者破坏。

3. 数据完整性的保证方法为了确保数据的完整性,以下是一些常见的数据完整性保证方法:- 数据验证规则:通过定义数据验证规则,可以限制数据的输入范围和格式。

例如,可以定义一个规则,要求用户输入的电话号码必须符合特定的格式,以确保数据的准确性。

- 主键和外键约束:在关系型数据库中,可以使用主键和外键约束来保证数据的一致性和完整性。

主键用于惟一标识一条记录,外键用于建立表之间的关系,确保数据的一致性。

- 数据备份和恢复:定期进行数据备份,并建立有效的数据恢复机制,可以保证数据在发生意外情况时的完整性和可靠性。

- 访问控制:通过设置适当的访问权限和权限控制机制,可以防止未经授权的访问和篡改数据。

- 数据审计:定期进行数据审计,检查数据的完整性和一致性。

通过数据审计可以发现潜在的数据完整性问题,并及时采取措施解决。

4. 数据完整性考试答案示例以下是一个数据完整性考试答案的示例,供参考:题目一:请解释什么是数据完整性?答案:数据完整性是指数据的准确性、一致性和可靠性。

数据完整性考试答案

数据完整性考试答案

数据完整性考试答案一、数据完整性的定义和重要性数据完整性是指数据的准确性、一致性、完备性和有效性。

在数据管理中,保持数据的完整性至关重要,因为它确保了数据的可靠性和可信度。

数据完整性的重要性体现在以下几个方面:1. 数据准确性:数据完整性确保数据的准确性,即数据与实际情况相符。

准确的数据可以匡助组织做出正确的决策,避免错误和误导。

2. 数据一致性:数据完整性确保数据的一致性,即数据在不同的系统和应用程序之间保持一致。

一致的数据可以避免冲突和混淆,提高数据的可操作性和可用性。

3. 数据完备性:数据完整性确保数据的完备性,即数据包含了所有必要的信息。

完备的数据可以提供全面的视角,匡助组织做出全面的决策。

4. 数据有效性:数据完整性确保数据的有效性,即数据符合预定的规则和标准。

有效的数据可以提高数据的可用性和可解释性,匡助组织更好地理解和利用数据。

二、数据完整性的保障措施为了确保数据的完整性,组织可以采取以下几个方面的措施:1. 数据验证规则:通过制定数据验证规则,可以检查数据的准确性和一致性。

例如,可以设置数据字段的数据类型、长度和格式,以及数据之间的关联和依赖关系,确保数据符合预定的规则。

2. 数据输入控制:通过对数据输入过程进行控制,可以防止错误和不完整数据的录入。

例如,可以使用数据输入界面进行数据验证和格式化,限制用户输入的范围和类型,减少数据错误的可能性。

3. 数据备份和恢复:定期对数据进行备份,并建立可靠的数据恢复机制,可以防止数据丢失和损坏。

备份和恢复可以保证数据的完整性,即使发生意外情况也可以恢复数据。

4. 数据访问控制:通过制定访问权限和权限管理机制,可以控制数据的访问和修改。

惟独经过授权的用户才干访问和修改数据,防止未经授权的操作对数据完整性造成影响。

5. 数据审计和监控:通过对数据操作进行审计和监控,可以及时发现和纠正数据完整性问题。

例如,可以记录数据修改的时间、地点和操作人员,以及对数据修改进行审查和验证。

数据库原理与应用系列第八章习题(含答案)

数据库原理与应用系列第八章习题(含答案)

第八章习题(答案)班级:学号: 姓名:1.填空题(1)SQL Server 有两种安全认证模式,即___WINDOWS_______________安全认证模式和______混合______安全认证模式。

(2)SQL SERVER安装好以后,只有2个已经创建的用户:___SA_______和BULTIN/administrators,它们都是超级用户,对数据库拥有一切权限。

(3)数据库的完整性是指数据的___正确性___和___相容性____。

(4)按数据库状态,数据转储分为动态转储和静态转储。

(5)按数据转储方式,数据转储分为海量转储和增量转储。

2.单选题(1)日志文件用于记录( D )。

A、程序运行过程B、数据操作C、程序运行结果D、对数据的更新操作(2)SQL的COMMIT语句的主要作用是( C )。

A、终止程序B、中断程序C、事务提交D、事务回退(3)SQL的ROLLBACK语句的主要作用是( D )。

A、终止程序B、中断程序C、事务提交D、事务回退(4)在数据库系统中,对存取权限的定义称为(B)。

A、命令B、授权C、定义D、审计(5)设有两个事务T1,T2,其并发操作如下表所示,下面评价正确的是(C )。

A、该操作不存在问题B、该操作丢失修改C、该操作不能重复读D、该操作读“脏”数据(6)设有两个事务T1,T2,其并发操作如下表所示,下面评价正确的是(B )。

A、该操作不存在问题B、该操作丢失修改C、该操作不能重复读D、该操作读“脏”数据(7)A、该操作不存在问题B、该操作丢失修改C、该操作不能重复读D、该操作读“脏”数据(8)若事务T对数据对象A加上S锁,则( C )A、事务T可以读A和修改A,其他事务只能再对A加S锁,而不能加X锁B、事务T可以读A但不能修改A,其他事务能对A加S锁和X锁C、事务T可以读A但不能修改A,其他事务只能再对A加S锁,而不能加X锁D、事务T可以读A和修改A,其他事务能对A加S锁和X锁(9)若事务T对数据对象A加上X锁,则( C )A、事务T可以读A和修改A,其他事务不能对A加X锁B、事务T可以修改A,其他事务不能对A加X锁C、事务T可以读A和修改A,其他事务都不能再对A加任何类型的锁D、事务T修改A,其他事务都不能再对A加任何类型的锁(10)数据库中的封锁机制是( C )的主要方法。

  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数据库的完整性控制策略。

相关文档
最新文档