在使用单词类型(名词、动词…)的语言词典时,最好的方法是什么?

ki0zmccv  于 2021-06-20  发布在  Mysql
关注(0)|答案(1)|浏览(274)

我正在设计一个在线语言词典数据库,我使用了一个关系模型。目前,我正处于计划阶段。我创建了它的大部分,但是我一直在创建数据库中存储单词类型名称(名词、动词等)的部分。以下是数据库示例:

language1_words
------------------------
word1_id  int(11)  AI  PK
word1     varchar(128)

junc_lang1_lang2
------------------------
word1_id  int(11) FK(language1_words)
word2_id  int(11) FK(language2_words)

language2_words
------------------------
word2_id  int(11)  AI  PK
word2     varchar(128)

这就是我现在创造的。现在,我想添加word type表并将其连接到前面提到的数据库部分。对于每一个单词都应该有相应的词类。举个例子:

word 1 ---> noun, masculine, singular
word 2 ---> verb, transitive
word 3 ---> adjective, derived, masculine, singular
etc.

我的问题是什么是最好的方法来做这件事?我想遵循规范化规则,所以我不想在数据库中重复条目,我想创建一些“引用”表并从中获取单词类型。最重要的部分是我的在线词典能够让注册用户通过表单插入新词,这将填充这个rd模型中所有必需的单元格,所以我在创建数据库时也必须考虑这个属性。

fdbelqdn

fdbelqdn1#

对于您提到的特定情况,要用一种类型的单词对单词进行分类,您需要:
一张table WordTypesid 以及 description .
language1_words 以及 language2_words 有一个 word_type 指向(外键)的字段 WordTypes table。
如果每个单词都有不止一种类型,那么你就需要打破多对多的关系。
在这种情况下,除了 WordType 您需要一张额外的table WordByTypeword_id 以及 type_id ,第一个是 language*_words 第二把钥匙是打开门的钥匙 WordType table(在这种情况下,您不需要添加 word_type 字段到 language*_words 表格)。

相关问题