DB2606 - 数据库设计

与参考答案有出入,仅供参考

设某省的高考志愿填报信息系统,需要管理的信息有:

(1) 高考采用 “3+1+2” 模式。“3” 为全国统一高考科目的语文、数学、外语;“1” 为 “首选科目”,要求从物理、历史 2 门科目中选择 1 门;“2” 为 “再选科目” 要求从思想政治、地理、化学、生物学 4 门科目中选择 2 门;考生类型分为 ‘文史’(首选科目历史)和 ‘理工’(首选科目物理)两种。

(2) 高考成绩:所有考生的语文、数学、外语三门全国统考科目成绩;‘文史’ 类考生的历史及另外两门再选科目成绩,‘理工’ 类考生的物理及另外两门再选科目成绩。

(3) 考生的信息包括准考证号、姓名、性别、总成绩和考生类型,准考证号是考生的标识属性。

(4) 高校的信息包括:

  • ① 高校的代码和名称,高校代码是高校的标识属性;
  • ② 每个高校可以设置若干个招生专业,专业的信息包括代码和名称,专业代码仅能用于区分同一所高校内的不同专业;
  • ③ 每个高校可以设置一个或多个专业组,每个专业组的信息包括专业组代码、首选科目和再选科目,专业组代码仅能用于区分同一所高校内的不同专业组;
  • ④ 在一所高校中,一个专业组可以包含一个或多个招生专业,一个招生专业可以出现在一个或多个专业组内;需要记录在一个专业组中,每一个专业的招生计划数。

(5) 采用 “院校专业组” 志愿。

  • ① “1 个院校 + 1 个专业组” 构成 1 个 “院校专业组” 志愿,内设 6 个专业志愿;
  • ② 考生可从该专业组包含的招生专业中选填不超 6 个招生专业,并记录专业填报顺序;
  • ③ 是否同意(组内)专业调剂选项。

(6) 实行平行志愿,每个考生最多可以填报 48 个院校专业组志愿,系统需要记录每个考生填报的院校专业组志愿的填报顺序;同一个考生,同一个高校的同一个专业组,最多只能填报一次。

1. 请画出该数据库系统的 EER 模型图(不需要标注属性上的基数约束)。

alt text

2. 请将上述 EER 图转换成关系模型,并写出用于记录考生志愿填报情况的关系上的所有候选码。

关系模型:

  • 考生(准考证号,姓名,性别,总成绩,考生类型,语文成绩,数学成绩,外语成绩)
  • 文史类考生(准考证号,历史成绩)
  • 理工类考生(准考证号,物理成绩)
  • 再选科目(准考证号,再选科目名称,再选科目成绩)
  • 高校(高校代码,名称)
  • 专业组(高校代码,专业组代码,首选科目,再选科目)
  • 专业(高校代码,专业代码,名称)
  • 招生计划(高校代码,专业组代码,专业代码,招生计划数)
  • 专业组志愿(准考证号,高校代码,专业组代码,调剂,专业组顺序)
  • 组内专业选择(准考证号,高校代码,专业组代码,专业代码,专业顺序)

用于记录考生志愿填报情况的关系上的所有候选码:

  • 专业组志愿(准考证号,高校代码,专业组代码,调剂,专业组顺序):
    • 候选码:(准考证号,高校代码,专业组代码)和(准考证号, 专业组顺序)
  • 组内专业选择(准考证号,高校代码,专业组代码,专业代码,专业顺序):
    • 候选码:(准考证号,高校代码,专业组代码,专业代码)和(准考证号,高校代码,专业组代码,专业顺序)

标题:DB2606 - 数据库设计

作者:Zwing

创建于:2026-08-08 18:52:00

更新于:2026-08-08 12:06:24

链接:https://zanytriumph.github.io/posts/数据库作业-6.html

版权声明:本文章采用 CC BY-NC-SA 4.0 进行许可