我在管理数据库方面颇为陌生,但我对自己想要完成的教学需求有了一个想法。为我的学生设计数据库
我打算在一些学生中存储有关英语技能水平的信息。我计划让每个学生登录到数据库。一旦出现,他们应该可以通过选中与特定问题相关的方框来评估自己的技能。
我有7个不同的类别,都包含一些问题。最重要的是,每个类别分为6个不同的级别。例如,听力理解具有A1,A2,B1,B2,C1,C2等级。每个级别代表不同的英语水平。这些类别都有一系列不同的问题。比如说,“我可以理解,如果有人说得慢一点,并使用清晰的语言。”
每个类别中的每个问题也有三个复选框。一个是学生可以检查他们是否可以针对具体问题回答“是”,一个是我(老师)在我确认他们可以时检查,另一个是学生填写的复选框,如果问题是他们的目标喜欢达到。
到目前为止,我已经为学生创建了一个表格,列出了包含大量问题的每个类别的所有7个类别和一个表格。我还有一个与学生表和类别列表相关的“走过去”表,因为直接链接它们会是我假设的多对多关系。
这是一个明智的设计这样的数据库的方式吗?
我现在最大的问题是如何将复选框添加到组合中。它们应该作为单独的表格添加,还是应该将它们与问题放在类别表中?显然,他们应该与每个学生以及每个问题相关联。
我还没有开始在不同的水平,因为我认为我应该使它与第一个级别的工作,然后添加所有其他级别。
感谢您耐心阅读。我希望我已经足够清楚,以便有可能帮助我。
这在创建表的可视化表示是一个看似复杂的话题。总之,你的设计存在问题。每个类别及其问题的表格都是设计的噩梦。当你添加类别时,你会添加表格......但是,不要去阅读对你的设计的批评,你可能会花更多的时间去熟悉其他人提出的解决方案:请参阅Michael Durrant的回答http://stackoverflow.com/问题/ 540885 /数据库设计调查系统 – gangreen
好的,谢谢你的评论。 它可能会更好地把所有的问题放在同一个表中,并给每个唯一的类别ID?当我添加更多关卡时,我会添加一个表,其中包含ID链接到较大表中每个问题的级别列表。 这是有道理的吗? –