问题 单项选择题

在数据库系统中,数据完整性约束的建立需要通过数据库管理系统提供的数据 语言来实现。

A.定义
B.操作
C.查询
D.控制

答案

参考答案:A

解析:

[分析]:
数据库完整性(Database Integrity)是指数据库中数据的正确性和相容性。数据库完整性由各种各样的完整性约束来保证,因此可以说数据库完整性设计就是数据库完整性约束的设计。
关系的完整性主要包括域完整性、实体完整性和参照完整性三种。
(1) 域完整性。域完整性是对数据表中字段属性的约束,它包括字段的值域、字段的类型及字段的有效规则等约束,它是由确定关系结构时所定义的字段的属性决定的。
(2) 实体完整性。实体完整性是对关系中的记录唯一性,也就是主键的约束。准确地说,实体完整性是指关系中的主属性值不能为NULL且不能有相同值。
(3) 参照完整性。参照完整性是对关系数据库中建立关联关系的数据表间数据参照引用的约束,也就是对外键的约束。准确地说,参照完整性是指关系中的外键必须是另一个关系的主键有效值,或者是NULL。
数据库完整性对于数据库应用系统非常关键,其作用主要体现在以下几个方面:
(1) 数据库完整性约束能够防止合法用户使用数据库时向数据库中添加不合语义的数据。
(2) 利用基于DBMS的完整性控制机制来实现业务规则,易于定义,容易理解,而且可以降低应用程序的复杂性,提高应用程序的运行效率。
(3) 合理的数据库完整性设计,能够同时兼顾数据库的完整性和系统的性能。
(4) 在应用软件的功能测试中,完善的数据库完整性有助于尽早发现应用软件的错误。
数据库完整性约束可分为6类:列级静态约束、元组级静态约束、关系级静态约束、列级动态约束、元组级动态约束、关系级动态约束。
在实施数据库完整性设计的时候,有一些基本的原则需要把握:
(1) 根据数据库完整性约束的类型确定其实现的系统层次和方式,并提前考虑对系统性能的影响。一般情况下,静态约束应尽量包含在数据库模式中,而动态约束由应用程序实现。
(2) 实体完整性约束、参照完整性约束是关系数据库最重要的完整性约束,在不影响系统关键性能的前提下需尽量应用。用一定的时间和空间来换取系统的易用性是值得的。
(3) 要慎用目前主流DBMS都支持的触发器功能,一方面由于触发器的性能开销较大,另一方面,触发器的多级触发不好控制,容易发生错误,非用不可时,最好使用 Before型语句级触发器。
(4) 在需求分析阶段就必须制定完整性约束的命名规范,尽量使用有意义的英文单词、缩写词、表名、列名及下画线等组合,使其易于识别和记忆.
(5) 要根据业务规则对数据库完整性进行细致的测试,以尽早排除隐含的完整性约束间的冲突和对性能的影响。
(6) 要有专职的数据库设计小组,自始至终负责数据库的分析、设计、测试、实施及早期维护。数据库设计人员不仅负责基于DBMS的数据库完整性约束的设计实现,还要负责对应用软件实现的数据库完整性约束进行审核。
(7) 应采用合适的CASE工具来降低数据库设计各阶段的工作量。
在数据库系统中,数据完整性约束的建立需要通过数据库管理系统提供的数据定义语言来实现。

问答题 简答题
单项选择题