一个考试系统的数据组织分析

173 阅读2分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第6天,点击查看活动详情

上一篇将考试系统可能有什么、由什么构成进行了发散的思考,这一篇要将考虑到的数据与数据库联系起来。这一系列建议囤起来一起看。

一、实体与数据的联系分析

(一)      考试

唯一标识、考试名称、所属科目、难度、试卷、时长(分钟)、开始时间。

一次考试如果随机选题,大家考的都不一样的话,那么试卷本身应该在外面定义,外键关联这个考试。同理监考人也不一定只有一个。

(二)      试卷数据

所属考试、题目集合、地点、监考人

试卷数据里本质上是一道道的题目,多个题目组成一张试卷,每个题目还有分数属性。

(三)      题目数据

唯一标识、所属科目、题目类型、知识点概要、题目难度、题目基本分值、题目答案。

题目的分值考虑是后续可以自己定义的,一道道题目组成一张试卷

(四)      答题数据

所属试卷、所属考生、题目编号、题目唯一标识、题目回答、题目得分。

 

(五)      人员数据

人员唯一标识号码、人员类型、姓名、所属组织、其他相关信息

给人员分类型,并给人员设立所属组织一直是权限管理的经典逻辑。

(六)      组织数据

组织标识、组织类型、组织名称、上级组织

组织是个自关联的数据,有层级,像一颗树一样

二、更形象的阐述

下面用一个例子再次梳理这个系统的逻辑,这样能够更容易理解一些。

一场考试是这个系统的最小单元。

学校举办了一场数学考试,名字叫高二下半学期数学期中测试。这个考试在各个班级的教室里开展,每个人随机组卷。

卷子由考生参与考试、监考人监考,在一个地点发放给学生。学生答完后生成了一份自己的解答。

考试结束后,年级组长召集自己年级相关科目的老师进行批改。客观题自己出成绩、主观题老师改了后将成绩放进去。

学生考试后过段时间登录系统查看自己的考试成绩。

学校里的行政层级和学生、老师的数据以及人的权限是预设的,这些信息在考试系统运转之前就存在,或者存在一部分。

下一篇我将开启这个项目,并实现第一步的人员数据管理与维护的功能。