【发布时间】:2021-02-04 22:15:24
【问题描述】:
我需要一些SQL设计思维的灵感,我刚刚开始学习SQL。我的知识非常有限,所以请多多包涵。。
我有一个测验应用程序,在 SQL 中,我有一整行,对应于每个测验问题和答案。它非常基础,而且设计得不是很好。但是这里有。
像这样..
我的要求是让用户能够在测验列表中的任何位置添加问题。例如,如果用户想在第 2 处添加新问题,则用户可以点击在位置 2 处添加问题,这会将新记录添加到数据库中并刷新页面以查看问题已重新排序和编号..
我的应用程序根据类别拉回数据。例如,如果用户想要查看我的应用程序中的历史类别。他们点击一个按钮,他们会看到标题列表和下面的按钮..
如您所见.. 我的桌子没有为此做好准备.. 谁能给我一些提示,告诉我如何在数据库中实现这一点。
非常感谢。
【问题讨论】:
-
只是提出一个想法。您可以使用问题的 id 和 InOrder 列创建另一个表。添加新问题时,您可以更新其他问题的 InOrder 值。之后,您可以通过加入问题表和排序表来排序问题,并将 InOrder 列用作排序列。
-
这里的实际问题是什么?订购问题?呈现连续的序数(但可能是任意顺序)?或者知道按下按钮时要删除/更改哪个问题/无论什么?
-
而且(我从某个地方知道,您昨天是否发布了有关该架构的内容?)您可能想要修改架构,而不是答案的列,您可以制作一个额外的一行表格每个答案。
-
谢谢大家的建议
-
@MonkeyDLuffy,我觉得这是正确的方法,我只是不知道如何根据添加到 questionId 的新 InOrder 值更新其他字段。你有例子吗?
标签: c# sql sql-server blazor