人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

会員登録を行い、登録会員が掲示板などのサービスを利用できる様にしたいと考えています。

このような目的の場合の会員管理部分のテーブル作成について教えてください。

登録したい内容
・番号
・登録時刻
・登録時のIP
・ユーザーID
・名前
・メールアドレス
・自己紹介
・生年月日
・住所
・自己紹介写真ファイルの有無

希望条件
・MySQL 4.x で使用
・ユーザーIDは登録後も変更できるようにしたい
・写真は画像ファイルとして別に保存したい
・項目はサービスの追加に伴い追加しやすい様にしたい
・登録数は1万件程度と仮定してください。

上記条件でテーブルを作るとした場合、一般的にはどのようにするかを教えてください。
テーブルは一つにするのか、複数に分けるのか、分けるとしたらどの項目で分けるのか
どの項目を主キーにし、データ型はどうするのか
ユーザーIDを変更できる様にしたいがやめた方が良いのか
会員管理を行う場合、他に追加した方が良い項目があるのか
登録時刻やIPはトラブルが発生時の為にと考えているのですが不要なのか

条件はあくまでも希望です。
定石やご提案もありましたらお願いします。

●質問者: worldtravel
●カテゴリ:コンピュータ ウェブ制作
✍キーワード:IP MySQL キー サービス データ
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● pahoo
●35ポイント

思いついたことを列挙します。

◎質問者からの返答

ありがとうございます。

勉強になる情報が沢山ありました。

番号とユーザーIDに関しましては、あとから変更が簡単にできる様に番号と分けようと考えているのですがどうでしょうか。

IDに統一してしまうと、仮に複数の掲示板への書き込みがあったとした場合、全ての書き込み者のIDを書き換えなければならず大変かなと思いましたので...

番号を投稿者としておけば、IDを変えても掲示板のデータは何も変更する必要がないかと...

どうなのでしょうか。


2 ● ken33jp
●23ポイント

>どの項目を主キーにし、データ型はどうするのか

番号を主キー

>ユーザーIDを変更できる様にしたいがやめた方が良いのか

別にOK。ただ重複IDができないようにユニーク属性をつけておいたほうが

安全

>登録時刻やIPはトラブルが発生時の為にと考えているのですが不要なのか

とりあえず記録しておくほうがよい。

◎質問者からの返答

ありがとうございます


3 ● hirotow
●22ポイント

最低限必要な情報(ID、パスワード、メールアドレス、ニックネーム、秘密の質問等)と付加的な情報(住所氏名電話番号など)はテーブルを分割すべきだと教わったことがありますので、これを参考にして、

User_Basic:

User_ID AutoNumber(8) Primary Key

User_Name VarChar(16) Unique

User_Handle NVarChar(16) Unique

User_Password Number(2) //SHA128

User_Reminder_ID Number(1) //別途秘密の質問マスタで管理

User_Reminder_Answer Text(256)

User_Additional:

User_ID Number(8) Foreign Key→User_Basic.User_ID

//その他

のような感じでいいと思います。

パスワードなどはハッシュで管理しておき、回答ではなく再指定としておくと、初心者受けは悪いですが中級者以上には堅牢なイメージをもたれます。

住所などは他の方が記述されているので割愛しますが、事業所やビル固有の郵便番号(霞ヶ関のビルや大学の寮など)にも対応しておくとよいです。

◎質問者からの返答

ありがとうございました。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ