1

商品画像を保存したい。各商品には複数の画像があります

アプローチ 1:

table products 
table productImages

内容:

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

アプローチ 2:

テーブルproductsには、テーブルproductPhotosがあり、その中には、コンマで区切られたすべての製品画像IDを含む1つの長い文字列があります。もう 1 つ画像を追加したい場合は、それを連結する必要があります。

私はこれについて何人かの友人と議論しており、意見が分かれています。

最初のアプローチはよりオブジェクト指向であるため、はるかに優れていると思います。正規化はこの方法でより良いレベルにあると思います。

私のアプローチの反対者は、私のアプリケーションでより多くのアクティビティがある場合、文字列/セパレータのアプローチほどうまく機能しないと言います。

4

2 に答える 2

4

複数の値を 1 つの列に格納しないでください。

アプローチ 1 を使用します。そのデザインでテーブルを簡単に結合でき、その列のコンテンツを分離したり、リストで特定の ID を検索したりすることに頭を悩ませる必要はありません。

于 2013-10-26T07:44:16.770 に答える
2

アプローチ 1 を選択します。正規化されているため、標準的でわかりやすい方法でデータを操作できます。

また、拡張も容易になります (さらに列を追加する必要がある場合はどうすればよいでしょうか?)

追加の写真を追加および削除したり、クエリを実行したりすることが、はるかに簡単かつ迅速になります。データベース システムは、正規化されたデータを処理するように設計されており、この点で効率的です。改善を試みる必要はありません。

于 2013-10-26T07:48:11.960 に答える