文章详情页
mysql - 这种分级一对多,且分级不平衡的模型该怎么设计表?
问题描述
最近遇到一个很纠结的业务模型: 要给一个教师培训机构设计题库,题库里每道题都隶属某个分支,关键奇葩就是在这个分支的定义上,这个分支在业务上是如下定义的: 首先,分学段:幼儿,小学,初中,高中 学段下面,是一级学科, 幼儿:综合素质,保教技能 小学:综合素质,教育能力,专业技术能力 初中:综合素质,教学能力,专业技术能力 高中:综合素质,教学能力,专业技术能力
然后,在“专业技术能力”下,还分语文,数学,英语。。。。等等第二级学科,且,小学,初中,高中拥有的下级学科还不一样。但是综合素质,教育能力这些又没有第二级学科。
于是这种分级不平衡现象导致这个题库里的题目出现一个很尴尬的现象 有的题目,属于一级学科,而有的题目,则属于二级学科
当然我是可以把题库表建成这样
题目 id 题目名称 所属 1 级学科 所属 2 级学科
但是我总觉这似乎哪里不对劲,但是又说不出到底哪不对头。 请各位指点
问题解答
回答1:最简单的办法就是设计成一棵树的结构
回答2:可能是这样的
学科(id,学科名称,科级,父级学科);
经供参考,具体可根据操作再划分一下,不一定非要一张表。
回答3:学科表(学科id,学科名,学科科级,上级科级,阶段id)题目表(题目id,所属学科id,题目内容)
回答4:新建三张表来解决,学段表、学科表、试题表学段表(id,名称)学科表(id,名称,级别,父级学科id)试题表(id,名称,试题内容,学段id,学科id)
排行榜