是为几个表创建公共相关表的好方法吗?

时间:2016-07-15 10:24:00

标签: sql database

我正在为我的一些网络应用计划数据库。我发现几个表的公共表格令人困惑,例如:
userstravelsgroups中的每一行都需要多张图片。因此,我为每个表创建了一个带有外键的表images,如果某个新表需要多个图像,我将创建从image到此表的新链接。
或者,为每个表格创建独特的表格(如users_imagesgroups_images等等)是更好的方法吗? 对不起,如果我的问题看起来过于广泛,我只是寻找最佳规划井数据库方案的ORM人。

1 个答案:

答案 0 :(得分:2)

您应该使用类似

的内容

现有表格

  • 用户(ID,名称,......)
  • 旅行(身份证,说明,......)
  • 组(ID,名称,......)

现在您创建一个表IMAGE(ID,Image_Blob,...)

这样的映射表
  • UserImage(用户ID,图像标识)
  • TravelImage(TravelID,图像标识)
  • GroupImage(组ID,图像标识)

具有外键约束和索引的所有列。

优点:

  • 您可以将一个图像映射到多个实体
  • 您可以添加特定的元信息(链接此信息以及何时,评论,...)

也许你会建议使用一个公共映射表和一个附加LinkingTo列,你可以在其中放置源表的名称。但这样做,你必须用外键约束来解决。

这几乎是一般规则:好的数据库有许多表: - )