一个表或多个表,用于只有一列更改的数据

时间:2014-04-02 05:44:37

标签: c# mysql sql sql-server database

我在SQL Server数据库表中有四种类型的数据:论坛主题文章主题聊天主题 QnA主题。它们具有相同类型的列:IDTitleContentUsertype等。唯一的区别是type列用于检测当前内容是论坛主题type = 0)还是文章主题type = 1)等等。

我的同事说最好将它们存储在单独的表格中,即ForumTopicsArticlesChatsQnAs。但在我看来这不是一个好主意,因为基于这些内容的C#方法将是不同的,要么我必须为每个表的每个操作编写具有相同逻辑的多个函数,或者在一个函数中对其进行条件检查a < em>论坛主题(type = 0)或文章主题type = 1)或其他。

请告诉我哪种方法更好?

2 个答案:

答案 0 :(得分:4)

一个表是更好的方法,因为它将在未来为您提供灵活性。您将能够执行以下操作:

  • 为特定用户选择所有内容
  • 搜索所有标题中的内容

除了多个表格更难以维护而你是对的。您的C#代码以及多个表格将会有更多复杂性和重复性。

答案 1 :(得分:1)

使用一个表是更好的方法,因为如果数据存储在单独的表中,则必须编写复杂查询,因此很难维护数据。 如果使用多个表,则必须使用连接或子查询来检索导致性能降低的数据。
所以选择一张桌子。