1

2 つのテーブルを結合するか、別々にしておくかで混乱しています。ff は、私のその問題の 1 つのセットにすぎません。

tblPhone(Phone_ID, Phone_Number, Phone_Type_ID, Person_ID)
tblPhone(Phone_Type_ID, Phone_Type_Name)

また

私は単にそれを次のようにする必要があります:

tblPhone(Phone_ID, Phone_Number, Phone_Type_Name, Person_ID)

どちらかが他方より有利ですか?テーブル作成のための標準的なガイドラインや慣習のようなものはありますか? たとえば、テーブルが 3 つ以上でない場合は、それを別のテーブルに結合するだけ、というようなことを誰かが私に言ったのを覚えています。正規化のルールは少し覚えていますが、非常に混乱することがあります。これは 3 番目の正規化ルールに当てはまると思うので、それらを分離する必要がありますが、間違っていますか? ありがとう!

4

1 に答える 1

1

これが第 3 正規形を示していることは間違いありません。

Phone_Type_Nameout を正規化していtblPhoneます (2 番目の を呼び出すつもりであると仮定しますtblPhoneType)。これは正しく、一般的な方法です。現在 2 つの列しかない場合でもtblPhoneType、最終的には電話の種類に関連する他の属性を含めるために列を拡張する必要がある場合があります。これが、列を正規化する必要がある理由を説明する最も簡単な方法です。

ありそうな将来のシナリオ (より多くの列が必要):

ここで正規化することで、次のことから身を守ることができます。

tblPhone(Phone_Type_ID, Phone_Type_Name, Phone_Type_Min_Price, Phone_Type_Max_Price)
于 2012-11-03T00:09:03.407 に答える