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

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

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

我知道这个主题没有确切的答案,因为它取决于许多主题,但如果您有时间分享关于如何收集关键字的想法和想法,请将它们存储到数据库中。伪代码就可以了,或者简单的英语。

这是我的想法

从用户那里收集关键字

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

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

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

文本字段包含 "one two three"

问题 通过使用这种方法,当我想要显示彼此分开的关键字时,我就会遇到问题。我想用“,”(逗号)分隔每个单词,但是如果关键字有多个单词怎么办?

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

请分享您的想法。

谢谢

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

最佳答案

听起来您想要建立记录和关键字的一对多关系。最好使用三个表来实现:

第一个表应该有记录,并且没有对关键字的引用。

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

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

关于c# - 在数据库中存储关键字的最佳方法是什么,与语言无关,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18853842/

相关文章:

javascript - 如何使用 C# 从 HTML 页面中删除 &lt;script&gt; 标签?

c# - CRM 2011 Silverlight 应用程序 - 无法将项目添加到 DataGridTemplateColumn 单元格内的组合框

java - 解决 URI 在 Jersey 中匹配的资源+方法

.net - 集成框架.NET,如camel/spring 集成

c# - WPF 全局异常处理程序

c# - 'propertyName' 不能用作实体类型 'typeName' 的属性,因为它被配置为导航

java - C# 和 Java 规范在有符号整数溢出时是否阐明了相同的行为?

java - 在 Swing 应用程序中使用本地镜像或音频文件?

java - 自从更改 SpringBoot 依赖性以来,在空字段上加入时出现 Freemarker 错误

c# - 如何在没有 app.conf 文件的情况下使用 EF Code-First?