这是我目前的评论系统设计:

我正在为一个有很多区域、博客、教程、手册等的网站开发它。由于应该为每个 ( tblBlogComments, tblTutorialComments) 等开发一个单独的评论表,我正在尝试寻找一个适合所有人的结构方法。
通过这种方式,我可以将评论系统变成一个 Web 控件,然后将其放在我想要评论的任何页面上。这意味着我只有一套规则,一套代码文件需要维护。
唯一的问题是,想出一种“不错”的方法来确定哪个部分(博客/教程/手册)属于。
例如,一种解决方案是:
tblComment
-------------
Section (int)
SectionIdentifier (int)
Run Code Online (Sandbox Code Playgroud)
其中“ Section”映射到站点每个部分的唯一值,EG:
Blog = 1
Articles = 2
Tutorials = 3
...
Run Code Online (Sandbox Code Playgroud)
ASectionIdentifier是该页面的某种唯一 ID,例如:
ViewBlog.aspx?ID=5
Run Code Online (Sandbox Code Playgroud)
这将是第1节,标识5.所以,现在有一个评论Section = 1,SectionIdentifier = 5表明它是博客条目数5的注释。
这很好用,但代价是可维护性和稳固的结构,因为它SectionIdentifier是匿名的,无法建立任何关系。
这种设计可以吗,还是有更好的解决方案(IE 某种用于评论的父表?)
asp.net database-design foreign-keys normalization relational-database