今天版主chenfeng给我出的一个题目,欢迎大家一起来锻炼锻炼脑子
时间:2010-09-20
来源:互联网
Feng 说:
就是一个在线考试的表设计
Feng 说:
你怎么设计考题和用户答题
有单选,多选。还需要统计用户答题的趋势,例如,a回答多少,b回答多少
想想吧。前几天有人问我这个。。。
这个比mda那个靠普。。。
Eisen 说:
……
这个难住我了
我似乎从来没出过考题呢
Feng 说:
仔细想想
这个其实很好玩的
要能够简单统计出那些单选,哪些是多选吧之类的
Eisen 说:
有什么好玩的?
Feng 说:
这个表结构设计要花心思的。。。
你试试看你会设计出什么样子。。。
Eisen 说:
这个……
还真想不出来
一点感觉都没有呢
Feng 说:
想想沙。
我要是考官,我就问dba这种问题。。。
Eisen 说:
还真想不出来
你说说呢?
Feng 说:
不说
。。。
自己想去吧
洗尿布时最合适想这个了
Eisen 说:
给点提示啦
Feng 说:
题目答案你准备怎么表示?
用户回答的答案呢?
统计怎么做?
数据量怎么样最小化?
Eisen 说:
是啊
你这么一说,发觉还真是很麻烦的一个事情
Feng 说:
哈哈。我不说了。。。
勾起你的兴趣就好了。。。。
就是一个在线考试的表设计
Feng 说:
你怎么设计考题和用户答题
有单选,多选。还需要统计用户答题的趋势,例如,a回答多少,b回答多少
想想吧。前几天有人问我这个。。。
这个比mda那个靠普。。。
Eisen 说:
……
这个难住我了
我似乎从来没出过考题呢
Feng 说:
仔细想想
这个其实很好玩的
要能够简单统计出那些单选,哪些是多选吧之类的
Eisen 说:
有什么好玩的?
Feng 说:
这个表结构设计要花心思的。。。
你试试看你会设计出什么样子。。。
Eisen 说:
这个……
还真想不出来
一点感觉都没有呢
Feng 说:
想想沙。
我要是考官,我就问dba这种问题。。。
Eisen 说:
还真想不出来
你说说呢?
Feng 说:
不说
。。。
自己想去吧
洗尿布时最合适想这个了
Eisen 说:
给点提示啦
Feng 说:
题目答案你准备怎么表示?
用户回答的答案呢?
统计怎么做?
数据量怎么样最小化?
Eisen 说:
是啊
你这么一说,发觉还真是很麻烦的一个事情
Feng 说:
哈哈。我不说了。。。
勾起你的兴趣就好了。。。。
作者: Eisen 发布时间: 2010-09-20
我现在的想法是,设计成两个表,一个是题目答案表
create table Answers
(title int,A boolean,B boolean,C boolean,D boolean)
里面存放考题答案,例如题目1是多选bd,那么就insert Answers values(1,false,true,false,true)
一个是考生答题表
create table Papers
(id varchar(10),title int,answer varchar(4))
里面存放考生答案,例如考号0000000301答题7选的是cd,那么就insert Papers values('0000000301',7,'cd')
这样可以很快地统计考生答题的趋势,也可以通过动态sql给出考生得分,至于单选多选,可以统计一下题目答案表就行了。
不知道兄弟们有什么指点吗?
create table Answers
(title int,A boolean,B boolean,C boolean,D boolean)
里面存放考题答案,例如题目1是多选bd,那么就insert Answers values(1,false,true,false,true)
一个是考生答题表
create table Papers
(id varchar(10),title int,answer varchar(4))
里面存放考生答案,例如考号0000000301答题7选的是cd,那么就insert Papers values('0000000301',7,'cd')
这样可以很快地统计考生答题的趋势,也可以通过动态sql给出考生得分,至于单选多选,可以统计一下题目答案表就行了。
不知道兄弟们有什么指点吗?
作者: Eisen 发布时间: 2010-09-20
这样是不对的,四个选项四个字段,那新增选项怎么处理?
作者: chenfeng825 发布时间: 2010-09-20
那把Answer表改成
create table Answer
(title int,option char(1),value boolean)
这样记录考试答案,
例如,第1题正确答案是bd,那么就
insert Answer values(1,'b',true)
insert Answer values(1,'d',true)
这样行不行?
create table Answer
(title int,option char(1),value boolean)
这样记录考试答案,
例如,第1题正确答案是bd,那么就
insert Answer values(1,'b',true)
insert Answer values(1,'d',true)
这样行不行?
作者: Eisen 发布时间: 2010-09-20
这样看起来合理多了,如果这样就之需要 1,'a' | 1,'b'就好。true没有意义了
往下:统计考试结果可是有点难搞了。
往下:统计考试结果可是有点难搞了。
作者: chenfeng825 发布时间: 2010-09-20
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28