我正在为一个新的 CMS 设计一个数据库,并且在为文件和图像构建表时遇到了一些麻烦。
当前的设计是有带有文件信息的表:
files
:name
,filename
,extension
,lang
,size
images
:name
,filename
,exstension
,alt
它们上方是特定类型的表格,名为:product_files
, article_files
. 它们具有 (for product
and images
): id
, image_id
, product_id
,等字段position
。
这些表在那里是因为不同的产品可能具有相同的图像。
问题是,我为每个用例重复这些中间表(2 个用于产品,2 个用于文章等)。
我正在考虑将它们组合在一张表中,例如:
items_images
列:table
,table_id
,image_id
,position
这是一个好方法吗?还是我应该保持原样?据我所知,我无法在将其连接到产品或文章表的表上设置外键。
编辑:
看来我不是很清楚这个问题。我不知道如何在这里最好地显示它,所以我将解释图片(http://i.imgur.com/WrIWt.png):忽略这些线条。
第一行是带有实际文件信息的表格。分别是文档、图像和视频。
中间行是六张桌子,分成三张,每组都连接到他们的桌子(产品和文章)。我想做的是只制作这六个中的三个,但仍然让它们同时连接到产品和文章。也许解决方案是第四张桌子,但我不知道。