Skip to content
jzw edited this page Nov 16, 2012 · 9 revisions

题库

习题库是系统的核心表,记录各类学科的习题。 为了便于用户快速定位到自己寻找的习题,需要对习题进行分类,快速检索习题。

可考虑是否需要引入搜索引擎

数据库表设计

随着资源类型的增多,如习题,讲义,教学视频,可将此表提取为一张资源表。

DRIP_EXERCISE 习题(使用git跟踪习题内容的变化)

在习题中使用什么作为填空题的占位符?

列名 列描述 列类型 列长度 默认值 描述
DBID 主键标识 int 自增
CONTENT 习题内容(支持引入图片) text
EXER_TYPE 题型 char 2 单选、多选、填空、判断、问答和综合题等
EXER_CATEGORY 习题所属学科 char 10 (暂时将长度设为10)
CRT_TM 创建时间 datetime now()
CRT_USER_ID 创建人标识 bigint
UPT_TM 修改时间 datetime now()
UPT_USER_ID 修改人标识 bigint
WATCH_COUNT 被关注次数 int 0 派生字段
FAVORITE_COUNT 被收藏次数 int 0 派生字段
ANSWER_COUNT 被解答次数 int 0 派生字段

DRIP_EXER_OPTION 习题选项,用于选择题,完型填空题等

习题与选项之间的关系:1对n

列名 列描述 列类型 列长度
DBID 主键标识 int
EXER_ID 习题标识 int
CONTENT 选项的内容,如果是完型填空题则为空 text
OPT_SEQ 选项的排序 int 2

DRIP_ANSWER 习题答案表

题目与答案之间的关系:1对n

答案与选项之间的关系:1对1

答案与用户之间的关系:1对n

列名 列描述 列类型 列长度 默认值 描述
DBID 主键标识 int 自增
EXER_ID 习题标识 int
GUIDE 答题解析 text 答题思路
CRT_TM 创建时间 datetime
CRT_USER_ID 创建人标识 bigint
UPT_TM 修改时间 datetime
UPT_USER_ID 修改人标识 bigint
COMMENT_COUNT 被评论次数 int 0 派生字段

DRIP_ANSWER_DETAIL 用文本格式存储的答案

列名 列描述 列类型 列长度
DBID 主键标识 int
ANSWER_ID 答案标识 int
OPT_ID 答案选项标识,用于完型填空。如果没有选项,则为null int
CONTENT 文本答案 (注意,答案中也可能需要附图), 完型填空等,如果没有则为null text

注意OPT_ID与CONTENT之间的组合:

  • 如果是选择题,则只填OPT_ID;
  • 如果是完型填空题,则OPT_ID为位置标识,CONTENT为指定位置的答案
  • 如果是问答题,则只填写CONTENT
  • 如果是判断题,则只填写OPT_ID,因为通常判断题的OPTION都是固定的,需要特殊处理。

DRIP_EXER_GUIDE 习题解析

习题与习题解析之间的关系:1对1

习题解析与用户之间的关系:1对n

注意:习题与答案之间的关系是1对0到n,而习题与习题解析之间的关系是1对1。

列名 列描述 列类型 列长度
DBID 主键标识 int
EXER_ID 习题标识 int
CONTENT 习题解析内容 text
CRT_TM 创建时间 datetime
CRT_USER_ID 创建人标识 bigint
UPT_TM 修改时间 datetime
UPT_USER_ID 修改人标识 bigint

编码

Clone this wiki locally