表结构(缺少主键)

时间:2014-01-16 21:18:51

标签: sql

我正在开发一个在线商店应用程序,其中包含一个名为'tbl_items'的表。每个项目的主键是'item_id'字段。

现在,我想为商店上发布的每件商品添加一个选项,以便与描述商品的多张图片相关联(每件商品的图片数量无限制),因此我创建了另一张名为“tbl_item_pictures”的表格,其中包含两列 - 'item_id'和图片的网址(varchar的大小为2083)。

我认为这种结构并不是最好的,可能是因为我住的地方已经很晚了,我想不出更好的解决办法,但我有点迷茫。我真的不想在没有主键的情况下离开表,也不想为我的两个字段分配主键。

我可以添加/更改当前结构的任何想法,以使其工作?

3 个答案:

答案 0 :(得分:3)

这是一种非常常见的设计模式,将两列放入PK是正常的解决方案。如果您这样做,您可能会有多个从项目到同一图片的链接。

将两列放入PK中没有任何问题。

<强>更新

回顾......

1 - 将您的照片放入自己的表格中,并使用ID列和url

2 - 在您的链接表中,使用tbl_itemIDpictureID,并让它们都成为查找表的PK的一部分。

答案 1 :(得分:1)

您有三种可能性:

1。)没有主键。 atm你似乎不需要一个。

2。)如果item_idurl是唯一的,请同时使用两者作为主键

3。)添加第三列(如picture_id)并手动填充或自动填充

祝你好运!

答案 2 :(得分:0)

我会将item_id设为图片表中的外键。如果没有主键,则没关系,除非您只是想添加一个额外的自动编号列来进行区分。

然而,说你有它没关系。每张图片都附有个别的item_id。

将其视为一个简单的查找表。