Webデータベースの構築技術

Webデータベースの構築技術

Apache,MySQL,PHPを利用してWebデータベースプログラミングを基礎から学ぶ。画像処理やセッション管理など高度な内容も扱い,マルチメディアデータを扱うWebデータベースの設計・開発スキルが身につけられる。

ジャンル
発行年月日
2009/10/08
判型
B5
ページ数
198ページ
ISBN
978-4-339-02440-1
Webデータベースの構築技術
在庫あり

定価

3,300(本体3,000円+税)

カートに入れる

電子版を購入

電子版を購入

購入案内

  • 内容紹介
  • 目次
  • 著者紹介

Apache,MySQL,PHPを利用してWebデータベースプログラミングを基礎から学ぶ。画像処理やセッション管理など高度な内容も扱い,マルチメディアデータを扱うWebデータベースの設計・開発スキルが身につけられる。

0章 準備 
0.1 この本で学習する内容 
0.2 この本の学習で使用する機器とソフトウェア 
0.3 この本の学習の構成 
0.4 各章の確認事項と演習問題 
 0.4.1 確認事項 
 0.4.2 演習問題 
0.5 本書の学習のための基礎知識 
 0.5.1 Webサーバによる情報提供方法の分類 
 0.5.2 Webアプリケーション 
 0.5.3 Webデータベース 
 0.5.4 まとめ 

第1部 
1章 MySQL入門・その1 
1.1 本章について 
1.2 MySQLのインストール 
1.3 簡単なデータベース 
 1.3.1 作成する製品データベースの仕様 
 1.3.2 自分のユーザアカウントの準備 
 1.3.3 製品データベースの作成 
 1.3.4 自分のユーザアカウントによるログイン 
 1.3.5 製品テーブルへのデータ入力と検索 
 1.3.6 製品データベースの消去 
1.4 バッチ処理によるデータベースの作成 
 1.4.1 本節の作業を行う前に 
 1.4.2 バッチ処理によるデータベースの作成 
 1.4.3 バッチ処理によるデータベースの消去 
1.5 CSVファイルからデータベースへの入力 
 1.5.1 CSVファイルの作成 
 1.5.2 CSVファイルからテーブルへの取込み 
 1.5.3 テーブルからCSVファイルへの取出し 
1.6 MySQL 5.0の管理 
 1.6.1 コマンドおよびステートメント 
 1.6.2 PHP 4との互換性について 
1.7 演習問題  20
 
2章 MySQL入門・その2 
2.1 本章について 
2.2 リレーショナルデータベースの設計 
 2.2.1 テーブルの正規化 
 2.2.2 主キーと外部キー 
 2.2.3 主キーとしてのID番号 
2.3 データベースの作成 
 2.3.1 CREATE DATABASE文によるデータベースの作成 
 2.3.2 CREATE TABLE文によるテーブルの作成 
 2.3.3 CREATE TABLE文の詳細 
2.4 データの入力 
 2.4.1 INSERT文によるデータの挿入 
 2.4.2 LOAD DATA INFILE文によるCSVファイルからのインポート 
2.5 データの検索  35
 2.5.1 SELECT文による検索の基本 
 2.5.2 WHERE句による検索条件の指定 
 2.5.3 ORDER BY句による並び順の指定 
 2.5.4 テーブルの結合 
2.6 データの変更・削除 
 2.6.1 UPDATE文によるデータの変更 
 2.6.2 DELETE文によるデータの削除 
2.7 演習問題 
 
3章 Apache HTTP ServerとPHP 
3.1 本章について 
3.2 Apache HTTP ServerとPHPのインストール 
3.3 PHPによるWebアプリケーション入門 
 3.3.1 Webアプリケーション 
 3.3.2 例題Webアプリケーション「福岡名物をどうにかしよう」 
 3.3.3 実装 
3.4 PHPによるWebアプリケーションの実行の仕組み 
 3.4.1 システム構成 
 3.4.2 動作 
 3.4.3 特徴 
3.5 HTMLフォーム  51
 3.5.1 フォームとWebアプリケーション 
 3.5.2 FORMタグ 
 3.5.3 ラジオボタン 
 3.5.4 テキストフィールド 
 3.5.5 送信ボタンとリセットボタン 
3.6 PHPスクリプトによるフォーム処理 
 3.6.1 PHPコード 
 3.6.2 変数 
 3.6.3 リクエストパラメータの取得 
 3.6.4 条件分岐(if文) 
3.7 演習問題 

第2部 
4章 データベース接続 
4.1 本章について 
4.2 Apache・PHP・MySQLによるWebデータベース入門 
 4.2.1 Webデータベース 
 4.2.2 例題Webデータベース「Web製品データベース」 
 4.2.3 製品データ表示機能の実装 
4.3 Apache・PHP・MySQLによるWebデータベースの実行の仕組み 
 4.3.1 システム構成 
 4.3.2 動作 
4.4 PHPスクリプトからのMySQLアクセス 
 4.4.1 MySQLアクセスのためのPHP関数 
 4.4.2 繰り返し(while文) 
 4.4.3 MySQLアクセスのエラー処理 
4.5 検索 
 4.5.1 製品データ検索機能 
 4.5.2 製品データ検索機能の実装 
 4.5.3 製品データ検索機能の動作 
 4.5.4 文字列の結合 
4.6 テーブルの結合 
4.7 演習問題 
 
5章 データベース更新 
5.1 本章について 
5.2 データ追加 
 5.2.1 製品データ追加機能 
 5.2.2 製品データ追加機能の実装 
 5.2.3 製品データ追加機能の動作 
 5.2.4 フォーム送信のためのPOSTメソッド 
 5.2.5 自動的なページ遷移 
 5.2.6 フォーム記入のエラー処理 
5.3 データ編集 
 5.3.1 製品データ編集機能 
 5.3.2 製品データ編集機能の実装 
 5.3.3 製品データ編集機能の動作 
 5.3.4 記入欄のデフォルト値の表示 
5.4 外部キー値の追加・編集 
 5.4.1 外部キーの整合性の確認 
 5.4.2 配列の生成と検索(配列関数とforeach文) 
5.5 設定情報の共通ファイル化 
5.6 データ削除 
5.7 タブ表示 
5.8 追加・編集機能の実装における留意点のまとめ 
5.9 演習問題 
 
6章 画像処理 
6.1 本章について 
6.2 ファイルアップロードの処理 
 6.2.1 例題Webアプリケーション「Webファイラ」 
 6.2.2 Webファイラの実装 
 6.2.3 Webファイラの動作 
 6.2.4 フォームによるファイル送信 
 6.2.5 PHPスクリプトによるファイル受信 
 6.2.6 設定ファイルphp.iniによる制限 
 6.2.7 MIMEタイプ 
6.3 サムネイル画像の生成 
 6.3.1 PHPによるサムネイルの生成 
 6.3.2 受信した画像ファイルをサムネイルへ変換し保存する機能 
 6.3.3 保存済み画像ファイルのサムネイル表示機能 
6.4 PHPとMySQLによるファイルデータベース 
 6.4.1 Webファイルデータベース 
 6.4.2 設計 
 6.4.3 MySQLデータベースの実装 
 6.4.4 PHPスクリプトの実装 
6.5 演習問題 

第3部 
7章 セキュリティ 
7.1 本章について 
7.2 セキュリティ上危険なWebデータベース 
 7.2.1 ダメなWebデータベース「DAME」 
 7.2.2 フォームの改変 
7.3 Webデータベースに対する攻撃と対策方法 
 7.3.1 大切な前置き 
 7.3.2 強制ブラウジング 
 7.3.3 フォームの改ざんと偽装 
 7.3.4 SQLインジェクション 
 7.3.5 クロスサイトスクリプティング 
 7.3.6 クロスサイトリクエストフォージェリ 
 7.3.7 ディレクトリさかのぼり攻撃 
 7.3.8 NULLバイト攻撃 
7.4 パラメータ値の変換処理 
 7.4.1 PHPによる自動変換 
 7.4.2 シフトJIS(Shift JIS)コードと変換処理の問題 
 7.4.3 エスケープ用関数の作成 
7.5 その他の留意点:手がかりを隠すこと 
7.6 演習問題 
 
8章 セッション 
8.1 本章について 
8.2 セッションを利用するWebアプリケーション 
 8.2.1 セッションのテスト 
 8.2.2 ログインのテスト 
 8.2.3 ワンタイムチケットのテスト 
8.3 セッション 
 8.3.1 HTTPとセッション管理 
 8.3.2 PHPのセッション処理関数 
8.4 セッションとセキュリティ 
 8.4.1 ワンタイムチケット 
 8.4.2 セッション固定化攻撃 
 8.4.3 ログイン 
8.5 演習問題 
参考文献  
あとがき  
付録  
 PHP関数・MySQL関数の説明 
 インストール時の注意事項 
索引  

速水 治夫

速水 治夫(ハヤミ ハルオ)

 大学院修士課程を修了後,電電公社(その後NTT)の研究所に26年間勤めました.この間,電電公社がサービスを開始したデータ通信に使用するコンピュータや,そこで必要となるデータベース処理の高速化を狙ったデータベース処理専用プロセッサの実用化研究に従事しました.中でも,全国銀行協会の全国銀行データ通信システムなどのナショナルプロジェクトに参加できたのは良い思い出です.その後,データベースを応用したグループウェア,ワークフローシステムの研究に従事しました.この間,一貫して注力したことはユーザの要求・要望をしっかり汲み取ってシステムに反映することでした.
 その傍らデータベース処理の高速化に関する博士論文を纏めて工学博士となり大学教授への準備もできました.
 そして50歳で大学教授に転職しました.大学では前職の経験を活かして,論理回路,データベース,グループウェアなどの講義を担当しました.これらに活用するため,12冊の教科書・解説書を複数の出版社から上梓することもできました.
 データベース,グループウェア,Webシステムなどに関する卒業研究・修士研究・博士研究の指導を行いました.その研究スタイルは,学生自身が実世界(普段の生活)で不便に感じていること,あったら良いなと感じることを問題点として整理し,その問題解決に情報処理技術を駆使したシステムを構築し,実際に動作させて問題点を解決できたかを評価するという「問題発見・解決型の研究」でした.研究ゼミで学生が発見した問題点を発表するとき,当初は適切に言語化できない場合が多々ありました.著者は企業時代にユーザの適切に言語化されていない要望をくみ取った経験を活かして,学生自身が自分の発見した問題点を適切に言語化できるように指導しました.これによって,システム開発の狙いが明確となっていきました.中には情報処理学会の有力な研究会で発表し表彰を受けるほどの成果に結びついた研究も幾つかありました.
 また,前職の後半より続けた研究活動により情報処理学会フェローに選定頂いております.

服部 哲(ハットリ アキラ)

教科書採用者向け 関連資料申込
プログラムリストのファイル
演習問題解答
使用ソフトウエアのインストール手順書