数据库完整性 一、选择题 1.完整性检查和控制的防范对象( ),防止它们进入数据库。安全性控制的防范对象是( ),防止他们对数据库数据的存取。 A. 不合语义的数据 B. 非法用户 C. 不正确的数据 D. 非法操作 2.下述哪个是 SQL 语言中的数据控制命令( )。 A. GRANT B. COMMIT C. UPDATE D. SELECT 3.下述 SQL 语言中的权限,哪一个允许用户定义新关系时,引用其他关系的主码作为外码( )。 A. INSERT B. DELETE C. REFERENCES D. SELECT 选 择 题 答 案 : (1) A C B D (2) A (3) C 二 、 简 答 题 1.什 么 是 数据库的 完整性? 答:数据库的完整性是指数据的正确性和相容性。 2.数据库的完整性概念与数据库的安全性概念有什么区别和联系? 答:数据的完整性和安全性是两个不同的概念,但是有一定的联系。 前者是为了防止数据库中存在不符合语义的数据,防止错误信息的输入和输出,即所谓垃圾进垃圾出(Garbage In Garba ge Ou t)所造成的无效操作和错误结果。 后者是保护数据库防止恶意的破坏和非法的存取。 也就是说,安全性措施的防范对象是非法用户和非法操作,完整性措施的防范对象是不合语义的数据。 3.什么是数据库的完整性约束条件?可分为哪几类? 答:完整性约束条件是指数据库中的数据应该满足的语义约束条件。 一般可以分为六类: 静态列级约束、 静态元 组 约束、 静态关 系约束、 动 态列级约束、动 态元 组 约束、 动 态关 系约束。 静态列级约束是对一个列的取值 域 的说明 ,包 括 以下 几方 面 : 1. 对数据类型 的约束,包 括 数据的类型 、长 度 、单 位 、精 度 等 2. 对数据格 式 的约束 3. 对取值 范围 或 取值 集 合的约束。 4. 对空 值 的约束 5. 其 他 约束 静态元 组 约束就是规 定组 成一个元 组 的各 个列之 间 的约束关 系,静态元 组 约束只 局 限 在单 个元 组 上 。 静态关 系约束是在一个关 系的各 个元 组 之 间 或 者若 干 关 系之 间常 常 存在各 种 联系或 约束。常 见 的静态关 系约束有: 1. 实 体 完整性约束。 2. 参 照 完整性约束。• 3. 函 数依 赖 约束。 动 态列级约束是修 改 列定义或 列值 时 应满足的约束条件,包 括 下面 两方 面 : 1. 修改列定义时的约束 2. 修改列值...