数据库系统工程师 · 高频练习

函数依赖中属性闭包怎么求?

中级 单选题 第 301 题 中等 数据库系统工程师属性闭包函数依赖候选码
题目

关系模式 R(A,B,C,D),函数依赖集 F={A→B,B→C,C→D}。属性集 A 的闭包 A+ 为()。

A {A}
B {A,B}
C {A,B,C}
D {A,B,C,D}
题目类型:原创高频计算题 用途:用于帮助理解数据库系统工程师相关考点和答案解析,不等同于官方真题。
正确答案
D
答案解析

求 A+ 时先包含 A。由 A→B 可推出 B;有了 B 后由 B→C 可推出 C;有了 C 后由 C→D 可推出 D。因此 A+={A,B,C,D}。

选项分析

A

错误。A 可以推出 B,不应只保留 A。

B

错误。得到 B 后还能继续推出 C。

C

错误。得到 C 后还能继续推出 D。

D

正确。A 能推出 R 中全部属性。

本题为什么容易错

属性闭包题常见失误是只做一轮推导。闭包要一直推到不能再新增属性为止。

先看结论

简短答案

函数依赖中属性闭包怎么求,正确答案是 D({A,B,C,D})。求 A+ 时先包含 A。由 A→B 可推出 B;有了 B 后由 B→C 可推出 C;有了 C 后由 C→D 可推出 D。因此 A+={A,B,C,D}。

解析

易混淆概念对比表

概念本题判断区别要点记忆提示
{A} 本题干扰项 错误。A 可以推出 B,不应只保留 A。 看到该词不要急着选,先判断是否真正解决题干问题
{A,B} 本题干扰项 错误。得到 B 后还能继续推出 C。 看到该词不要急着选,先判断是否真正解决题干问题
{A,B,C} 本题干扰项 错误。得到 C 后还能继续推出 D。 看到该词不要急着选,先判断是否真正解决题干问题
{A,B,C,D} 本题正确答案 正确。A 能推出 R 中全部属性。 看到题干核心场景时优先联想到它
本题易混淆选项怎么区分
  • {A}:错误。A 可以推出 B,不应只保留 A。
  • {A,B}:错误。得到 B 后还能继续推出 C。
  • {A,B,C}:错误。得到 C 后还能继续推出 D。
复习

知识点详解

候选码是数据库系统工程师考试中需要结合场景理解的考点。围绕“函数依赖中属性闭包怎么求”这类题目,复习时要先看题干描述的是概念定义、适用场景、作用效果,还是与其他选项的区别。本题的题干关键词是“关系模式 R(A,B,C,D),函数依赖集 F={A→B,B→C,C→D}。属性集 A 的闭包 A+ 为()”,它指向的核心答案是 D({A,B,C,D})。

备考速记

备考速记:题干如果强调“候选码”中的关键目标,就先联想到 候选码;如果选项里出现 {A}、{A,B}、{A,B,C},不要只看名称熟悉,要判断它们是否真正对应题干场景。

候选码在候选码场景中的作用

候选码在本题中的核心价值,是解决“关系模式 R(A,B,C,D),函数依赖集 F={A→B,B→C,C→D}。属性集 A 的闭包 A+ 为()”这个场景问题。复习时不要只背选项名称,还要理解它为什么适用于该场景,以及它能解决哪类安全、流程或管理问题。

拓展

同类题怎么考

  • 给出候选码场景,判断应该选择哪个概念、工具、协议或管理过程。
  • 考查候选码的作用,要求从四个相近选项中找出最符合题干目标的一项。
  • 把候选码和{A}、{A,B}、{A,B,C}放在一起考,重点看适用场景是否一致。
  • 题干通常会出现一个关键动作或目标,先定位关键词,再回到选项逐一排除。
候选码在数据库系统工程师软考中的考法

软考选择题通常不会只考概念定义,还会把候选码放到候选码场景中,要求判断它的作用、适用范围或与相近概念的区别。遇到这类题时,先抓住题干中的业务场景,再看哪个选项最能解决该场景下的核心问题。

解题思路

闭包计算要一步一步扩展:A 推 B,B 再推 C,C 再推 D。不要只看第一条 A→B 就停下。

考点定位

本题考查属性闭包计算。数据库规范化题中,属性闭包常用于判断候选码和函数依赖是否能推出。

易错提醒

  • 闭包初始包含属性集自身。
  • 每推出新属性,都要重新检查是否能触发新的函数依赖。
  • 如果某属性闭包包含全部属性,它可能是超码或候选码的基础。

备考提示

  • 数据库计算题可以把函数依赖画成链条,链条越清楚,闭包越不容易漏。
  • 候选码题通常先求闭包,再判断最小性。

你可能还想了解

  • 函数依赖中属性闭包怎么求?
  • 候选码是什么?
  • 候选码在数据库系统工程师考试中怎么考?
  • 数据库系统工程师候选码题怎么理解?
  • 属性闭包怎么求怎么考?
  • 函数依赖候选码怎么考?

本文小结

本题核心考点是候选码在候选码场景中的判断和应用。遇到类似题目时,先看题干描述的目标,再判断哪个选项最符合场景;本题应选择 D({A,B,C,D})。