2013-10-24 47 views
1

我爲Android製作了一個詞彙應用程序,該應用程序擁有存儲在本地數據庫(SQLite)中約5000字的列表,並且我想知道哪些詞比其他詞更難。數據庫設計:我應該如何在MySQL中存儲'單詞難度'?

爲了找到答案,我想添加一個非常簡單的功能,在屏幕上放置兩個隨機單詞,要求用戶選擇更難的單詞。然後會顯示另一對隨機單詞,只要用戶需要,該過程可以重複。參與這個'更困難的單詞'的用戶越多,理論上應用程序就能夠將簡單的單詞與簡單的單詞區分開來。由於難度取決於所有用戶的輸入,我知道我需要在線跟蹤它,以便每個應用程序都可以從我的網站(這是MySQL)的數據庫中獲取它們。我不確定什麼是最有效的方法來跟蹤難度,但我想出了兩種可能的解決方案:

1)添加一個difficulty列,它將整數值保存到單詞表中。然後,對於用戶查看和排列的每一對單詞,他/她選擇的單詞難度會增加1,而沒有選擇的單詞將難以減少1。我可以簡單地用order by這個整數值來獲得最難的。

2)具有兩列,以及moreless,持有字(或的話ID's基於每個用戶進行選擇的結果,以節省空間)創建difficulty表。我仍然不確定我將如何得到最難的單詞 - group byorder by的一些組合?

我的第二個解決方案的好處是我可以知道每個單詞有多少次被看到(more列中包含單詞+ less列中包含該單詞的行的#行)。這有助於統計數據,例如,如果我想知道哪個單詞的比例最高爲more/less。但是它也會佔用比我第一個建議的解決方案更多的空間,並且不知道它如何擴展。

您認爲哪種解決方案更好,或者我應該考慮哪些其他方案?

+1

這個問題似乎是脫離主題,因爲它是關於應用程序設計,而不是數據庫設計 –

+0

@JoelBrown你是說'數據庫設計'是一個糟糕的標籤選擇,或者這個問題是更好的StackOverflow而不是這個網站?我主要關心我應該使用什麼結構來存儲這些信息 - 它可能是針對應用程序的,但我只是想給出上下文。 –

+0

它是「它的」,而不是「它」 – Strawberry

回答

0

你試過這個獅身人面像嗎?猜猜像獅身人面像這樣的全文搜索引擎會以很好的性能解決問題。

+0

我剛纔看着它,因爲我以前從來沒有聽說過獅身人面像,但我不明白它可以如何幫助 –

相關問題