0

次のような「合計」を保持するフィールドがたくさんあるテーブルがあります。

UserID | total_classA | total_classB | total_classC   // and so on

ただし、次の2番目のテーブルを作成できます。

ClassType | Total | UserID

しかし、ここで2番目のテーブルが多対1の関係にどのように役立つかはわかりません。まず、より多くのデータ行を格納する必要があり、データを選択するために結合を使用する必要があります。

しかし、私が読んだ多くのことは、2つのテーブルを持つことが、多くのフィールドを持つ1つのテーブルよりも優れていることを示唆しています...上記の状況ではそれに対する利点が見当たらないので、これはなぜですか= /

4

1 に答える 1

2

「2番目のテーブル」で提案するように、データをクリーンに保存します。

必要に応じて、PIVOT(プラットフォームによって異なります)または特殊なクエリを使用して、要約された列の合計表示をいつでも取得できます。

そうすることの最大の利点は、導入することを決定した追加のクラスタイプごとにテーブル構造を変更する必要がなくなることです。行を追加するだけで、データ追跡機能を拡張できます(DDLではなくDML)。

このルートを進むための技術的な説明の詳細については、第2正規形を参照してください。

于 2013-02-25T03:44:21.947 に答える