2011-07-07 11 views
0

私は、リストタイプを構築して、ユーザーが自分のシステム内のさまざまなもののリストを作成できるようにしています。したがって、リスト要素は、それらが指し示すものの型と識別子の両方への参照を必要とします。代理キーを使用するか、自然キーを使用する必要がありますか?

たとえば、ユーザーが商品のリストを作成できるようにします。したがって、リストの要素は商品を保持していることを知る必要があり(製品表を参照)、製品IDが必要になります。

物事のリストの中には、非数値の識別子が格納されるものがあります。

id要素と型のペアをリスト要素に入れるか、id/typeペアの代理キーを単純なintとして作成して使用する新しいテーブルを作成する必要がありますか?

サロゲートキーは、キーペアを取得するために追加のルックアップ/ジョインを行いますが、2つの列をリスト要素テーブルにマッシュする必要はありません。

答えて

1

統計やレポートの作成を計画しているかどうかはわかりませんが、主キーを1つの列にすると便利です。私は常にpkとして自動インクリメント整数を作成します。テーブルはちょうど "データ"のための記憶領域でなければなりません。よりシンプルな方が良いでしょう。アプリケーションが成長するにつれ、アプリケーションで何をしたいのか分からないので、単純なものにすることで時間の経過とともに柔軟性が増します。

+0

これをしないことを選んだが、ここにアップボートがある。..ありがとう:) – Zak

関連する問題