2012-05-22 27 views
1

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

目前的设计是与文件信息表:

  • filesnamefilenameextensionlangsize
  • imagesnamefilenameexstensionalt

以上他们是名为的特定类型的表格:product_filesarticle_files。 他们有类似的字段(对于productimages):idimage_id,product_id,position

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

我是在一个表中的思维结合他们的名字:

  • items_images与列:tabletable_idimage_idposition

那是一个很好的方式去?或者我应该保持现状?据我所知,我不能在表格上设置外键,就像将它连接到产品或文章的表格一样。

编辑:

看来我不是很清楚这个问题。我不知道如何在这里最好地显示它,所以我会解释图片(http://i.imgur.com/WrIWt.png):tables structure只需忽略这些行。

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

+0

听起来你复制表有点,它听起来不太正常。 “我不能在外面的桌子上设置外键”是什么意思? – Cylindric

+0

我知道我在复制,但我现在还陷入困境。我想规范他们,但也能够连接表与外键。这是一个当前模型的图片。我剪掉了不重要的部分,所以也许有些人不见了。 http://i.imgur.com/6lD73.jpg – praxus

+0

你能用一些显示你不能创建的FK的表格来编辑你的问题吗?我不确定你在想什么限制。 – Cylindric

回答

0

您可以使用像表结构:

ID,image_id,pointer_id,位置,类型

其中类型会告诉我们,如果它是一个产品,物品等