1

我想存储产品图像。每个产品将有多个图像

方法一:

table products 
table productImages

内容:

productId productPhoto
1     -    28374628
1     -    12731283
2     -    23498723
3     -    23849723

方法二:

表 products 在其中,有一个表 productPhotos ,其中有一个包含所有产品图像 ID 的长字符串,用逗号分隔。如果我想再添加一张图片,我必须将它连接起来。

我一直在和一些朋友讨论这个问题,意见不一。

我认为第一种方法要好得多,因为它更面向对象,而且我认为规范化在这种方式上处于更好的水平。

我的方法的反对者说,当我的应用程序中有更多活动时,它的性能不如字符串/分隔符方法。

4

2 回答 2

4

永远,永远,永远不要在一列中存储多个值!

使用方法 1。您可以轻松地使用该设计连接表,而不必在分隔该列中的内容或在列表中搜索特定 id 时费尽心思。

于 2013-10-26T07:44:16.770 回答
2

选择方法一。它已标准化,将使您能够以标准、可理解的方式处理数据。

扩展它也会更容易(如果您需要添加更多列怎么办?)

添加和删​​除其他照片以及查询它们将更加容易和快捷。数据库系统旨在处理规范化数据,并且在这方面很有效 - 您无需尝试改进它。

于 2013-10-26T07:48:11.960 回答