我在SQL Server数据库表中有四种类型的数据:论坛主题,文章主题,聊天主题和 QnA主题。它们具有相同类型的列:ID
,Title
,Content
,User
,type
等。唯一的区别是type
列用于检测当前内容是论坛主题(type
= 0)还是文章主题(type
= 1)等等。
我的同事说最好将它们存储在单独的表格中,即ForumTopics
,Articles
,Chats
,QnAs
。但在我看来这不是一个好主意,因为基于这些内容的C#方法将是不同的,要么我必须为每个表的每个操作编写具有相同逻辑的多个函数,或者在一个函数中对其进行条件检查a < em>论坛主题(type
= 0)或文章主题(type
= 1)或其他。
请告诉我哪种方法更好?
答案 0 :(得分:4)
一个表是更好的方法,因为它将在未来为您提供灵活性。您将能够执行以下操作:
除了多个表格更难以维护而你是对的。您的C#代码以及多个表格将会有更多复杂性和重复性。
答案 1 :(得分:1)
使用一个表是更好的方法,因为如果数据存储在单独的表中,则必须编写复杂查询,因此很难维护数据。
如果使用多个表,则必须使用连接或子查询来检索导致性能降低的数据。
所以选择一张桌子。