全体の構想による必要機能のうち,データとして保持しておく必要があるのは,(1)会員情報(管理者,受講生)と,(2)教材や(3)提出課題です。これをそれぞれテーブルに保存しておくとすると,データベースにはこの(1)~(3)を保持しておくための3つのテーブルが必要となります。
必要なテーブルの数が決まったら次は必要なカラムを考えます。 会員情報,教材,提出課題の登録に最小限必要な情報の他に,それぞれのデータを区別するためのidや登録・変更日時の情報も付加しなくてはなりません。 その結果として次のようなテーブル構成となりました。
memberテーブル| カラム名 | 目的 | データ型 |
|---|---|---|
| id | 会員ID。セッション配列に格納し,ログイン情報の引継ぎに使用 | INT(A_I,PRAIMARY) |
| name | 登録会員名 | TEXT |
| pass_word | ログイン用の個人識別情報その1 | TEXT |
| ログイン用の個人識別情報その2 | TEXT |
learningテーブル| カラム名 | 目的 | データ型 |
|---|---|---|
| id | 登録情報の個別識別 | INT(A_I,PRAIMARY) |
| member | 登録メンバーの識別 | INT |
| name | 登録情報の題名 | TEXT |
| file | 登録された時点のファイルの名前 | TEXT |
| change_name | 登録時名前が重複しないためのファイルの変更名 | TEXT |
| created | 登録された年・月・日 | DATE |
taskテーブル| カラム名 | 目的 | データ型 |
|---|---|---|
| id | 登録情報の個別識別 | INT(A_I,PRAIMARY) |
| member | 登録メンバーの識別 | INT |
| name | 登録情報の題名 | TEXT |
| file | 登録された時点のファイルの名前 | TEXT |
| change_name | 登録時名前が重複しないためのファイルの変更名 | TEXT |
| word | 提出課題に関するコメント | TEXT |
| modified | 最終更新された年・月・日 | DATE |
以上の想定からデータベースを構築していきましょう。
データベースの構築方法は既に第3章で説明しましたので,ここでは3つのテーブルを含むデータベースを構築するための情報と,構築した結果のphpMyAdmin画面を示します。
それではデータベースchallengeを作成し,その中にテーブルmember,learning,taskを作っていきましょう。
| データベース名称 | テーブル構成 | カラム |
|---|---|---|
| challenge | member | id |
| name | ||
| …以下上部会員情報参照 | ||
| learning | id | |
| member | ||
| …以下上部教材情報参照 | ||
| task | id | |
| member | ||
| …以下上部課題情報参照 |
テーブルの構成
カラム情報:member
カラム情報:learning
カラム情報:task