当前位置: 首页 > news >正文

所有候选键都是超键**,但**并非所有超键都是候选键**

说法错误的是选项 C:“超键一定是候选键”。

解析:

  • 超键(Superkey):能唯一标识关系中元组的属性集(可以冗余,即包含多余属性)。
  • 候选键(Candidate Key):是最小的超键,即不含多余属性的超键(极小性)。
  • 因此,所有候选键都是超键(A 正确),但并非所有超键都是候选键(C 错误,因为超键可能包含冗余属性,不满足“最小性”)。
  • 主键(Primary Key)是从候选键中人为选定的一个,用于实际标识元组(B 正确)。
  • 一个关系可有多个候选键(如学号、身份证号都可唯一标识学生),但只能有一个被选为主键(D 正确)。

故正确答案为:C。

不正确。候选键可以是单属性,也可以是多属性(复合候选键),只要它是最小的超键即可。

✅ 正确理解:
候选键的本质是“极小超键”,与其包含属性个数无关,而取决于是否满足:

  • 唯一性(能唯一标识元组);
  • 最小性(任意去掉一个属性后,就不再具有唯一性)。

📌 举例说明(反例):
设关系模式订单明细(订单号, 商品编号, 数量),函数依赖为:
(订单号, 商品编号) → 数量,且(订单号, 商品编号)是唯一标识每条明细记录的最小组合——

  • 单独订单号不能唯一标识(一个订单含多种商品);
  • 单独商品编号也不能唯一标识(同一商品出现在多个订单中);
  • {订单号, 商品编号}能唯一确定一条明细,且无冗余(去掉任一属性都失去唯一性)。
    → 因此{订单号, 商品编号}是一个双属性候选键(复合候选键),也是常用主键。

✅ 其他常见例子:

  • 学生选课表SC(学号, 课程号, 成绩),候选键为{学号, 课程号}
  • 机场航班表Flight(航班号, 出发日期, 出发时间, 到达机场)中,若同一航班号每天只飞一次,则{航班号, 出发日期}可能是候选键。

因此,“候选键必须是单属性”是错误说法

http://www.cnnetsun.cn/news/3963631.html

相关文章:

  • AI API额度监控与自动化调度系统实战:告别额度耗尽困扰
  • WorkBuddy入门到精通:零基础小白也能成为AI效率高手
  • Matlab实现MPC轨迹跟踪:从建模到控制优化
  • Nginx HTTP强制跳转HTTPS:四种方案详解与生产环境最佳实践
  • Unity UI文字模糊优化:从抗锯齿原理到Canvas缩放实战
  • 智能体基础设施与AgentOps:规模化AI应用落地的工程实践
  • 以太网物理层一致性测试:从原理到实战,保障设备稳定互联
  • 2026六大AI论文工具真实使用感受|毕业党避坑版✅
  • Visual Studio 2015 C++开发环境配置全攻略:从安装到性能调优
  • 案例 世微AP8854宽压降压模块实战:电动车控制器5V供电方案调试记录
  • Windows 11纯净安装全攻略:从官方镜像到系统加固,打造极致稳定环境
  • 让两个 Claude 自己聊天?我刚试了,真行
  • SpringBoot+Vue美食推荐系统架构与算法实现
  • Linux磁盘IO性能监控与优化:从iostat到实战场景解析
  • 百度网盘提取码智能获取工具终极指南:3分钟破解加密资源
  • 时间序列分析入门:趋势与平稳性检验的原理、方法与实战
  • VC++实战:使用WinHTTP库高效获取网页源代码的完整指南
  • 2026年Claude Code Desktop 桌面版接入第三方中转网关API网站 Claude Opus 5模型详细教程
  • AI代码生成实战:Codex如何攻克五大编程痛点与高效集成指南
  • 5个步骤轻松搭建原神私服:KCN-GenshinServer完整指南
  • ArkClaw框架开发《钳子大作战》小游戏实战解析
  • aaaaaaaaaa3333333
  • Claude Code自动模式详解:AI编程助手的权限控制与安全实践
  • Python实战LSM模型:量化可转债定价与套利策略
  • 免费调用Kimi K3与GLM-5.2 API:低成本构建AI应用实战指南
  • 即时零售缺货时怎么处理?替代商品、补差价和退款要按订单阶段定
  • 从“量程够用”到系统误差:新能源电流传感器怎么选?
  • Java 微服务架构:从单体到分布式的演进之路
  • 盘锦新房瓷砖怎么选,入住后才知道这些坑?
  • 单片机毕业设计-基于 STM32 单片机的环境光人体检测智能灯具设计 基于 STM32 的自动手动双模式 10 档可调智能台灯系统(018302)