数据库设计:更多的表与更少的表

Ray*_*Ray 5 oop database-design entity-framework

假设我想为社区网站设计一个包含博客,照片,论坛等的数据库,一种方法是单独列出"帖子"的概念,博客条目,博客评论,照片,照片评论,一个论坛帖子都可以被认为是一个帖子.所以,我可能有一个名为Post [PostID,PostType,Title,Body ....]的表,PostType将告诉它是什么类型的帖子.

或者我可以使用更多表格,BlogPost,PhotoPost,ForumPost来设计这一整个事情,并且我将使用CommentType列留下评论它自己的表.

或者为所有类型的帖子都有一个Post表,但是有一个单独的Comment表.

为了完整,我正在使用ADO.NET Entity Framework来实现我的DAL.

现在的问题是,如果我采用上述任何路线影响我的数据库性能和可管理性,中间层设计和代码清晰度,EF性能等,会产生什么影响?

非常感谢你!

射线.

cLF*_*aVA 5

让我问你一下:

如果从现在起两年后您决定添加"音乐帖"作为博客类型,会发生什么?您是否必须为MusicPost创建一个新表,然后重新编写应用程序以对其进行集成?或者您更愿意登录到您的博客管理面板,在名为"音乐"的下拉框中添加博客类型,并以您的快乐方式?

在这种情况下,少桌子!