You need to enable JavaScript to run this app. 学生学科班级排名表的范式判定:属于3NF还是BCNF?
优惠活动
大模型
产品
解决方案
定价
更多

学生学科班级排名表的范式判定:属于3NF还是BCNF?

学生学科排名表范式判定

前置规则

  • 业务约束:同一学科内不存在并列排名,每个学生参与单学科考核仅对应唯一排名
  • 表核心字段:student_id(学生唯一标识)、subject(考核学科唯一标识)、rank(学科内班级排名)、student_name、student_major、dept_code、dept_name、subject_name、course_credit

非平凡函数依赖集合

  1. (student_id, subject) → rank
  2. (subject, rank) → student_id
  3. student_id → student_name, student_major
  4. subject → subject_name, course_credit, dept_code
  5. dept_code → dept_name

候选键与主属性

  • 候选键:(student_id, subject)、(subject, rank)
  • 主属性(属于任意候选键的字段):student_id、subject、rank
  • 非主属性:其余所有字段(student_name、student_major、dept_code、dept_name、subject_name、course_credit)

范式判定

3NF判定:不符合

3NF要求不存在非主属性对候选键的传递依赖,所有非平凡函数依赖需满足「决定因素是超键」或「被决定属性是主属性」。
当前存在多处违规依赖:

  • student_id → student_name:决定因素student_id不是超键,被决定属性为非主属性
  • subject → subject_name:决定因素subject仅为候选键组成部分,不是超键,被决定属性为非主属性
  • dept_code → dept_name:决定因素不在任何候选键中,被决定属性为非主属性
    以上均为非主属性对候选键的传递依赖,不满足3NF要求。

BCNF判定:不符合

BCNF要求所有非平凡函数依赖的决定因素必须为超键,当前上述依赖的决定因素均非超键,远未达到BCNF标准。

内容的提问来源于stack exchange,提问作者Young JooJ

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.11.12 23:45:04