数据库设计:我应该如何在MySQL中存储“单词难度”?

时间:2013-10-24 19:09:22

标签: mysql database-design

我为Android创建了一个词汇表应用程序,其中包含存储在本地数据库(SQLite)中的~5000个单词的列表,我想找出哪些单词比其他单词更难。

为了找到答案,我正在考虑添加一个非常简单的功能,在屏幕上放置两个随机单词,要求用户选择更难的单词。然后将显示另一对随机单词,并且只要用户想要,就可以重复该过程。参与这个“更难的单词”的用户越多,理论上该应用程序就能够将难以理解的单词与简单的单词区分开来。

由于困难将基于所有用户的输入,我知道我需要在线跟踪它,以便每个应用程序可以从我的网站(即MySQL)上的数据库中获取它们。我不确定什么是最有效的方法来跟踪难度,但我想出了两个可能的解决方案:

1)添加一个包含整数值的difficulty列到单词表。然后,对于用户查看和排名的每一对单词,他/她选择更难的单词将难以增加1,而未选择的单词将难以减少1。我可以简单地order by整数值来获得最难的值。

2)创建一个difficulty表,其中包含两列moreless,根据结果保存单词(或ID's单词以节省空间)用户所做的每个选择。我仍然不确定如何获得最难的词 - group byorder by的某种组合?

我的第二个解决方案的好处是我可以知道每个单词被看到多少次(more列中包含less列中的单词+#行的行数#包含这个词)。这有助于统计数据,例如我想知道哪个词的more / less比率最高。但它也会比我的第一个建议的解决方案占用更多的空间,并且不知道它可以如何扩展。

您认为哪种解决方案更好,或者我应该考虑哪些其他解决方案?

1 个答案:

答案 0 :(得分:0)

你为此尝试过狮身人面像吗?猜猜像sphinx这样的全文搜索引擎可以很好地解决这个问题。

相关问题