未経験・初心者向け「DBのテーブル設計鬼練10〜管理者を管理しよう〜」

ここでは、初心者から実践的に学べるプログラミングスクール「ウェブカツ!!」WEBサービス部を受講している生徒の方向けにさらに「データベースのテーブル設計」についての理解度を上げるため特訓をしていきます。

ここでは「MySQL」を題材にします。

DBのテーブル設計鬼練10:管理者を管理しよう

問題

ユーザー(人)のテーブルを前に設計しましたが、人は他にもいましたね?

多くのサービスには「管理者」という人がいます。

じゃあ、その管理者という人をどうDBに保存しておきましょう?

下記の問題に答えてください。

下記の管理者情報を保持しておくためのテーブル定義書を作成してください。

  1. ニックネーム
  2. 氏名
  3. メールアドレス
  4. パスワード

全て必須項目とします。

ヒント

テーブル名は考えましょうね。

管理者用にテーブルをまた分けるのか?それともユーザーテーブルなり商品テーブルが使えるのか?

まぁ、WEBサービス部でやってますけどね。

答え

答えは

ですね。

 

管理者というユーザー(サービスを管理するためにサービスを使う人)なわけですから。

もちろん、テーブル分けて出来なくはないですよ。

でも、ユーザーテーブルと同じようなカラムになる(情報を保存しておく)んなら、ユーザーテーブルでいいじゃない。

 

今回は、「グループ」というカラムにしましたが名前はなんでもいいです。

要は

 

一般ユーザーと管理者とを同じユーザー情報の中で識別出来る何か

 

という情報があればいいわけです。

 

一般的には「グループ」みたいなカラムを作り、

  • 一般ユーザーは「1」
  • 管理者は「100」

みたいに番号を振っておきます。

番号は適当に何番でももちろんいいわけです。

 

ただし、

  • 一般ユーザーを「1」
  • 管理者を「2」

にした場合、

 

一般ユーザー以外のユーザー種別が出来た時どうする?

 

ってことになるわけです。

 

ここらへん、次の鬼練でやってみましょう。