我有一个表来注册我的所有图像,例如客户标识,用户照片和促销图像。问题是,一个晋升可能有一个以上的形象。除了升职以外,我还用这张桌子做其他形象,所以我不能在里面用外键。所以,我怀疑应该做什么,在促销和图像之间创建一个中间表,或者创建一个仅用于促销图像的表格。
谢谢
发布于 2014-07-19 15:41:00
如果一个图像可以在多个促销中,而一个促销可以有多个图像,那么通过三个表创建关系N:N:
image:
imageID INT,
image YOUR_TYPE_OF_IMAGE,
...
promotion:
promotionID INT,
description VARCHAR(255),
name VARCHAR(255),
...
image_and_promotion:
imageID INT,
promotionID INT您可以添加对第3表的检查:
UNIQUE(imageID, promotionID)发布于 2014-07-19 15:34:38
您应该在促销和图片之间创建一个中间表。
发布于 2014-07-19 15:39:22
如果一个图像只能与一个促销相关,则为具有升级表外键的图像创建一个表。因此,每一张图片都可以被引用到促销活动。这将是1:n
如果一个图像可以与多个晋升相关,那么您还应该为图像创建一个表,但也应该为relation promotion_images创建一个表。这将是一个n:n关系。
https://stackoverflow.com/questions/24841965
复制相似问题