我正在为一个语言学习应用程序在 MySql 中设计一个数据库。这里我有几个表(实体)与它们相关的测试:
grammar
,task_type
,和text
。所以,我的测试表中需要一个外键用于其中一个表。
我见过几种解决方案,例如creating nullable fields或creating a relationship table。但是,建议我不要在单个关系表中使用可空字段
text_ID
、grammar_ID
和 task_type_ID
,因为这不是一个好的设计;在创建如下几个关系表时,也会迫使我为 questions
和 answers
创建单独的表,这些表具有完全相同的字段,但外键具有关系 ID.
我应该如何设计这个数据库来避免表重复?