プロが教える店舗&オフィスのセキュリティ対策術

趣味でWEBによるグループウェアを作ろうと思ってます。
DB設計について質問です。

プロの方が作るシステムでは
通常、ユーザーを識別する主キーは「ログインID」でしょうか?
「ログインID」は認証用のみ使用して、識別キーは別に作ったほうが良いのでしょうか?

※ログインIDは1度設定したら変更不可にしようと思ってます。


プロの方が作るWEBシステムの、認証・ユーザーマスター部分の
DB設計の定石などありましたら教えてください。

2パターン考えました。


<パターン1>
■認証テーブル
1.ログインID(主キー)※認証のみ使用
2.ログインパスワード
3.ユーザーID(外部キー)※ユーザー情報、その他の識別主キー システム自動で設定

■ユーザーマスター
1.ユーザーID(主キー)
2.名前
3.メールアドレス
4.グループID
5.その他情報
   :
6.更新日時
7.更新者

■グループマスター
1.グループID(主キー)
2.グループ名
3.ユーザーID(外部キー)
   :


<パターン2>

■認証テーブルなし
■ユーザーマスター
1.ログインID(主キー)※ユーザー識別キー
2.ログインパスワード
3.名前
4.メールアドレス
   :
7.更新者

■グループマスター
1.グループID(主キー)
2.グループ名
3.ログインID(外部キー)
   :

ご指導いただけたら嬉しいです。

A 回答 (1件)

ユーザーの要望にも寄りますが、<パターン2>がユーザー用件的にもシステム的にもわかりやすくなるのではないでしょうか。


<パターン1>は二つのIDを意識しなくてはならないため、ややこしくなりがちです。

ちなみに自分が携わってきたシステムは、
■ユーザーマスター
1.ログインID(主キー)※ユーザー識別キー
2.ログインパスワード
3.名前
4.グループID(外部キー)

■グループマスター
1.グループID(主キー)
2.グループ名

のような感じが大半です。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!