0

我现在正在创建一个应用程序(使用 MYSQL),用于使用简单的抽认卡学习单词/语言。真正让我头疼的是如何构建模式(表)。关于如何让它变得非常简单有很多想法,然后我继续像这样构建它。

数据库模式 链接到图片

我为每种语言都有一个表格,其中有 4 个字段。一个值,例如“狗”、词性(名词)、缩写和拼写。我将所有单个单词收集在一个名为“翻译”(或抽认卡)的表格中,所有单词都放在一起。还有另外 2 张桌子,但我想专注于保存不同的抽认卡。

使用这种模式,我可以制作支持超过 2 种语言的抽认卡,而无需完成所有这些(翻译中的字段可以为空)。问题是,如果添加了新语言,我必须在翻译中创建另一个表和一个新字段。我实际上不知道它是好是坏,但我认为这里有比这个更好的方法。有了这些信息:

有谁知道如何使这个数据库模式更好?

提前致谢!:)

4

1 回答 1

1

你的设置没有问题。

如果是我,我会将您的语言表合并为一个,然后在该表中添加一个字段,该字段将是基于预设值的字段。优点是有人想为您的数据库添加额外的语言,他们不必添加新表并为新表添加编程。相反,人们只需要在查找表中添加一个条目。

英语+法语+他加禄语+德语表到一张表:

vocab{ id value partofspeech 缩写拼写语言 }

语言字段将根据另一个表填充:

语言{语言}

语言表中的值为: 法语 英语 他加禄语 德语

稍后当您决定学习西班牙语时,只需将其添加到列表中即可。

当您学习特定语言时,您只需使用 sql 语句,例如:

其中语言=“法语”

于 2013-10-25T05:30:39.283 回答