【发布时间】:2019-02-07 08:20:53
【问题描述】:
我正在设计一个在线语言词典数据库,并且我使用了关系模型。目前,我正处于计划阶段。我创建了其中的大部分,但我一直坚持创建存储单词类型指定(名词、动词等)的数据库的一部分。下面是数据库的例子:
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 1 ---> noun, masculine, singular
word 2 ---> verb, transitive
word 3 ---> adjective, derived, masculine, singular
etc.
我的问题是最好的方法是什么?我想遵循规范化规则,所以我不想在数据库中重复条目,我想创建一些“参考”表并从那里获取单词类型。最重要的部分是我的特权注册用户在线词典能够通过表单插入新单词,这将填满此 RD 模型中所有必需的单元格,因此我在创建数据库时也必须考虑该属性。
【问题讨论】:
-
对此没有“最佳”方法。人类语言无法规范化,因此试图找到规范人类语言的“最佳”方法是徒劳的。无论你采取什么方法都会有缺点。您可以期望的最好方法是适用于您的特定用例的方法 - 这意味着只有您才能确定最佳方法,可能需要经过大量的反复试验和调整。
-
当我写“最佳方法”时,我指的是关于如何解决这个问题的“想法”。我知道总是有缺点和好的选择和坏的选择,但我也想听听其他意见和解决方案。
-
很遗憾,这里不适合征求开放式“想法”。
标签: mysql database database-design relational-database