什么是在数据库中存储关键字的最佳方法,语言无关

时间:2013-09-17 15:25:05

标签: c# java .net database-design language-agnostic

我的问题标题是不言自明的。

我知道这个主题没有确切的答案,因为它取决于很多主题,但是如果你有时间分享想法并考虑如何收集关键词,请将它们存储到数据库中。伪代码就好了,或简单的英文。

这就是我的想法

从用户那里收集关键字

用户使用某种形式(网络或桌面)输入并将其发送到数据库。

txtKeyword1 = "one"; txtKeyword2 = "two"; txtKeyword3= "three";

关键字在数据库中的表示方式

包含"one two three"

的TEXT字段

问题 使用这种方法,当我想显示彼此分开的关键字时,我就会遇到问题。我想用','(逗号)分隔每个单词,但如果关键字有多个单词呢?

我是否应该在viewmodel中再使用一个属性来将分隔的关键字表示为List<string>Keywords属性(一旦我找到解决方案如何将它们分开),或者我应该将此属性直接存储在域对象中。

请分享你的想法。

谢谢

请询问您是否需要更多信息。

1 个答案:

答案 0 :(得分:3)

听起来你想拥有一对多的记录和关键字关系。使用三个表最佳实现:

第一个表应该有记录,而不是对关键字的引用。

第二个表格应该只是单个关键字。

最终表是查找表。对于记录具有的每个关键字,此表具有关键字索引的条目和关键字的索引。