假设我有一个包含4种类型的数据库:邻居,城市,房屋和评论,就像这样
城市: 名称 ID
Neighborhood:
name
ID
CityID (foreign key to City:ID)
House:
name
ID
NeighborhoodID (foreign key to Neighborhood:ID)
CityID (foreign key to City:ID)
Comment:
ID
Text
???? (key to the subject of the comment)
我希望用户能够对城市,社区或者房屋发表评论。如何在SQL中表达这种关系?
我的一个想法是创建3个一对多关系表:
CommentToCity:
commentID
cityID
然后在获取城市列表时,我也可以在此表上进行联接以获取相关注释。然后我会为House和Neighbour创建类似的情况。
另一个想法是在City,House和Neighbour中拥有全局唯一标识符,然后将该全局ID作为注释中的外键。然后,在获取City时,它将在注释中查找该全局ID。
这些都是好方法吗?还有更好的方法吗?
答案 0 :(得分:0)
向City,Neighborhood和House添加commentID。 (评论的外键:Id)
这样,您只需创建一个空注释,并在没有注释的情况下添加其ID。