何が良い、パフォーマンスが賢明でしょうか?SQL - いくつかの外部キーを持つ1つの非常に長いテーブルVSいくつかの短いテーブル
一つ、いくつかの外部キーを持つテーブルと行
OR
テーブルごとに以下のデータを持つ1つの外部キーを持ついくつかのテーブルがたくさん。
例:
私は意志が右へのユーザーのための注意事項が含まれている一つのテーブルを作成すると、各ノートが別のテーブルに関連付けされます。
ID Text CustomerID AccountID UserID AnotherID
1 "Call James" 1 null null null
2 "Call Havale" null 2 null null
3 "Call Shimi" null null 4556 null
他のオプションは次のようになります。そう各無関係な外部キーのNULL値を含むであろう
ノート(ID、テキスト、得意先、アカウントID、ユーザID、AnotherID) であろう一つの選択肢で それぞれの外部キーを入力することになる別々のテーブル開くために:
AccountNotes(ID, Text, AccountID)
CustomerNotes(ID, Text, CustomerID)
UserNotes(ID, Text, UserID), etc...
を最後のオプションは、それはありませんが、多くの関係に多くのようにそれを治療することになります(例えば、Notes_to_Accounts(NoteID,AccountID)
テーブル...) 。
私がここで見つけたすべての答えは、いくつかの列を持つ1つのテーブルであり、小さな列を持つ小さなテーブルが多数ありました。これは解決しようとしている問題ではありません。
私は同様にそのオプションを書きましたが、それは優れているなぜあなたは説明できますか?私が気にしている唯一の側面は、そのシナリオです。 –
私はあなたのクライアントアプリケーションでは、クラスとそのためのいくつかのUIコントロールがあると思います。 1つのテーブル= 1つのクラス –
である必要はありません。データベースのパフォーマンスが、より少ないデータを持つ1つのテーブルのほうが良い場合は、それは良いでしょう。 –