题目
在满足实体完整性约束的条件下( )。A. 一个关系中应该有一个或多个候选关键字B. 一个关系中只能有一个候选关键字C. 一个关系中必须有多个候选关键字D. 一个关系中可以没有候选关键字
在满足实体完整性约束的条件下( )。
A. 一个关系中应该有一个或多个候选关键字
B. 一个关系中只能有一个候选关键字
C. 一个关系中必须有多个候选关键字
D. 一个关系中可以没有候选关键字
题目解答
答案
A. 一个关系中应该有一个或多个候选关键字
解析
实体完整性约束是关系数据库中重要的完整性规则之一,其核心要求是:关系中的主键属性不能取空值。主键是从候选关键字中选择的一个或一组属性,而候选关键字本身必须能够唯一标识关系中的每一个元组。因此,一个关系中至少必须存在一个候选关键字,但允许存在多个候选关键字(例如,学号和身份证号均可唯一标识学生)。
本题的关键在于理解候选关键字的定义及其与实体完整性的关系。选项A正确体现了候选关键字的数量范围(一个或多个),而其他选项均不符合这一基本要求。
选项分析
A. 一个关系中应该有一个或多个候选关键字
- 正确。根据实体完整性约束,主键必须存在,而主键必须是候选关键字之一。因此,关系中至少有一个候选关键字,且允许存在多个。
B. 一个关系中只能有一个候选关键字
- 错误。候选关键字可以有多个,例如学号和身份证号均可作为候选关键字。
C. 一个关系中必须有多个候选关键字
- 错误。有些情况下关系可能只有一个候选关键字(如仅通过学号唯一标识学生)。
D. 一个关系中可以没有候选关键字
- 错误。若没有候选关键字,则无法确定主键,实体完整性无法满足。