メディアリテラシー/データベース 7/14,15,21,22 担当:平林真実

メディアリテラシー/データベース
7/14,15,21,22
担当:平林真実
概要
† データベースとは何か
„
„
„
„
„
データベースの必要性
データベースの種類
データベース管理システム
SQLの基礎
データベースの現状
† データベース実習
„ Fedora Core 4のインストール
† Apache(WWWサーバ),MySQL(SQLサーバ),PHP
(スクリプト言語),phpMyAdmin(MySQL設定用)
„ サーバ類の設定
„ PHPによるWebベースでのデータベースアクセス
データベース
データベースの基礎
† データベースとは,何か
„ 大量のデータを管理するために,データを構造化してルー
ルに基づいたデータの参照/追加/変更などの管理をできる
ようにしたもの.安全で効果的にまた容易にデータを扱うこ
とができる
„ ファイルやデータがただ大量にあるだけでは,うまく扱うこと
ができない
„ データをアクセスすることと同様に行方不明になったり失っ
たりしないような信頼性が必要
† データベース管理システム(DBMS)
„
„
„
„
データベース − DBMS − クライアント の三層構造
データの集まりであるデータベースに対する処理を行う
データベースのルールの違いによるいろいろな種類がある
一般的には,DBMSといったらリレーショナル型
データベース
データベースの種類
†
†
†
†
†
†
カード型データベース
階層型データベース
ネットワーク型データベース
オブジェクト指向データベース
リレーショナルデータベース
XMLデータベース
„ 半構造データベース
† WWW
„ ある意味でデータベース,非構造データベース?
† 現在はほとんどがRDB
† データの種類の変化(マルチメディアデータやContinuousなデー
タ)の増加によりオブジェクト指向型や,Webの広がりによる半構
造データベースが増えてきている
データベース
本日の内容
† Fedora Coreのインストール
„ Apache, PHP, MySQL, Apache用PHPモ
ジュール
† サーバ類の設定
„ Apache, PHP
† PHPによるプログラミング入門
„ 簡単なフォーム作成
データベース
システム構成
† データベースアクセスの仕組み
SQLサーバ
1.Request
PHPファイル
HTMLデータ
クライアント(Webブラウザ)
Webサーバ
(Apache)
PHP処理系
サーバマシン
Apache用PHPモジュールを使うことで,CGIのような外部実行環境
を利用せずに,Apache内からPHPプログラムの実行がされる.PHP
によるSQLアクセスを行う.結果は,PHPによって出力されたHTMLが
ブラウザに表示される
データベース
Linuxインストール
† Fedora Core 4
„ RedHad Linux から派生したOpenSourceプロジェクト
„ サーバ用のインストールにて,インストールするソフトウェア
を選択する
† Apache, PHP,MySQL, Apache用PHPモジュール
„ ユーザの登録
† ルートパスワードの設定
† この授業用にdbというユーザを作成
† 本当は,Firewall などいろいろと設定しないと外部
公開はできないが,今回は省略
† 実際に運用するときは,UNIXサーバやネットワーク
への十分な知識が必要
データベース
設定用データ
† IPアドレス
„
„
„
„
202.43.242.131,202.43.242.132
ネットマスク:255.255.254.0
ゲートウェイ:202.43.243.254
ネームサーバ:202.43.240.1,
210.172.192.3
† ルートパスワード
„ ******
† Dbユーザパスワード
„ ********
データベース
サーバ類の設定
† Apache
„ /etc/httpd/conf/httpd.conf の編集
„ IPアドレス
„ ドキュメントフォルダ
† AllowOverride AuthConfig
„ /etc/init.d/httpd start
でサーバ実行
„ 設定を変えたら /etc/init.d/httpd reload
† PHP
„ もし mbstring がなかったら
yum install php-mbstring でインストール
„ /etc/php.ini の設定 mbstirng関係のコメントアウト
† MySQL関係は明日
データベース
PHPによるプログラミング
†
HelloWorld ( hello.php)
<html><head><title>hello1</title></head>
<body>
<?php
echo “HelloWorld”;
?>
</body></html>
†
HelloWorld2 (hello2.php)
<html><head><title>hello2</title></head><body>
<?php
$str = “HelloWorld”;
$i = 1;
$i++;
echo $str . $i . “<BR>”;
?>
<hr>
<h2>HelloWorld3</h2>
</body></html>
データベース
PHP:基礎
† 拡張子は .php
† 変数に型宣言はいらない,自動的に決定
„ キャストは可能
† 制御構造はCやJavaとほぼ同じ
† HTMLと混在可能
† <?php
----?> で囲んだ部分が
PHPとして実行される
† PHPに関する情報の取得
<?php phpinfo(); ?>
データベース
PHP:制御構造
† 条件判断とループ
„ 一から100までの数字のうち,7の倍数だけ表示
† 配列
„ 5つの文字配列を用意して,任意の3つの要素を繋ぎ合わ
せた文字列を作って表示する(乱数 rand() )
† 配列とループ foreachの場合
„ 配列の添え字を文字にして,foreachを使ってすべての文
字列を結合してみる
† 関数定義
„ 引数で与えられた数までの範囲で7の倍数を表示する関数
† クラスの定義
データベース
PHP:フォームの作成
† フォーム用HTML
<html><head><title>form test1</title></head>
<body>
<form action=“form.php” method=“POST”>
名前: <input type=“text” name=“name” />
<input type = “submit” />
<hr>
</body></html>
† フォーム用PHP
<?php
$name = $_POST[‘name’];
?>
<html><head><title>form test1 php</title></head>
<body>受け取りフォーム<hr>
<?php
echo “名前は$name です. . ”<hr>”;
</body></html>
データベース
PHP:課題
† 生年月日をフォームから入力すると,その月
のカレンダーを表示するプログラム
データベース