任务1.3.1 设计学生成绩管理系统数据库概念数据模型
微课1-4
设计学生成绩管理系统数据库概念数据模型
概念数据模型是在了解用户的需求、用户的业务领域及流程后,经过分析和总结,提炼出来的用以描述用户业务需求的一些概念性内容。现以学生成绩管理系统数据库为例,讲解概念数据模型的设计过程。
1.需求分析
在进行概念数据模型设计前,需要充分了解与分析用户需求。
(1)绘制组织结构图。组织结构是用户业务流程与信息的载体,能为设计人员理解企业的业务、确定系统范围提供帮助。学生成绩管理系统数据库的组织结构图如图1-13所示。
(2)绘制业务用例图。收集资料,并对资料进行分析、整理,绘制出学生成绩管理系统数据库业务用例图,如图1-14所示。
图1-13 学生成绩管理系统数据库的组织结构图
图1-14 学生成绩管理系统数据库业务用例图
(3)了解功能需求。对学生成绩管理系统数据库中涉及的各部门进行调研,得到学生成绩管理系统数据库的功能需求如下。
① 学籍管理功能:用于添加、修改、删除学生信息。
② 教务管理功能:包含成绩管理和课程管理两个子功能,分别用于添加、修改、删除成绩和课程。
(4)生成数据字典。针对学生成绩管理系统数据库的功能需求,对学生成绩管理系统数据库中涉及的各部门业务流程和数据流程进行分析,得到的数据项简述如下。
① 学生信息:学号、姓名、专业、性别、出生日期、总学分、照片、备注。
② 课程信息:课程号、课程名称、开课学期、学时、学分。
③ 选课信息:学号、课程号、成绩。
2.数据库概念设计
根据学生成绩管理系统数据库的需求分析,进行概念设计。
(1)定义实体。实体集合的成员都有一个共同的特征和属性集,可以从收集的源材料——基本数据资料表中直接或间接标识出大部分实体。根据源材料名字表中表示物的术语及以“代码”结尾的术语,如客户代码、代理商代码、产品代码等,将其名词部分代表的实体标识出来,从而初步找出潜在的实体,形成实体表。
根据学生成绩管理系统数据库的需求分析,可知学生成绩管理系统数据库中存在学生、课程两个实体。
(2)定义联系。根据实际的业务需求、规则和实际情况确定实体联系、联系名和说明,确定联系类型,即一对一、一对多或者多对多。
根据需求分析可知,学生和课程之间存在选课的联系。一名学生可以选修多门课程,一门课程可以被多名学生选修,那么学生和课程之间的选课联系是多对多联系,并且派生出成绩作为联系的属性。
(3)定义主键。为已定义的实体标识候选键,以便唯一识别每个实体的实例,再从候选键中确定主键。为了确定主键和联系的有效性,需要利用非空规则和非多值规则,即一个实体实例的主键不能是空值,也不能在同一个时刻有一个以上的值。
根据需求分析,找出实体学生的主键为学号,实体课程的主键为课程号。
(4)定义属性。从源数据表中抽取说明性的名词生成属性表,确定属性的所有者,定义非主键属性,检查属性的非空及非多值规则。此外,还要检查完全依赖函数规则和非传递依赖规则,保证一个非主键属性必须依赖于整个主键且只依赖于主键。
根据需求分析的数据字典可以得到实体学生有学号、姓名、性别、出生日期、专业等属性,实体课程有课程号、课程名称、学时和学分等属性。
(5)定义其他对象和规则。定义属性的数据类型、长度、精度、非空、默认值和约束规则等。定义触发器、存储过程、视图、角色、同义词和序列等对象信息。
(6)E-R模型设计。根据以上分析,学生成绩管理系统数据库的概念设计E-R模型如图1-9所示。