システム制作


データベース構造

全体の構想による必要機能のうち,データとして保持しておく必要があるのは,(1)会員情報(管理者,受講生)と,(2)教材や(3)提出課題です。これをそれぞれテーブルに保存しておくとすると,データベースにはこの(1)~(3)を保持しておくための3つのテーブルが必要となります。

必要なテーブルの数が決まったら次は必要なカラムを考えます。 会員情報,教材,提出課題の登録に最小限必要な情報の他に,それぞれのデータを区別するためのidや登録・変更日時の情報も付加しなくてはなりません。 その結果として次のようなテーブル構成となりました。

会員情報:memberテーブル

カラム名目的データ型
id会員ID。セッション配列に格納し,ログイン情報の引継ぎに使用INT(A_I,PRAIMARY)
name登録会員名TEXT
pass_wordログイン用の個人識別情報その1TEXT
mailログイン用の個人識別情報その2TEXT

教材情報: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

※今回指定したデータ型の中でTEXT型を多く使用していますが,入力文字数に制限をかけられるVARCHAR型でも問題ありません。むしろ,文字数に制限をかけられるVARCHAR型のほうがデータ量が少なくなるため,入力内容が多くならないと予想できるデータについてはVARCHAR型の使用をお勧めします。

データベースの作成

以上の想定からデータベースを構築していきましょう。

データベースの構築方法は既に第3章で説明しましたので,ここでは3つのテーブルを含むデータベースを構築するための情報と,構築した結果のphpMyAdmin画面を示します。

それではデータベースchallengeを作成し,その中にテーブルmemberlearningtaskを作っていきましょう。

データベース名称テーブル構成カラム
challengememberid
name
…以下上部会員情報参照
learningid
member
…以下上部教材情報参照
taskid
member
…以下上部課題情報参照

テーブルの構成

カラム情報:member

カラム情報:learning

カラム情報:task


Copyright (c) 2014-2022 幸谷研究室 @ 静岡理工科大学 All rights reserved.
Copyright (c) 2014-2022 T.Kouya Laboratory @ Shizuoka Institute of Science and Technology. All rights reserved.