我正在创建一个在线词典,为此我必须使用三种不同的词典:日常用语,化学用语,计算机用语。我有树选项:
1)创建三个不同的表,每个字典一个表
2)创建一个包含额外列的表,即:
id term dic_1_definition dic_2_definition dic_3_definition
----------------------------------------------------------------------
1 term1 definition
----------------------------------------------------------------------
2 term2 definition
----------------------------------------------------------------------
3 term3 definition
----------------------------------------------------------------------
4 term4 definition
----------------------------------------------------------------------
5 term5 definition definition
----------------------------------------------------------------------
etc.
3)创建一个带有额外“tag”列的表,并根据字典标记我的所有术语,即:
id term definition tag
------------------------------------
1 term1 definition dic_1
2 term2 definition dic_2
3 term3 definition dic_3
4 term4 definition dic_2
5 term1 definition dic_2
etc.
一个术语可以与一个或多个词典相关,但有不同的定义,例如,日常使用的术语可以与IT领域中的同一术语不同。这就是为什么term1(在我的上一个表中)可以被分配两个标记-
dic_1
(id 1)和dic_2
(id 5)。将来我会增加更多的词典,所以可能会有三本以上的词典。我想如果我使用选项2(带额外的列),我将在将来得到一个表和许多列。我不知道这对表演有没有坏处。
在我的情况下,哪种方法是最好的?哪个更快?为什么?我们非常感谢您的建议和其他选择。
谢谢您。
最佳答案
我想你应该有一个字典类型的查找表
字典类型(DTId,DTName)
给你换一张桌子
术语(TermID,TermName)
那么你的定义
定义(definitionid,TermID,Definition,DTId)
这应该管用。
关于mysql - MySQL数据库结构:更多列还是更多行?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/1819692/