PHP学習のススメ 第5回:データベースを知ろう

PHP学習のススメ

Dreamweaverl CC (2013年06月公開) 対応

この連載ではPHPそのものの紹介というよりは「PHPを学習するためには、どんな準備が必要か」という部分に焦点を当て紹介していきたいと思います。PHPの入門書籍を読み始める前に、ぜひ本連載で準備を整えてください。

Dreamweaver CC の体験版をダウンロード

PHPを利用するとき、合わせて使いたいのが「データベース(DB)」です。例えば、ユーザーが入会手続きをしたときや、メッセージを入力したときなど、それらの情報はどこかに「保存」をしなければなりません。PHPでは標準で、テキストファイル、カンマ区切りファイル(CSV)やXMLなどに保存することができます。

しかし、テキストファイルやCSVは、あとから情報を検索するときに非常に手間がかかります。XMLでも、やはり大量の情報を保存・検索しようとするとファイルが肥大化してしまい、使い勝手は決してよくありません。

そこで、大量の情報を効率よく管理し、素早く検索できる専用のシステムが「データベース」なのです。データベースには、様々な種類・製品がありますが、PHPと組み合わせて多く利用されているのが「MySQL(マイエスキューエル)」です。

データベースを利用してみよう

まずは、データベースを利用してみましょう。MySQLは、第1回の手順に従って作業していれば、MAMPやXAMPPにすでに含まれています。次の手順で利用します。

データベースを起動する

【OS Xの方】

MAMPのクライアントソフトを起動して[スタートページを開く]をクリックします。

MAMPを起動して[スタートページを開く]をクリックします

スタート画面上部のメニューバーにある[phpMyAdmin]ボタンをクリックすると、画面のようなツールが起動します。

[phpMyAdmin]ボタンをクリックします

【Windowsの方】

XAMPPコントロールパネルで、上から2番目の[MySQL]の行の[Start]ボタンをクリックします。

[MySQL]の行の[Start]ボタンをクリックします。図は、クリック後に[Stop]に切り替わったところ

http://localhost:8888/phpmyadminにアクセスします。こうして、データベースが起動します。

http://localhost:8888/phpmyadminにアクセスします

データベースに情報を記録する

次にphpMyAdmin画面の上部にある[データベース]タブを選び、[データベースを作成する]欄のテキストフィールドに「adc」と入力します。そして、その隣の[照合順序]ドロップダウンリストから「utf8_general_ci」を選び、[作成]ボタンをクリックしましょう。

テキストフィールドに「adc」と入力し、[照合順序]ドロップダウンリストから「utf8_general_ci」を選びます

作成したら、左側の一覧から「adc」を選択します。すると、下のような画面が表示されるので、[テーブルを作成]欄の[名前]に「messages」、[カラム数]に「4」と入力します。

[名前]に「messages」、[カラム数]に「4」と入力します

さらに、たくさんのテキストフィールドが表示されるので次のように入力していきましょう。

[名前][データ型][長さ/値]を図のように入力、設定します

保存して画面が戻ると「messages」という、今作ったものがリストに表示されるのでこれをクリックします。そして、右の方にスクロールして、一番上のカギのアイコンをクリックします。

リストから「messages」を選び、一番上のカギのアイコンをクリックします

これで準備が整いました。続いて、上部の[挿入]タブをクリックし、各[値]に以下ののように入力します。

各[値]に入力します

[実行]ボタンをクリックすると、図9で入力した情報がデータベースに記録されます。続いて、上部の[表示]をクリックすれば、記録した情報を呼び出すことができます。

これで、データベース操作の一連の流れができました。

データベースの概念を理解しよう

データベースについて学習する際に戸惑うのが、使い始めるまでがなんだか面倒くさいことです。様々な用語が出てきますし、準備の手続きもいくつもあります。これはデータベースが、情報を効率よく管理するために、あらかじめ情報を区切って管理するためです。情報は、次のような単位で分類されます。

基本単位「テーブル」

MySQLは「テーブル」という単位で情報を管理します。このテーブルの中には、同じ種類の情報を記録することができます。例えば、「商品の情報」とか「ユーザーの情報」、「ユーザーが入力したメッセージ」などと分けることができます。先の例では「メッセージ」を管理する「messages」というテーブルを作成しました。

情報の種類を規定する「フィールド」

データベースは、自由にテーブルに情報を記録できるという訳ではありません。あらかじめ、どんな情報をどんな形式で記録するかを規定します。これを「フィールド(またはカラム)」といい、フィールドの「名前」や「データ型(種類)」を選ぶ必要があります。先の例では、次のように規定しました。

情報 フィールドの名前 データ型 固有ID id 数字(INT) 投稿者 name 1,024byteの文字(VARCHAR) メッセージ内容 message テキスト(TEXT) 変更日時 modified タイムスタンプ(TIMESTAMP)

ここでデータ型を「数字(INT)」と規定した「id」フィールドには、数字以外の情報を記録することができませんし、「name」フィールドには1,024文字以上の文章は記録することができません。こうして、厳密に規定することで効率よく情報が管理されるのです。

データベースでは、このフィールドをきちんと決めることが非常に大切になります。あとになって入れたいデータが入らないとか、文字数が足りないとか、または逆に余裕を持ちすぎてムダな部分があり過ぎるといったことがないように、しっかりと設計をする必要があります。

テーブルをまとめ上げる「データベース」

ちょっとややこしいのですが、MySQLには「データベース」というグループのようなものがあり、複数のテーブルをまとめて格納しておくことができます。つまり、データベースの中にこの「データベース」を作ることが可能です。

基本的には、Webサイトごとやシステムごとでデータベースを分けて利用しますが、レンタルサーバーなどではデータベースを自由に作れないことがあり、1ユーザーごとにこの「データベース」を割り当てられている場合があります。

データベースを学習しよう

データベースは、このように最初の手続きや準備が煩雑で、使いこなせるまでに非常に多くの知識が必要です。PHPの入門書籍では、データベースの解 説にたいてい1~2章分を割いています。しかし、実際にはデータベースだけで数冊の入門書籍が書けるほど多くの知識が必要です。

書店などで「MySQL」というキーワードで、入門書籍を探してじっくりと学習してみることをおすすめします。

さて、データベースが準備できたら次はPHPと連携です。次回は、Dreamweaver CCの便利な拡張機能の使い方を紹介します。