【问题标题】:Two different ways to approach storing multiple pieces of data in a database. Which should I choose?在数据库中存储多条数据的两种不同方法。我应该选择哪个?
【发布时间】:2013-10-26 15:48:11
【问题描述】:

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

方法一:

table products 
table productImages

内容:

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

方法2:

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

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

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

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

【问题讨论】:

    标签: mysql sql


    【解决方案1】:

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

    采用方法 1。您可以使用该设计轻松连接表格,而不必费力分离该列中的内容或在列表中搜索特定 ID。

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2014-04-17
        • 1970-01-01
        • 1970-01-01
        • 2013-11-12
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多