1

我正在为一个新的 CMS 设计一个数据库,并且在为文件和图像构建表时遇到了一些麻烦。

当前的设计是有带有文件信息的表:

  • files: name, filename, extension, lang,size
  • images: name, filename, exstension,alt

它们上方是特定类型的表格,名为:product_files, article_files. 它们具有 (for productand images): id, image_id, product_id,等字段position

这些表在那里是因为不同的产品可能具有相同的图像。
问题是,我为每个用例重复这些中间表(2 个用于产品,2 个用于文章等)。

我正在考虑将它们组合在一张表中,例如:

  • items_images列:table, table_id, image_id,position

这是一个好方法吗?还是我应该保持原样?据我所知,我无法在将其连接到产品或文章表的表上设置外键。

编辑:

看来我不是很清楚这个问题。我不知道如何在这里最好地显示它,所以我将解释图片(http://i.imgur.com/WrIWt.png):表结构忽略这些线条。

第一行是带有实际文件信息的表格。分别是文档、图像和视频。
中间行是六张桌子,分成三张,每组都连接到他们的桌子(产品和文章)。我想做的是只制作这六个中的三个,但仍然让它们同时连接到产品和文章。也许解决方案是第四张桌子,但我不知道。

4

1 回答 1

0

您可以使用如下表结构:

id、image_id、pointer_id、位置、类型

类型将告诉它是否是产品、文章等。

于 2012-05-22T15:34:05.657 回答