Ruby on rails 管理表中许多关系的方法-Rails

Ruby on rails 管理表中许多关系的方法-Rails,ruby-on-rails,Ruby On Rails,我正试着编一本各种各样的字典——说“单词”。该词典大约有2000个单词,单词对用户来说可能具有某种状态。我最初的想法是一个包含基本数据(单词/定义等)的单词表,以及一个包含单词状态的连接表。然而,这意味着每个用户最多可以在联接表中创建2000个关系。我不知道这是否是一个问题,但它看起来很混乱和笨拙,而且任何合理数量的用户都可能给应用程序带来沉重的负担 我是这里的初学者,所以请告诉我这些类型的功能是否有一种形式/方法,以及实现它的最佳方式。我不完全确定单词的状态是什么意思,但一般来说,您希望将与您

我正试着编一本各种各样的字典——说“单词”。该词典大约有2000个单词,单词对用户来说可能具有某种状态。我最初的想法是一个包含基本数据(单词/定义等)的单词表,以及一个包含单词状态的连接表。然而,这意味着每个用户最多可以在联接表中创建2000个关系。我不知道这是否是一个问题,但它看起来很混乱和笨拙,而且任何合理数量的用户都可能给应用程序带来沉重的负担


我是这里的初学者,所以请告诉我这些类型的功能是否有一种形式/方法,以及实现它的最佳方式。

我不完全确定单词的状态是什么意思,但一般来说,您希望将与您的实体(在本例中,您的实体是word)相关的所有属性保留在同一个表中。我不明白你为什么需要第二个表格,除非你能再解释一下“状态”是什么意思。

我的意思是,用户可以有一个处于特定状态的单词,例如“已知”或“略微已知”。但是在实际的单词表上有这样的内容意味着每个用户都会为每个其他用户更新一个单词的状态,不是吗?。对于任何一个单词,用户A可能是“已知的”,用户B可能是“略微已知的”。对。这是有道理的。我得想一想怎样才能最好地做到这一点。3个表(学生、单词和状态)的问题意味着状态表可能有来自1个用户的多个条目,用于1个或多个单词。在这种情况下,你不知道哪一个是最新的。说得好。也许有比我更聪明的人可以回答这个问题。理论上,这意味着状态表中每个学生最多可以有2000个条目(每个单词对应一个条目/状态),而只有100个学生就已经有200000个条目了。感觉应该有更好的方法。谢谢你的回复。我想你可以让状态表有静态的状态条目(状态id 1是已知的,状态id 2是略微已知的),然后创建第四个表来引用这3个表,并将其称为“已知状态”,其中有一些字段,如student\u id、word\u id、status\u id。我认为这样会更好一些。据我所知,您可以对表施加约束,从而允许您在向表中添加新信息时更新或删除表中的条目。这将解决2000多个条目的问题,尽管这是高级的。谢谢你提供的额外信息