1

我正在为客户建立一个网站,但我偶然发现了一个问题,我需要一些建议。

对于每个项目,他们希望能够设置可变数量的图像和(有时)一些相应的文本。

我正在考虑将所有信息存储在一个字段中,而不是将 field_1 设置为 field_99 以防万一他们需要 99 个字段。

// database column

'../fotos/foto1.png',
'hier komt tekst',
'../fotos/foto2.png',
'', (empty text)
'../fotos/foto3.png'

这个解决方案有一些缺点,必须有更好的方式来实现这一点。

这样做的首选方法是什么?

4

2 回答 2

3

用所有可能的 foto 值创建另一个表(例如 FOTO_CODES)并为它们生成 id。

创建另一个子表,它将具有来自 FOTO_CODES 表和 FOTO 数据(图像)的主表记录 ID 和 ID。

这称为标准化。

于 2012-06-04T12:33:44.760 回答
0

您描述的解决方案违反了原子性原则,因此违反了 1NF。您将无法维护和查询这种格式的数据。

这是一个经典的一对多关系,可以通过两种方式建模:

1)识别关系:

在此处输入图像描述

2) 非识别关系:

在此处输入图像描述

两者各有利弊,StackOverflow 已经有很多关于这个话题的讨论。

于 2012-06-04T16:24:13.697 回答