我的网站(ASP.NET/C#/MS-SQL 2005)有多个部分允许评论(用户个人资料,图片页面,视频等)。我想将所有内容存储在一个注释表中。
我的问题是将评论链接回其父级。用户配置文件的主键是uniqueidentifier,而图像和视频使用int。我希望从评论到其父母有一个外键关系。
对此最佳做法是什么?
答案 0 :(得分:1)
这里有关于最佳做法的争论。我的意见是使用代理id来做所有事情。无论您是否需要,甚至可以将其用于用户个人资料。然后,您只需处理一个“模式”来连接相关实体。这使您可以根据需要自动化大量样板代码。即使你不自动化样板文件,它也会更容易编写,并且不易出错。
答案 1 :(得分:1)
我会使用连接表,每个允许注释的部分一个。然后你可以使用你想要的任何键作为注释表,你的连接表只需要从你的节表和你的注释表中获得标识符。
user_profiles
id uniqueidentifier
...
comments
id int
...
user_profile_comments
profile_id uniqueidentifier
comment_id int