第二章数据库的完整性控制数据完整性(DataIntegrity)是指数据的精确
数据完整性检查要点

数据完整性检查要点数据完整性检查要点数据完整性数据完整性(data integrity):是指数据的准确性和可靠性,用于描述存储的所有数据值均处于客观真实的状态。
–并不是计算机化系统实施后才出现的–适用于电子数据和手工(纸质)数据–企业应当处于一种基于数据完整性风险的可接受控制状态数据的属性基本原则A(attributable)—可溯源L(legible)—清晰C(contemporaneous)—同步O(original or true copy)—原始或真实复制A(accurate)—准确数据人工观察填写的纸质记录仪器、设备通过复杂的计算机化系统产生的图谱或电子记录。
纸质记录对文件和记录版本(变更)进行控制对原始空白记录进行控制对空白记录的发放进行控制对已填写记录的修改进行控制图谱或电子记录电子方式产生的原始数据采用纸质或PDF格式保存应当显示数据的留存过程,以包括所有原始数据信息、相关审计跟踪和结果文件、每一分析运行过程中软件/系统设置标准一个给定的原始数据系列重建所需的所有数据处理运行情况(包括方法和审计跟踪),经过确认的复本。
一旦打印或转换成静态PDF,图谱记录则失去了其被再处理的能力,不能对基线或隐藏区域进行更详细的审核或检查。
以数据库格式存在的动态电子记录则可以进行追踪、趋势分析和查询、查看隐藏区域,放大基线以将积分情况查看的更清楚。
数据审计跟踪数据审计跟踪(audit trial):是一系列有关计算机操作系统、应用程序及用户操作等事件的记录,用以帮助从原始数据追踪到有关的记录、报告或事件,或从记录、报告、事件追溯到原始数据。
如果计算机系统用于电子捕获、处理、报告或存贮原始数据,系统设计应能保持提供全面审计追踪的保存,能够显示对数据进行的所有更改。
对数据的所有更改,应可以显示做这些更改的人,更改均应有时间记录,并给出理由。
用户不应具备修订或关闭审计追踪的能力。
不需要包括每个系统活动(例如,用户登录/退出,键盘敲击等)。
数据完整性检查要点

数据完整性检查要点数据完整性数据完整性(data integrity):是指数据的准确性和可靠性,用于描述存储的所有数据值均处于客观真实的状态。
–并不是计算机化系统实施后才出现的–适用于电子数据和手工(纸质)数据–企业应当处于一种基于数据完整性风险的可接受控制状态数据的属性基本原则A(attributable)—可溯源L(legible)—清晰C(contemporaneous)—同步O(original or true copy)—原始或真实复制A(accurate)—准确数据人工观察填写的纸质记录仪器、设备通过复杂的计算机化系统产生的图谱或电子记录。
纸质记录对文件和记录版本(变更)进行控制对原始空白记录进行控制对空白记录的发放进行控制对已填写记录的修改进行控制图谱或电子记录电子方式产生的原始数据采用纸质或PDF格式保存应当显示数据的留存过程,以包括所有原始数据信息、相关审计跟踪和结果文件、每一分析运行过程中软件/系统设置标准一个给定的原始数据系列重建所需的所有数据处理运行情况(包括方法和审计跟踪),经过确认的复本。
一旦打印或转换成静态PDF,图谱记录则失去了其被再处理的能力,不能对基线或隐藏区域进行更详细的审核或检查。
以数据库格式存在的动态电子记录则可以进行追踪、趋势分析和查询、查看隐藏区域,放大基线以将积分情况查看的更清楚。
数据审计跟踪数据审计跟踪(audit trial):是一系列有关计算机操作系统、应用程序及用户操作等事件的记录,用以帮助从原始数据追踪到有关的记录、报告或事件,或从记录、报告、事件追溯到原始数据。
如果计算机系统用于电子捕获、处理、报告或存贮原始数据,系统设计应能保持提供全面审计追踪的保存,能够显示对数据进行的所有更改。
对数据的所有更改,应可以显示做这些更改的人,更改均应有时间记录,并给出理由。
用户不应具备修订或关闭审计追踪的能力。
不需要包括每个系统活动(例如,用户登录/退出,键盘敲击等)。
(1)数据完整性的定义数据完整性是指存储在数据库中的(精)

一、选择题1、D2、D3、D4、A5、C6、C二、简答题1、(1)数据完整性的定义:数据完整性是指存储在数据库中的数据的一致性和正确性。
(2)数据完整性的类型:实体完整性、域完整性、参照完整性和用户自定义完整性。
2、约束是附加于表上用以限制数据完整性的一种数据库对象。
约束按照作用不同,分为五种:PRIMARY KEY约束、UNIQUE约束、CHECK约束、DEFAULT约束和FOREIGN KEY 约束。
3、UNIQUE约束与PRIMARY KEY约束的相同点是:都用于强制实体完整性,保证表中行数据的唯一性。
UNIQUE约束与PRIMARY KEY约束的不同点是:(1)UNIQUE约束用于非主键的一列或列组合。
(2)一个表中可以定义多个UNIQUE约束,但只能定义一个PRIMARY KEY约束。
(3)定义UNIQUE约束的列允许空值,但定义PRIMARY KEY约束的列不允许空值。
4、在判断一个列的数据的有效性方面,CHECK约束与FOREIGN KEY约束的区别在于:CHECK约束根据逻辑表达式判断数据的有效性;FOREIGN KEY约束根据另一个表(父表)中的数据判断数据的有效性。
5、规则是一种数据库对象,它的作用类似于CHECK约束.它们的区别表现为:(1)CHECK约束的定义属于表结构定义的一部分。
CHECK约束是在CREATE TABLE或ALTER TABLE语句中定义的。
删除表的时候CHECK约束随之删除。
(2)规则对象的定义是独立于表结构定义的。
规则对象使用CREATE RULE语句定义。
删除表的时候并不能删除规则对象。
6、默认是一种数据库对象,它的作用类似于DEFAULT约束,即在表中插入数据行时,为没有指定数据的列提供事先定义的默认值。
虽然默认对象和默认约束功能类似,但是使用方法不同,它们的区别表现为:(1)默认约束的定义属于表结构定义的一部分。
默认约束是在CREATE TABLE或ALTER TABLE语句中定义的。
数据库完整性讲解

5.2 完整性控制
在关系数据库管理系统中,最重要的完整性约束是实 体完整性和参照完整性,其它完整性约束条件则可以 归入用户定义的完整性。
目前许多关系数据库管理系统都提供了定义和检查实 体完整性、参照完整性和用户定义完整性的功能。
对于违反实体完整性和用户定义完整性的操作一般都 采用拒绝执行的方式进行处理。
5 数据库完整性
? 完整性约束条件 ? 完整性控制 ? FoxPro 的完整性 ? 小结
5 数据库完整性
数据库的完整性是指数据的正确性和相容性。 例如,学生的学号必须唯一; 性别只能是男或女、本科学生的年龄的取值范 围为14-30的整数;
学生所在的系必须是学校已经开设的系等。 数据库是否具备完整性关系到数据库系统能否真 实地反映现实世界,因此维护数据库的完整性 是非常重要的。
完整性检查是围绕完整性约束条件进行的,因此 完整性约束条件是完整性控制机制的核心。
完整性约束条件作用的对象可以是关系、元组、 列三种。
其中列约束条件主要是列的类型、取值范围、精 度、排序等约束条件。
元组的约束条件是元组中各个字段间的联系的约 束。 关系的约束是若干元组间、关系集合上以及关系 之间的联系的约束。
5.1 完整性约束条件
三、静态关系约束
在一个关系的各个元组之间或者若干关系之间 常常存在各种联系或约束。常见的静态关系约 束有:
? 实体完整性约束 ? 参照完整性约束
实体完整性约束和参照完整性约束是关系模型 的两个极其重要的约束,称为关系的两个不变 性。
5.1 完整性约束条件
三、静态关系约束
? 函数依赖约束。大部分函数依赖约束都在关系 模式中定义。
因此在实现参照完整性时,系统除了应该提供定义 外码的机制,还应该提供定义外码列是否允许空值 的机制。
数据完整性检查要点

数据完整性检查要点本文通过梳理数据核查全过程,列出GMP 核查中数据完整性检查要点内容,包括:基本原则、数据记录(纸质、图谱或电子记录)、审计跟踪、计算机系统检查 4 个要点。
并附上具体问题和小结,以供读者阅读讨论。
数据完整性数据完整性(data integrity):是指数据的准确性和可靠性,用于描述存储的所有数据值均处于客观真实的状态。
–并不是计算机化系统实施后才出现的–适用于电子数据和手工(纸质)数据–企业应当处于一种基于数据完整性风险的可接受控制状态数据的属性基本原则- ALCOAA(attributable)—可溯源L(legible)—清晰C(contemporaneous)—同步O(original or true copy)—原始或真实复制A(accurate)—准确数据记录数据定义人工观察填写的纸质记录仪器、设备通过复杂的计算机化系统产生的图谱或电子记录纸质记录对文件和记录版本(变更)进行控制对原始空白记录进行控制对空白记录的发放进行控制对已填写记录的修改进行控制图谱或电子记录电子方式产生的原始数据采用纸质或PDF格式保存应当显示数据的留存过程,以包括所有原始数据信息、相关审计跟踪和结果文件、每一分析运行过程中软件/系统设置标准一个给定的原始数据系列重建所需的所有数据处理运行情况(包括方法和审计跟踪),经过确认的复本。
一旦打印或转换成静态PDF,图谱记录则失去了其被再处理的能力,不能对基线或隐藏区域进行更详细的审核或检查。
以数据库格式存在的动态电子记录则可以进行追踪、趋势分析和查询、查看隐藏区域,放大基线以将积分情况查看的更清楚。
数据审计跟踪数据审计跟踪(audit trial):是一系列有关计算机操作系统、应用程序及用户操作等事件的记录,用以帮助从原始数据追踪到有关的记录、报告或事件,或从记录、报告、事件追溯到原始数据。
如果计算机系统用于电子捕获、处理、报告或存贮原始数据,系统设计应能保持提供全面审计追踪的保存,能够显示对数据进行的所有更改。
数据库系统 包括题目和答案.

数据库系统原理复习题第1章一、选择题1.数据库(DB)、数据库系统(DBS)和数据库管理系统(DBMS)之间的关系是(A )。
A. DBS包括DB和DBMSB. DBMS包括DB和DBSC. DB包括DBS和DBMSD. DBS就是DB,也就是DBMS2.概念模型是现实世界的第一层抽象,这一类模型中最著名的模型是(D )。
A.层次模型B. 关系模型C. 网状模型D. 实体-联系模型3.目前,数据库管理系统最常用的逻辑数据模型是(C)。
A.网状模型B.层次模型C.关系模型D.面向对象模型4.下列四项中,不属于数据库系统特点的是(C)。
A.数据共享B. 数据完整性C. 数据冗余度高D. 数据独立性高5.数据模型的三个要素分别是(B )。
A.实体完整性、参照完整性、用户自定义完整性B.数据结构、数据操作、数据完整性约束条件C.插入数据、修改数据、删除数据D.外模式、模式、内模式6.数据库三级结构从内到外的3个层次依次为(B)。
A.外模式、模式、内模式B. 内模式、模式、外模式C. 模式、外模式、内模式D. 内模式、外模式、模式7.下列关于数据库系统的正确叙述是(A):A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据8.数据的逻辑独立性是指(B)。
A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变C.内模式改变时保持模式不变D.数据改变时保持应用程序不变9.数据的物理独立性是指(C)。
A.外模式改变时保持应用程序不变B.模式改变时保持外模式不变C.内模式改变时保持模式不变D.数据改变时保持应用程序不变10.公司有多个部门和多名职员,每个职员只能属于一个部门,一个部门可以有多名职员,从部门到职员的联系类型是(D)。
A.多对多B. 一对一C. 多对一D. 一对多11.储蓄所有多个储户,储户在多个储蓄所之间存款,储户与储蓄所之间是(C)。
数据库技术及应用:完整性控制

例题
例:建立“系”表,并定义其表级参照完整性。 CREATE TABLE 系(系编号 CHAR(4), 系名称
CHAR(14), 系 主 任 CHAR(6), 教 研 室 个 数 SMALLINT, 班 级 个 数 SMALLINT, 学 院 编 号 CHAR(1),
PRIMARY KEY(系编号), FOREIGN KEY(学院编号) REFERENCES 学院 (学院编号));
检查主码的各个属性是否为空,只要有一个 为空就拒绝插入或更新。
参照完整性控制
参照完整性定义 若属性(或属性组)F是基本关系R的外码,它与
基本关系S的主码KS相对应,则对于R中的每个元组在 F上的值必须或者取空值,或者等于S中的某个元组的 主码值。
关 系 模 型 的 参 考 完 整 性 在 CREATE TABLE 时 用 FOREIGN KEY短语定义其为外码,用REFERENCES 短语指明这些外码参照哪个表的主码。
为了维护数据库的完整性,DBMS必须具有 提供定义完整性约束条件的机制 提供完整性检查的方法 违约处理
完整性的控制包含哪些方面
实体完整性控制 参照完整性控制 用户自定义完整性控基本关系R的主
码,则属性K不能取空值(主键取值非空且唯一)。 实 体 完 整 性 可 在 CREATE TABLE 时 用 PRIMARY
参照完整性检查和违约处理
当不一致发生时,系统可以采用以下的策略 加以处理
拒绝执行 级连操作 设置为空值
用户自定义完整性控制
用户自定义完整性定义 是用户自行定义的,不属于其他完整性的所
有规则,用户定义的完整性就是针对某一具体 应用的数据必须满足的语义要求。
列值非空(NOT NULL) 值唯一(UNIQUE) 检查列值是否满足一个布尔表达式(CHECK)
内部控制体系的数据完整性

内部控制体系的数据完整性内部控制是指组织内部建立的一系列制度和程序,旨在保护资产、确保财务信息的准确性和可靠性,并促使企业的业务达成预期目标。
数据完整性是内部控制体系中的重要要素,它涉及到企业数据的准确性、完整性和一致性。
本文将探讨内部控制体系中的数据完整性问题,并提出相关的建议。
一、数据完整性的定义与重要性数据完整性是指数据的精确性、完备性和一致性。
精确性是指数据的准确性,即数据反映实际情况并不存在错误。
完备性是指数据的完整程度,即数据无遗漏并包含所有必要信息。
一致性是指数据在不同系统或模块中的一致性,即数据在不同环节中保持一致。
数据完整性对企业的正常运营和管理至关重要,它直接关系到财务报告的准确性和对内部管理决策的支持。
二、数据完整性的挑战与风险在现实运营过程中,企业面临着诸多数据完整性的挑战与风险。
例如:输入错误、遗漏、篡改、恶意删除等。
这些问题可能导致数据准确性的下降、信息系统的不稳定以及管理决策的偏差。
同时,数据完整性问题还给企业带来法律合规的风险,因为一些国家和地区对数据安全和完整性有严格的要求。
三、确保数据完整性的内部控制措施为了确保数据的完整性,企业应该采取一系列内部控制措施。
以下是几个重要的控制要点:1. 访问控制企业应建立合理的用户权限管理制度,确保只有授权人员才能访问、修改和删除数据。
同时,要建立系统日志记录功能,记录每一次数据的访问和修改操作,并进行定期审计。
2. 数据备份与恢复企业应建立数据备份和恢复的制度,确保在数据丢失或被破坏时能够及时恢复。
备份数据应存储在安全可靠的地方,并进行定期验证和测试。
3. 审计与监控企业应建立有效的数据审计和监控制度,对数据的输入、处理和输出过程进行实时监测和记录。
同时,要建立异常报警机制,及时发现并处理数据异常情况。
4. 内部审计企业应定期进行内部审计,评估数据完整性控制的有效性和合规性,并提供相关的改进建议。
内部审计部门应独立于被审计部门,确保审计结果的客观性和可靠性。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第二章数据库的完整性控制数据完整性(Data Integrity)是指数据的精确性(accuracy)和可靠性(reliability),它是防止数据库中存在不符合语义规定的数据和防止因错误的信息的输入造成无效操作或错误信息而提出的,保证在一个应用程序更新数据的过程中数据的语义正确性。
数据完整性主要分为三类:实体完整性(Entity Integrity),参照完整性(Referential Integrity)以及用户定义的完整性(User-defined Integrity),其中用户定义的完整性主要包括域完整性(Domain Integrity)和其他自定义完整性。
为维护数据库德完整性,数据库管理系统(DBMS)必须提供一种机制来检查数据库中的数据,看其是否满足语义规定的条件。
这些加在数据库数据上的语义约束条件称为数据库完整性规则,它们作为模式的一部分存入数据库中。
完整性控制是指对数据库进行更新操作,要遵守完整性规则,才能保证数据的语义正确性,防止数据库中存在不符合语义的数据。
目的是在合法用户访问数据库的过程中,保证数据的正确性和准确性。
完整性检查机制是指在DBMS中检查数据是否满足完整性条件的机制。
由DBMS在执行更新动作时,检查是否满足预定的完整性约束条件,来进行控制。
广义的完整性控制包括故障恢复、并发控制。
而一般所指的完整性控制是指基于数据库的完整性约束规则,如:实体完整性、引用完整性等。
SQL中两种主要的数据完整性控制机制是指完整性约束规则的定义和检查以及触发器(Trigger)机制。
完整性控制机制应具有三个功能:(1)定义功能,即提供定义完整性约束条件的机制;(2)检查功能,即检查用户发出的操作请求书否违反了约束条件;(3)如果发现用户操作请求使数据违背了完整性约束条件,则采取一定的动作来保证数据的完整性。
完整性控制机制的工作原理基本上分为两类,一种是定义完整性时就立刻进行检查的,例如实体完整性的定义;另外一种是定义完整性之后进行检查的,例如参照完整性的定义。
SQL Server提供了一些工具来帮助用户实现数据完整性,其中最主要的是:规则(Rule),默认值(Default),约束(Constraint)和触发器(Trigger)实验报告2.1 实体完整性实验目的:学习实体完整性的建立,以及实践违反实体完整性的结果。
实验原理:1、实体完整性(Entity Integrity)定义实体完整性规定表的每一行在表中是唯一的实体。
SQL语法中,表中的UNIQUE、PRIMARY KEY和IDENTITY约束就是实体完整性的体现。
实体完整性规则:每个关系中主码的任何属性不能取空值。
注意:空值为NULL,不是0,也不是空格,而是一个“不知道”或“不确定”的数据值。
2、实施完整性检查的时机实施完整性规则检查的时机分为立即检查和延迟检查(Immediate or deferred Checking),只有选择正确的检查时机才能保证语义的正确性,即保证数据的完整性。
实体完整性规则检查的时机是立即检查的,而参照完整性和触发器一般都是延迟检查。
3、事务处理事务是一组数据库操作的集合,这些操作要么一起成功,要么一起失败。
操作的提交或回退是一同生效的。
事务处理的概念对维护数据的完整性和一致性是十分重要的。
数据库操作(如INSERT、UPDA TE和DELETE)如果是一个事务中的操作,那么它们要在事务控制之下完成。
数据库对象的begin Transaction、commit Transaction和rollback Transaction方法分别用来启动、提交和回退事务。
实验内容:(1)在数据库School中建立表Stu_Union,进行主键约束,在没有违反实体完整性的前提下插入并更新一条记录。
(2)演示违反实体完整性的插入操作。
(3)演示违反实体完整性的更新操作。
(4)演示事务的处理,包括事务的建立、处理以及出错时的事务回滚。
(5)通过建立Scholarship表,插入数据,演示当与现有的数据环境不等时,无法建立实体完整性以及参照完整性。
实验步骤:代码实现参见数据库实验习题2.1.sql文档心得体会:1、学习了实体完整性的相关内容,加深了对于这部分知识点的认识;(实验课本第59页——思考:为什么sno置为‘’没有违反非空的约束?答:SQL系统默认这里定义的‘’为一个值;如果执行sno=NULL,则将被系统拒绝)实验2.2 参照完整性实验目的:学习建立外键,以及利用FOREIGN KEY---REFERENCES子句以及各种约束保证参照完整性。
实验原理:1)参照完整性(Referential Integrity)参照完整性是指两个表的主关键字和外关键字的数据对应一致。
它确保了有主关键字的表中对应其他表的外关键字的行存在,即保证了表之间的数据的一致性,防止了数据丢失或无意义的数据在数据库中扩散。
参照完整性是建立在外关键字和主关键之间或外关键字和唯一性关键字之间的关系上的。
参照完整性规则:关系R的外来码取值必须是关系S中某个元组的主码值,或者可以是一个“空值”。
定义外键时定义参照完整性、约束参照表A和被参照表B。
对于违反参照完整性的操作有时候并不是简单拒绝执行,而是接受该操作,同时执行必要的附加操作。
DBMS提供机制来定义是否必须制定外键的具体值而非空值。
主键列和外键列可以有不同的名字,空值的要求也可以不一致,默认值也可以不同,但数据类型必须相同。
2)SL Server中完整性的体现在SQL Server中参照完整性作用表现在如下几个方面:·禁止在从表中插入包括主要中不存在的外关键字的数据行。
·禁止会导致从表中的相应值孤立的主表中的外关键字值改变。
·禁止删除在从表中的有对应记录的主表记录。
3)SQL语句中删除和插入基本关系元组(1)在被参照关系中删除元组的三种控制方式:·级联删除(CASCADES):将参照关系中与被参照关系中要删除的元组主键值相同的元组一起删除。
·受限删除(RESTRICTED):只有参照关系中没有元组与被参照关系中要删除的元组主键值相同时才执行删除操作,否则拒绝。
·置空值删除(SET NULL):删除被参照关系中的元组,同时将参照关系中相应元组的外键值置空。
(2)在参照关系中插入元组。
·受限插入:只是被参照关系中有元组与参照关系中要插入元组外键值相同时,才执行插入操作,否则拒绝。
·递归插入:插入元组外键值在被参照关系中没有相同元组,则首先向被参照关系插入元组,其主键值等于参照关系插入元组的外键值,然后再向参照关系插入元组。
4)DBMS对参照完整性进行检查的四种情况(1)在四种情况下DBMS要进行检查,分别是对参照表进行插入和修改以及对被参照表进行删除和修改。
5)参照完整性的特殊问题(1)表的自参考问题。
问题1:无法定义。
处理方法:先用create table创建主键约束,再用alter table创建外键约束。
问题2:容易造成无法启动的情况。
(系统通过事务完毕后再检查)(2)两张表互相参照的问题。
问题1:无法定义。
处理方法:同表的自参照问题的解决方法相同。
问题2:容易造成无法启动的情况。
(系统通过事务完毕后再检查)(3)既是外键又是主键中的属性。
处理方法:既要遵从实体完整性也要遵从参照完整性。
实验内容:(1)为演示参照完整性,建立表Course,令cno为主键,并在Stu_Union中插入数据。
为下面的实验步骤做预先准备。
(2)建立表SC,令sno和cno分别为参照Stu_Union表以及Course表的外键,设定为级联删除,并令(sno,cno)为其主键。
在不违反参照完整性的前提下,插入数据。
(3)演示违反参照完整性的插入数据。
(4)在Stu_Union中删除数据,演示级联删除。
(5)在Course中删除数据,演示级联删除。
(6)为了演示多重级联删除,建立Stu_Union表,令stu_id为参照Stu_Union表的外键,令card_id为其主键,并插入数据。
(7)为了演示多重级联删除,建立ICBC_Card表,令stu_card_id为参照Stu_Card表的外键,令bank_id为其主键,并插入数据。
(8)通过删除students表中的一条记录,演示三个表的多重级联删除。
(9)演示事务中进行多重级联删除失败的处理。
修改ICBC_Card表的外键属性,使其变为On delete No action,演示事务中通过删除students表中的一条记录,多重级联删除失败,整个事务回滚到事务的初始状态。
(10)演示互参照问题以及其解决方法。
要建立教师授课和课程指定教师停课关系的两张表,规定一个教师可以授多门课,但是每个课程只能指定一个教师去听课,所以要为两张表建立相互之间的参照关系。
实验步骤:代码实现参见数据库实验习题2.2.sql文档心得体会:1、学习了参照完整性的相关内容,加深了对于这部分知识点的认识;(习题:(1)用alter table语句将SC表中的on delete cascade 改为on delete restrict。
重新插入SC 的数据。
重复本实验的实验步骤中(4)(5),观察结果,分析原因。
(2)用alter table语句将SC表中的on delete cascade 改为on delete set NULL。
重新插入SC 的数据。
重复本实验的实验步骤中(4)(5),观察结果,分析原因。
解答:SQL不提供on delete restrict/on delete set NULL,用on delete no action;结果:数据库不允许删除STU_UNION表以及NEW_COUSE表中对应的元组;原因:(1)由于on delete restrict的约束,数据库不允许任何引用关系存在对应元组的删除操作(2)约束on delete set NULL是将要删除的对应元组的外键置空值,如果sno和cno不是SC表的主键,删除操作是可以完成的,但是由于主键不可以取空值,所以删除操作不能进行。
)实验2.3用户自定义完整性实验目的:学习用户自定义约束,并实践用户自定义完整性,利用SQL查询分析器用短语NOT NULL、UNIQUE、CHECK保证用户定义完整性。
实验原理:1)用户自定义完整性(User-defined Integrity)不同的关系数据库系统根据其应用环境的不同,往往需要一些特殊的约束条件。
用户自定义的完整性即是针对某个特定关系数据库的约束条件,它反映某一具体应用所涉及的数据必须满足的语义要求。
它主要包括:(1)域完整性(Domain Integrity)[1] 域完整性是指数据库中的列必须满足某种特定的数据类型或约束。