我应该如何更改我的 html 表单的数据库布局以使其更具可扩展性?

我有一个 HTML 表单,当前将结果发送到数据库。这些问题被硬编码到 html 页面,我试图使表单更具可扩展性、动态性和灵活性。

有人建议我应该为问题、选择和提交的答案设置不同的表格。我在 Excel 中勾勒出一个布局,现在我已经编写了用于创建表格的脚本,但我仍然面临着question_choiceX列的问题。如果有人需要提出一个有 36 个可能答案的问题怎么办?还是100?这些可能是罕见的情况,但我承认在创建数据库时我不能忽略它们,否则我以后可能会遇到大问题。

由于 SQL 没有数组,所以我一直在努力思考,并且已经实现了一种可能的解决方案,但我不确定这是否是一种好的做法,而且它也不完美:

  • 使这些question_choiceX列仅成为一个question_choices列,该列FOREIGN KEY引用另一个表,该表专用于该单个问题的所有可能选择。我认为这不是非常理想的,因为那样我最终可能会得到大量的表格。如果我之后需要为问题添加更多答案选择,这也无济于事。


森林海
浏览 139回答 1
1回答

人到中年有点甜

这些是多对多的关系。有一个问题表。(每个问题一行)。有一个答案表。(每个答案一行)。(您只需要一张答案表,而不是每个问题一张)。在他们之间有一个桥接表,将答案与他们所针对的问题联系起来。有一张用户表或一张尝试回答问题的表。在它和答案之间有一个桥接表。桥接表通常有两个外键,一个在它们桥接的每个表上。您可以将这两个外键用作桥表本身的复合主键。
打开App,查看更多内容
随时随地看视频慕课网APP