假设我想为社区网站设计一个包含博客,照片,论坛等的数据库,一种方法是单独列出"帖子"的概念,博客条目,博客评论,照片,照片评论,一个论坛帖子都可以被认为是一个帖子.所以,我可能有一个名为Post [PostID,PostType,Title,Body ....]的表,PostType将告诉它是什么类型的帖子.
或者我可以使用更多表格,BlogPost,PhotoPost,ForumPost来设计这一整个事情,并且我将使用CommentType列留下评论它自己的表.
或者为所有类型的帖子都有一个Post表,但是有一个单独的Comment表.
为了完整,我正在使用ADO.NET Entity Framework来实现我的DAL.
现在的问题是,如果我采用上述任何路线影响我的数据库性能和可管理性,中间层设计和代码清晰度,EF性能等,会产生什么影响?
非常感谢你!
射线.
让我问你一下:
如果从现在起两年后您决定添加"音乐帖"作为博客类型,会发生什么?您是否必须为MusicPost创建一个新表,然后重新编写应用程序以对其进行集成?或者您更愿意登录到您的博客管理面板,在名为"音乐"的下拉框中添加博客类型,并以您的快乐方式?
在这种情况下,少桌子!