2009-07-04 24 views
0

人間のデータを保存するテーブル(ヒューマンテーブル)があるとします ヒューマンテーブルには、人間がどのようなタイプの親戚を保存するために "サポートする。ユーザの選択に基づいてデータを保存するためのテーブルデザイン

1:親戚の欄には、2つの値を持つことができます
2という「相対近い」意味:「遠い相対」

今、ユーザーがはるかに近いとの間に1つの選択肢を選択できることを想像していることを意味します。「姉妹」「兄弟」「父」「母」のうち1つ以上を選択して保存することができます。 「遠い」を選択すると、「叔父」「叔母」「甥」の間で1つ以上の項目を選択することができます。

私の質問はどのように関係とデザインテーブルの可能性がありますか? 私はSQL Server 2008を使用しています。

答えて

0

1つの方法は、別のテーブルを持つことです。おそらくRelativeTypesと呼ぶことができます。それには2つの列があります:距離(近い/遠い)と説明(母/叔父/等)。この表の主キーは、両方の列で構成される複合キーになります。次に、選択肢リストを作成するために、距離がユーザーの距離列と一致するRelativeTypesテーブルから選択できます。

これはあまり柔軟ではないので、ユーザーが複数の親戚をサポートしたい場合は、別のアプローチが必要になります。

0

いいえ、選択する2つの値を持つ列はありません。

主キー、文字列NAME(例: 'SISTER'、 'BROTHER'、 'FATHER'など)とブール値IS_NEARを持つRELATIVEテーブルがあります。

相対を指すテーブルには、RELATIVE主キーを参照する外部キーがあります。

関連する問題