1

こんにちは、これらのデータベース設計のどれが優れているのだろうか:

ショッピング データベースがあり、2 つのテーブルがあります:CategoriesBrands. これらのテーブルには、namedescription、およびの列がありますimage_url

では、重複した列を保持しても問題ありませんか? または、それらの情報を格納するテーブルを作成する必要がありますか?

よりよく視覚化するために、ここにグラフがあります

冗長なもの

| CATEGORIES    |    | BRANDS        | 
| - name        |    | - name        |
| - description |    | - description |
| - image_url   |    | - image_url   |

または新しいテーブルを追加しますか?

| CATEGORIES    |    | INFORMATIONS  |      | BRANDS        | 
|               |--->| - name        |<-----|               |
| - info_id     |    | - description |      | - info_id     |
                     | - image_url   |

ありがとう

4

1 に答える 1

5

この場合、実際には同じ情報ではありません。それは、category_name、category_description、brand_name、brand_description です。

多くのことに関する一般的な情報を保持するためにテーブルを作成することは、悪い考えです。

(非) 正規化についての議論になると、一般的にデータを正規化するためのより良い設計と見なされます。私はそのような設計から始めます。データの進化と成長に伴い、一部のテーブルを非正規化することが必要になる場合があります。これは、ストレージ スペースを犠牲にしてデータの一貫性が失われるリスクを伴いますが、データの取得が高速になる可能性があるためです。

于 2013-07-23T06:58:07.057 に答える