我正在开发一个在线商店应用程序,其中包含一个名为'tbl_items'的表。每个项目的主键是'item_id'字段。
现在,我想为商店上发布的每件商品添加一个选项,以便与描述商品的多张图片相关联(每件商品的图片数量无限制),因此我创建了另一张名为“tbl_item_pictures”的表格,其中包含两列 - 'item_id'和图片的网址(varchar的大小为2083)。
我认为这种结构并不是最好的,可能是因为我住的地方已经很晚了,我想不出更好的解决办法,但我有点迷茫。我真的不想在没有主键的情况下离开表,也不想为我的两个字段分配主键。
我可以添加/更改当前结构的任何想法,以使其工作?
答案 0 :(得分:3)
这是一种非常常见的设计模式,将两列放入PK是正常的解决方案。如果您不这样做,您可能会有多个从项目到同一图片的链接。
将两列放入PK中没有任何问题。
<强>更新强>
回顾......
1 - 将您的照片放入自己的表格中,并使用ID
列和url
。
2 - 在您的链接表中,使用tbl_itemID
和pictureID
,并让它们都成为查找表的PK的一部分。
答案 1 :(得分:1)
您有三种可能性:
1。)没有主键。 atm你似乎不需要一个。
2。)如果item_id
和url
是唯一的,请同时使用两者作为主键
3。)添加第三列(如picture_id
)并手动填充或自动填充
答案 2 :(得分:0)
我会将item_id设为图片表中的外键。如果没有主键,则没关系,除非您只是想添加一个额外的自动编号列来进行区分。
然而,说你有它没关系。每张图片都附有个别的item_id。
将其视为一个简单的查找表。