首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >闪卡语言项目的数据库架构/逻辑

问闪卡语言项目的数据库架构/逻辑
EN

Stack Overflow用户
提问于 2012-10-29 02:46:26
回答 1查看 1.4K关注 0票数 0

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

​

link to the image

我对每种语言都有一个表,表中有4个字段。一个值,例如'the dog',词性(名词),缩写和拼写。我把所有的单词都收集到一个叫做“翻译”(或抽认卡)的表中,在这个表中,所有的单词都汇集在一起。还有另外两个表,但我想重点保存不同的抽认卡。

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

有人知道如何让这个数据库模式变得更好吗?

提前感谢!:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-10-25 13:30:39

您的设置没有任何问题。

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

英语+法语+塔加罗语+德语表为一表:

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

language字段将根据另一个表进行填充:

语言{ language }

language表中的值为:法语、英语、塔加洛语、德语

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

当你学习一门特定的语言时,你只需要使用sql语句,比如:

where language=“法语”

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13111869

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档