ここでは、初心者から実践的に学べるプログラミングスクール「ウェブカツ!!」のWEBサービス部を受講している生徒の方向けにさらに「データベースのテーブル設計」についての理解度を上げるため特訓をしていきます。
ここでは「MySQL」を題材にします。
DBのテーブル設計鬼練10:管理者を管理しよう
問題
ユーザー(人)のテーブルを前に設計しましたが、人は他にもいましたね?
多くのサービスには「管理者」という人がいます。
じゃあ、その管理者という人をどうDBに保存しておきましょう?
下記の問題に答えてください。
下記の管理者情報を保持しておくためのテーブル定義書を作成してください。
- ニックネーム
- 氏名
- メールアドレス
- パスワード
全て必須項目とします。
ヒント
テーブル名は考えましょうね。
管理者用にテーブルをまた分けるのか?それともユーザーテーブルなり商品テーブルが使えるのか?
まぁ、WEBサービス部でやってますけどね。
答え
答えは
ですね。
管理者というユーザー(サービスを管理するためにサービスを使う人)なわけですから。
もちろん、テーブル分けて出来なくはないですよ。
でも、ユーザーテーブルと同じようなカラムになる(情報を保存しておく)んなら、ユーザーテーブルでいいじゃない。
今回は、「グループ」というカラムにしましたが名前はなんでもいいです。
要は
一般ユーザーと管理者とを同じユーザー情報の中で識別出来る何か
という情報があればいいわけです。
一般的には「グループ」みたいなカラムを作り、
- 一般ユーザーは「1」
- 管理者は「100」
みたいに番号を振っておきます。
番号は適当に何番でももちろんいいわけです。
ただし、
- 一般ユーザーを「1」
- 管理者を「2」
にした場合、
一般ユーザー以外のユーザー種別が出来た時どうする?
ってことになるわけです。
ここらへん、次の鬼練でやってみましょう。