カラム名(例) | 内容 | キー |
---|---|---|
uid | 会員ID | key |
user | ログイン名 | |
psw | パスワード | |
date0 | 登録日 | |
カラム名(例) | 内容 | キー |
---|---|---|
URL | URL | key |
uid | 会員ID | key |
date0 | 登録日 | |
カラム名(例) | 内容 | キー |
---|---|---|
URL | URL | key |
uid | 会員ID | key |
keyword | キーワード | |
counter | カウンター | |
date0 | 登録日 | |
tbl_urlsとtbl_keywordsはuidとURLで連結します。
▽2
●
うぃんど ●250ポイント ベストアンサー |
短縮系は好みがありますし、
説明しやすくもあるのでとりあえず日本語で命名しました。
(1)マスター
■会員マスター
・ユーザーID(主キー)
・パスワード(暗号化して登録しておくことが望ましい)
・ユーザーネーム
・メールアドレス
・削除フラグ
その他に登録しておきたいユーザーの情報があれば、このテーブルに入れておく。
削除フラグは一ヶ月以上ログインしていない会員を示し、
いきなり削除してしまうのではなく、退避させるなどの手段を講じやすくするために用意。
(2)データ
■URLリスト
・URLリスト通し番号(主キー)
・ユーザーID(外部キー:会員マスターとのJOIN時に利用)
・URL
入力フォームなどで既存のURLのリストを作成したりすることを考慮して、
ユーザーIDで別途インデックスを作成しておく。
■キーワードリスト
・キーワードリスト通し番号(主キー)
・キーワード
・URLリスト通し番号(URLリストからの転載:URLリストとのJOIN時に利用)
・URL(URLリストから転載:冗長だけど読み出し時の速度アップに寄与)
入力フォームなどで既存のリストを作成したりすることを考慮して、
キーワードインデックス、URLリスト通し番号インデックスをそれぞれ作成しておく。
キーワードリストにURLを含むことは冗長ですが、
新規でキーワードを登録する時以外は、
URLリストへのアクセスを必要としなくなり負荷軽減となります。
キーワードリストにユーザーIDを含まないのは、会員マスターを都度再検索せずとも、
ログイン中はphp側でユーザーネームを保持し続けるようにすれば済む話なので…。
(3)ログ
■ログイン情報
・ユーザーID(主キー)
・最終ログイン日時
cronなどで毎日監視して一ヶ月以上ログインしていなければ…削除フラグを立てる…。
■検索順位
・日付(主キー)
・キーワードリスト通し番号(外部キー)
・順位
キーワードリスト通し番号がURL+キーワードの組み合わせになっているので集計が楽。
URLにタイトルを付けたり出来る。
ユーザーネームが登録出来るなどどうでしょう。