0

これは非常に単純な質問かもしれませんが、リレーショナルモデルの観点からはどちらがより良い方法であるのだろうかと思います。

私には3つのタイプのユーザーがいます:

  • お客様
  • スタッフ
  • スーパーカスタマー

それらはすべてまったく同じフィールドを持っています。それらすべてを同じusersテーブルに入れているので、使用しているフレームワークでの作業も簡単になります。

私の質問は、3つの異なるブールフィールドを使用して各タイプのユーザーを区別するのが良いのか、それとも3つの値を持つ1つのフィールドだけを使用するのが良いのかということです。

現在、私は3つのブールフィールドを持っています:adminstaffsuperuser

3つの値を持つフィールドを1つだけ作成するよりも、それはより明確でしょうか?(たとえば、管理者用に1つ、スタッフ用に2つ、スーパーユーザー用に3つ)

ありがとう。

4

2 に答える 2

2

次のような1つのフィールド、おそらくUserTypeテーブルへの外部キーを提案します。

-- UserType table
-- UserTypeID INT -- PK
-- Type NVARCHAR(50)

そして、ユーザーテーブルに1つのフィールドを追加しますUserTypeID

types一部のユーザーは読みやすさを好むため、リストが比較的短くなることがわかっている場合は、整数IDの代わりに1文字のcharフィールドを使用してください。

于 2013-01-14T12:07:27.827 に答える
1

ユーザーが1つのユーザータイプにのみ属することができる場合:3つの値を持つ1つのフィールドを使用します。

ユーザーが複数のユーザータイプに属することができる場合:3つのブールフィールドを使用します。

于 2013-01-14T12:14:19.230 に答える