Web上で管理・利用できる 面接予約データベースシステムの構築 はじめに・・・ 操作説明 予備知識 処理内容説明 文理学部応用数学科谷研究室 5496009 鍛治 洋平
はじめに・・・ データベースとは・・・ データをある一定の基準にしたがって保存し、 検索や更新を簡単にしたものをデータベースといいます。 そして、キーとなるデータを利用し関連付けしたデータベースを リレーショナルデータベースといいます。 これらのデータベースを作成・操作するソフトウェアを データベースマネージメントシステム(DBMS)と言います。
面接予約システム 卒業研究の内容 予約システムに必要な操作 面接の予約をWeb上で容易にできるようにする データベースを用いたシステムの構築 先生1、予約できる学生の登録・確認・削除 先生2、予約可能日時の登録・変更 先生3、予約状況の確認 学生4、学生の予約・確認・取り消し
今回使用した環境 サーバー(FreeBSD) TTSSH SSH SQL Apache ブラウザ PHP クライアント SSHを通して操作 OS:FreeBSD DBMS:PostgreSQL Webサーバー:Apache HTML組み込み言語:PHP セキュアシェル:SSH クライアント サーバー(FreeBSD) TTSSH (管理者) SSH SQL データ ベース SSHを通して操作 作成 操作 Apache ブラウザ (利用者) PHP Apacheで アクセス制限 HTTP等
操作の説明 先生と学生では行う操作が異なるので それぞれ違うページで操作する。
先生の操作 先生の操作 行える操作 追加する学生の名前を入力 削除する学生の名前と 学籍番号を入力 学生の学籍番号を入力 続けて別の人を 学生の登録・確認・削除 学生の学籍番号を入力 続けて別の人を 追加するならクリック クリック クリック クリック 鍛治 洋平 鍛治 洋平 パスワードを入力 IDを入力 5496009 5496009 クリック 先生の操作 **** パスワードを入力 5496009 すると、ここがクリアされる ****** クリック 行える操作 1、学生の登録・確認・削除 2、予約可能日時の登録・変更 3.予約状況の確認 追加されている Apacheで制限をかけており、 研究室・自宅以外からはアクセス不可 削除されている
先生の操作 追加する日付を選択 予約可能な時間をチェック 予約可能時間をチェック クリック クリック クリック クリック チェックした時間が 日程の登録・確認・削除 追加する日付を選択 予約可能な時間をチェック 予約可能時間をチェック クリック クリック クリック クリック チェックした時間が 予約可能に 変更したとこが 予約可になっている 予約不可になっていて
学生の操作 学生の操作 予約可能 行える操作 予約不可の時間 クリック 時間をチェックして 学籍番号を入力 表に戻ると クリック 面接の予約・確認・取消 クリック 時間をチェックして 学籍番号を入力 表に戻ると クリック 予約可能 学生の操作 ○の中から予約したい 時間を選び、クリック 予約を取り消す時は 赤丸をクリック 予約している時間は 赤丸で表示される 5496009 クリックすると表に戻る パスワードを入力 ○に戻る ****** クリック 予約不可の時間 行える操作 1、面接の予約 2、予約時間の確認 3、予約の取り消し
予備知識 SQLの行える事 処理内容を説明する前に、 今回用いたテーブル・変数などを紹介する。 1、選択(Select) 2、追加(Insert) 3、更新(Update) 4、削除(Delete)
用いたテーブル 名簿 予約表
用いた変数 1、先生の操作で用いる変数 $ID :入室時のID 学生追加削除時の学生の学籍番号 $pass :入室時のパスワード $ID :入室時のID 学生追加削除時の学生の学籍番号 $pass :入室時のパスワード 学生追加時のパスワード $name :学生追加削除時の名前 $syori :処理する内容 $year・$month・$day :操作する年月日 $a~$y :各時間に対応するチェックボックスの値
用いた変数 2、学生の操作で用いる変数 $ID :入室時のID $pass :入室時のパスワード $hiniti :予約する年月日 $ID :入室時のID $pass :入室時のパスワード $hiniti :予約する年月日 $jikan :予約する時間 $syori :処理する内容
処理内容説明 全ての処理を説明している時間はないので、 ここでは先生の予定の追加と学生の予約の説明のみを行う
予定の追加 メニューを開く前に・・・ 処理中 処理内容説明 day a ・・・ d e h i y 2001-2-7 1 $ID : $ID : $Pass: $year : $month: $day : $a~$y: $year : $month: $day : $a~$y: $syori : $year :2001 $month:2 $day :7 $a~$d:0 $e~$h:1 $i~$y :0 $syori :日程追加 メニューを開く前に・・・ $year : $month: $day : 5496009 処理内容説明 日程の追加(先生) ****** メニューに 送信 ここに入力した値が $ID/$Passに入り メニューに送られる ここで選択した値が $year/$month/ $dayに入る 5496009 クリック チェックすれば1 しなければ0が 左から$a~$yに入る ****** 予定の追加 この予定で追加すると このデータで 処理開始 クリックすると $syoriに「日程追加」が入り 処理を行う 1、$IDと$Passに値が入ってるかを確認 2、入ってる値とID/パスワードを照合 3、メニューを表示 day a ・・・ d e h i y 2001-2-7 1 処理中 1、まず入力した日付が正しいかどうかを確認 2、日付で予約の表を検索し、追加済みでない事を確認 3、予定をデータベースに追加 4、処理完了を表示
面接の予約 予約表を表示する前に 処理内容説明 $ID : $Pass: 面接の予約(学生) 予約表に 送信 ID :5496009 $ID : $Pass: 5496009 処理内容説明 面接の予約(学生) ****** 予約表に 送信 ここに入力した値が $ID/$Passに入り 予約表に送られる ID :5496009 名前:鍛治 洋平 Pass:****** 5496009 クリックで変数を 予約表に送る ****** 面接の予約 1、$IDと$Passに値が入っていることを確認 2、名簿から$IDのデータを取り出す。(IDの存在確認) 3、パスワードの照合 4、予約表の表示開始
予約表の表示開始 処理内容説明 0 1 $ID :5496009 ID :5496009 $Pass :****** 名前:鍛治 洋平 ID :5496009 名前:鍛治 洋平 Pass:****** $ID :5496009 $Pass :****** $now :2000-2-7 $a~$y:各時間の状態 処理内容説明 面接の予約(学生) 予約表の表示開始 1、$IDのデータから名前を取り出し、表示 2、テーブルの最初の二行表示 3、日付を$nowに挿入、その日のデータを取り出す 4、日付を表示、予定が無ければその行は「予約不可」表示 5、各時間の値に対応した表示をする (1なら○・0なら空白・$IDなら赤丸・その他なら×) 6、14回繰り返してテーブルを閉じる 2月 7日 0 1
予約処理の実行 確認画面の表示 処理内容説明 day ・・・ e 2001-2-8 1 $ID :5496009 $Pass :****** $ID :5496009 $Pass :****** $hiniti:2001-2-8 $jikan :e $syori :予約 予約処理の実行 確認画面の表示 $ID :5496009 $Pass :****** $hiniti:2001-2-8 $jikan :e $syori :予約 戻る時は$IDと$Passのみ送信 クリックするとそのまま転送 取り消す時は$IDと$Passのみ ○をクリックすると次の変数が送信される。 $ID :5496009 $Pass :****** $hiniti:2001-2-8 (○の日付) $jikan :e (○の時間) $syori :予約 1、もう一度指定日時が予約可能かを確認 1、その日以降の全ての時間を$IDが無いか確認する 2、予約処理を実行する 3、予約完了を表示 2、$hiniti/$jikanの日時が予約可能か確認する 3、予約確認のメッセージ、フォームを表示する day ・・・ e 2001-2-8 1 5496009 処理内容説明 面接の予約(学生)
最後に・・・ カスタマイズ例 カスタマイズ例 発展の可能性 面接予約表 先生のメニュー 1、技術的な事 ・パスワードの暗号化 ・ への対応 etc… 2、技術によらない事 ・気がつかなかった処理の簡略化 ・実際に使用した先生の意見・感想を 踏まえてのカスタマイズ etc…
Fin