2012-10-28 32 views
0

我現在正在創建一個應用程序(使用MYSQL),用於使用簡單的flashcards學習單詞/語言。真正讓我頭痛的是如何構建模式(表格)。對如何使它變得非常簡單有很多想法,然後我繼續像這樣構造它。Flashcard語言項目的數據庫模式/邏輯

database schema link to the image

我有一個表每一種語言,它有4個領域。一個值,例如'狗',詞性(名詞),縮寫和拼寫的一部分。我收集了一個名爲「翻譯」(或閃卡)的表格中的所有單詞,它們彙集在一起​​。還有另外兩張桌子,但我想專注於保存不同的flashcard。使用這種模式,我可以製作支持2種以上語言的flashcards,而不需要全部做這些(翻譯中的字段可以爲空)。問題是,如果添加了新語言,我必須在翻譯中創建另一個表格和一個新字段。我其實不知道它是否壞,但我認爲在這裏有比這更好的方法。有了這些信息:

有沒有人有一個想法如何使這個數據庫模式更好?

在此先感謝! :)

回答

0

您的設置沒有任何問題。

如果是我,雖然我會將您的語言表合併爲一個,然後向該表中添加一個字段,該字段將基於預設值進行字段設置。好處是有人想爲你的數據庫添加一個額外的語言,他們不需要添加一個新表併爲新表添加編程。相反,只需要在查找表中添加一個條目即可。

英語+法國+他加祿語+德國表的一個表:

翻譯{ ID 值 partofspeech 縮寫 拼寫 語言 }

語言字段將基於另一表被填充:

語言{ 語言 }

在語言表中的數值是: 法國 英語 他加祿語 德國

後來,當你決定要學習西班牙語,你只需將其添加到列表中。

當你學習特定的語言,你會只使用一個SQL語句,如:

其中language =「法國」