在高考志愿填报系统的开发中,数据库设计是核心环节,而扩展实体-关系图(Enhanced Entity-Relationship Diagram,EER图)作为数据库概念设计的核心工具,能够清晰、直观地描述系统中实体、属性、关系及约束,为后续的逻辑设计和物理设计奠定基础,本文将详细介绍高考志愿填报数据库系统EER图的绘制方法,从需求分析到图形化呈现,帮助读者理清系统结构,构建高效、合理的数据库模型。
EER图概述:为何需要EER图?
EER图是传统实体-关系图(ER图)的扩展,增加了弱实体、派生属性、多值属性、子类/超类(继承)等语义更丰富的元素,能更精准地现实世界复杂模型,对于高考志愿填报系统而言,涉及考生、院校、专业、志愿、录取信息等多个核心实体,且实体间关系(如“考生填报志愿”“院校录取考生”)错综复杂,EER图能帮助设计者:
- 明确系统中的核心实体及其属性;
- 梳理实体间的关联关系(如1:1、1:N、M:N);
- 定义特殊约束(如“志愿顺序”“选考科目要求”);
- 避免数据冗余和异常,确保数据库的规范性。
需求分析:明确系统核心功能与实体
绘制EER图的第一步是需求分析,需梳理高考志愿填报系统的核心业务场景,识别关键实体及其交互。
核心功能模块
高考志愿填报系统通常包含以下功能:
- 考生信息管理:考生注册、个人信息填报(成绩、选考科目等)、志愿填报;
- 院校专业管理:院校信息发布(名称、类型、地区等)、专业信息发布(名称、选考要求、学制等);
- 志愿处理:志愿提交、修改、锁定;
- 录取管理:院校投档、专业录取、录取结果查询;
- 系统管理:用户权限控制(管理员、考生、院校)、数据维护。
核心实体识别
从功能模块中提炼核心实体(现实世界中可区分的“事物”):
- 考生(Student):系统的核心用户,包含个人信息、成绩等;
- 院校(University):招生单位,包含院校基本信息;
- 专业(Major):院校下设的招生专业,包含专业要求等;
- 志愿(Application):考生填报的院校专业组合,是连接考生与院校/专业的桥梁;
- 录取信息(Admission):志愿录取的结果,关联考生、院校、专业;
- 科目(Subject):高考科目(如语文、数学、物理等),用于选考科目要求;
- 地区(Region):院校所在地区(如北京市、上海市);
- 管理员(Administrator):系统维护人员。
定义实体属性:明确实体的“特征”
实体属性是描述实体特征的“数据项”,需区分主键(Primary Key,PK)(唯一标识实体)、外键(Foreign Key,FK)(关联其他实体)及普通属性,以下是核心实体的属性定义:
考生(Student)
StudentID(PK):考生唯一标识(如身份证号或系统ID);Name:姓名;IDCard:身份证号(唯一);GaokaoScore:高考总分;SubjectCombination:选






