【Ruby】Ruby on Rail ..
23:nobodyさん
09/09/14 20:43:56
DBの設計の質問なのですがrailsが絡むのでここで質問させてください。
webシステムでユーザーのテーブルを作りたいのですが、memberテーブル(一般ユーザー)とadminテーブル(管理者ユーザー)に分けて作ろうと思っています。
ただし名前やパスワードなど共通するカラムはuserテーブルに切り出します。
この時、userテーブルとmember&adminテーブルの関連はどのように作るべきでしょうか?
以下のように@とAの二つ考えてみたのですが、どっちが良いのか分かりません。
@memberテーブルとadminテーブルそれぞれにuser_idカラムを作り、memberとadminからuserを参照する。
Auserテーブルにuser_id(memberテーブルのidまたはadminテーブルのidを格納する)とuser_type("member"または"admin"を格納する)を作り、userからmemberとadminを参照する。
3つのテーブルの関係を考えるとuserがmemberとadminの親になるのが自然なので@の方が良いのかなと思うのですが、
Aの方法だと、railsのポリモーフィック関連で3つのテーブルの関連付けができるため便利です。(@だとuserとmember、userとadminを別々に関連付けするのでmemberとadminに関連性が無くなる)
どっちのやり方が適切でしょうか?
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5413日前に更新/279 KB
担当:undef