首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >客户应用mysql设计系统

客户应用mysql设计系统
EN

Stack Overflow用户
提问于 2011-12-29 00:00:07
回答 2查看 138关注 0票数 0

我正在设计以下的应用程序:一个工作申请系统,允许学生申请工作。

基本上,公司可以创建一个定制的表格,学生谁有兴趣在他们的公司工作,必须填写。

我有以下表格:

//这存储了公司希望学生填写的表格的名称:

代码语言:javascript
复制
create table forms (
`id` INT(11),
`company_id` INT(11),
`name` varchar(255),
`date_added` date,
 PRIMARY KEY (`id`));


CREATE TABLE form_options
(
`id` INT(11) auto_increment,
`company_id` INT(11),
`form_id` INT(11),
`question` VARCHAR(255),
`active` int(2),
`position` int(4),
`type`  enum('ESSAY', 'QUESTION', 'YESNO', 'CHECKBOX', 'DROPDOWN', 'RADIO', 'FILE'),
`required` tinyint(1),
`data` text,
`date_added` date,
 PRIMARY KEY (`id`));

form_options存储公司添加到表单中的每个问题(存储在forms表中)。因此,让我们假设A公司创建了一个表格A,并想向学生提出以下问题:

您是如何来描述自己的?很好的B.负责任的C.努力工作的D.天才

下面的行被添加到窗体表中:

表格:

form)

  • date_added:
  • id: 1
  • company_id: 1
  • name: form A( the

2011-12-28 )

并将下一行添加到form_option表中。

1

  • company_id: 1

  • form_id: 1

  • 问题:您如何描述yourself?

  • active: 1( active question)

  • position: 1

  • 类型: question)

  • required:)(公司希望这是单选按钮类型question)

  • required:1)(是的,问题是required.)

  • data:{a:不错;b:负责;c:勤劳;d:天才}(这是一个序列化数组,存储学生对这个问题的可能选项)

问题是有很多公司。学生申请公司时,除了一般的表格(所有学生填写的表格)外,还必须填写公司的表格。我试图找出最好的方法来存储学生的答案,因为每个领域是不同的。就像存储公司表单答案的最佳表格结构是考虑一个问题一样,可以是一篇文章(文本)、单选按钮列表型问题(意思是值是整数或字母)等。这意味着学生对表单问题的回答可以是一篇文章(500个字符或更多字符)、一个字母(作为单选按钮类型问题的回答)或一行文本,等等。

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-12-29 00:23:19

我不知道php,所以不能提供完整的答案,但根据我在其他领域和语言方面的经验,我建议改用form_options form_questions

然后有一个form_answers表,其中包含form_idquestion_id和答案。

您还需要将“表单”重命名为类似于application_form的内容。

这样你就可以有桌子了:

代码语言:javascript
复制
application_form (id,name)
application_question (id,application_form_id)
application_answer (id,application_form_id, application_question_id)

我会把它烘干成:

代码语言:javascript
复制
application_form (id,name)  
question (id, application_form_id)  
answer (id, question_id, application_form_id)

不过,对问题和答案要小心。

一旦您意识到所需的全部复杂性和灵活性,您就很容易需要一个What mysql database tables and relationships would support a Q&A survey with conditional questions?

票数 0
EN

Stack Overflow用户

发布于 2011-12-29 00:26:25

text字段类型可以很好地解决这个问题。您可以在收音机、复选框和下拉列表的值中存储漂亮的文本答案。

答案

代码语言:javascript
复制
id (int)
student_id (int)
form_option_id (int)
answer (text)

文章,问题:这是不言自明的

yesno:这将是一个假设的无线电,所以只需存储无线电选项的值,它可以是“是”和“不是”。

复选框:存储复选框的值

下拉列表:存储下拉列表的值

收音机:储存收音机的价值

file:存储文件的路径

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8662688

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档