题目
有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( )。A. 实体完整性约束B. 参照完整性约束C. 用户自定义完整性约束D. 关键字完整性约束
有一个关系:学生(学号,姓名,系别),规定学号的值域是8个数字组成的字符串,这一规则属于( )。
A. 实体完整性约束
B. 参照完整性约束
C. 用户自定义完整性约束
D. 关键字完整性约束
题目解答
答案
C. 用户自定义完整性约束
解析
本题考查数据库完整性约束类型的判断。关键点在于理解不同完整性约束的定义:
- 实体完整性:确保主键值唯一且非空;
- 参照完整性:保证外键值引用有效;
- 用户自定义完整性:允许用户对字段的值域格式、范围等进行自定义约束;
- 关键字完整性:非标准术语,实际属于实体完整性的一部分。
题目中规定学号必须为8位数字组成的字符串,属于对字段格式的特殊要求,因此属于用户自定义完整性约束。
选项分析
-
实体完整性约束(A):
主要针对主键的唯一性和非空性,例如学号不能重复、不能为空。但题目中未涉及这些规则,而是对学号格式的限制,因此不符合。 -
参照完整性约束(B):
用于保证外键值合法引用其他表的主键值,例如成绩表中的学号必须存在于学生表中。题目未涉及外键关系,故排除。 -
用户自定义完整性约束(C):
允许用户根据需求定义字段的值域规则,如学号必须为8位数字、年龄范围限制等。题目中对学号的格式要求正是此类约束的典型应用。 -
关键字完整性约束(D):
非标准术语,实际属于实体完整性的一部分,因此错误。