2016-07-15 52 views
2

我正在为我的一些web应用程序计划db。我发现几张桌子的一张桌子很混乱,例如:
users,travelsgroups的每一行都需要几张图片。因此,我创建了一个表images,每个表都带有外键,如果某个新表需要多个图像,我将创建从image到此表的新链接。
或者为每个表格创建独特的表格如users_imagesgroups_images等等是更好的方法吗?
对不起,如果我的问题看起来太宽泛,我只是ORM人谁寻找计划井分贝计划的最佳做法。为多个表创建公共相关表是否好方法?

回答

2

你应该使用类似

现有表

  • 用户(ID,姓名,...)
  • 旅游(ID,说明,...)
  • 集团(ID ,名称,....)

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

和映射表像

  • UserImage(用户ID,图像标识)
  • TravelImage(TravelID,图像标识)
  • GroupImage(组ID,图像标识)

与外键约束的所有列和指数。

优点:

  • 您可以将一个图像映射到多个实体
  • 您可以添加特定的元信息(谁挂这个当,评论,...)

也许你会得到建议,使用一个通用的映射表,并在其中添加源表的名称的另一个LinkingTo列。但是这样做,你不得不用外键限制。

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

相关问题