我正在为新的 CMS 设计数据库,但在为文件和图像构建表格时遇到了一些问题。
当前的设计是包含文件信息的表格:
文件
:名称
,文件名
,扩展名
,lang
,尺寸
images
:name
,filename
,extension
,alt
它们上方是特定类型的表,名称为:product_files
、article_files
。
它们具有类似(对于 product
和 images
)的字段:id
、image_id
、product_id
,位置
。
有这些表格是因为不同的产品可能有相同的图像。
问题是,我为每个用例重复这些中间表(2 个用于产品,2 个用于文章,等等)。
我正在考虑将它们组合在一个表中,例如:
items_images
包含列:table
、table_id
、image_id
、position
那是个好方法吗?还是我应该保持原样?据我所知,我无法在将其连接到产品或文章表的表上设置外键。
编辑:
看来我对这个问题不是很清楚。我不知道如何在这里最好地显示它,所以我将解释图片 ( http://i.imgur.com/WrIWt.png ): 忽略这些行。
顶行是包含实际文件信息的表格。分别是文档、图片和视频。
中间一行是六个表格,分为三个表格,每个表格都连接到他们的表格(产品和文章)。我想做的是只制作这六个中的三个,但仍然让它们同时与产品和文章相关联。也许解决方案是第 4 个表,但我不知道。
最佳答案
您可以使用如下表结构:
id, image_id, pointer_id, 位置, 类型
在哪里类型可以判断它是产品、文章等。
关于mysql - 文件和图像的表结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10705164/