7-1 MySQLとは?データベースの役割と全体像

Web開発学習ロードマップ

これまでのPHP基礎章では、
フォーム送信・バリデーション・セキュリティ・セッションまで学び、
「画面とPHPがつながる仕組み」 を理解してきました。

しかし、
ここまでの処理には 決定的に足りない要素 があります。

それが、
データを保存する場所 です。

・ユーザー情報
・投稿内容
・お問い合わせ履歴

これらを毎回消えてしまう変数だけで扱うことはできません。

そこで登場するのが、
データベース(MySQL) です。

この記事では、
MySQLとは何か、なぜ必要なのか、
PHPとどう関係しているのか

実装に進む前の段階として整理します。


この記事で学べること

・データベースとは何か
・MySQLの役割
・PHPとMySQLの関係
・CRUDという考え方
・次の記事で何を実装するのか


データベースとは何か

データベースとは、
データを整理して保存し、必要なときに取り出せる仕組み です。

単なるファイル保存とは違い、

・大量のデータを扱える
・高速に検索できる
・同時アクセスに強い

という特徴があります。

Webサービスでは、
データベースなしはあり得ない
と言っても過言ではありません。


なぜファイル保存ではダメなのか

「テキストファイルに保存すればいいのでは?」
と思うかもしれません。

しかし、実際には次の問題があります。

・検索が遅い
・同時アクセスに弱い
・データの整合性が取れない
・更新・削除が複雑

データベースは、
これらの問題を解決するために存在します。


MySQLとは何か

MySQLは、
世界で最も使われているデータベース管理システムの一つ です。

特徴としては、

・無料で使える
・高速
・情報が豊富
・PHPとの相性が良い

という点があります。

WordPressも、
内部では MySQL を使っています。


データベースは「表」で考える

データベースは、
表(テーブル) の集まりとして考えると分かりやすくなります。

イメージとしては、

・Excelのシート
・Googleスプレッドシート

に近いです。


テーブルの基本構造

1つのテーブルは、
次の要素で構成されます。

・列(カラム)
・行(レコード)

例えば、
ユーザー情報のテーブルでは、

・id
・名前
・メールアドレス

といった列があり、
1人分の情報が1行になります。


主キー(id)の役割

多くのテーブルには、
id という列があります。

これは、

・1行を一意に識別する
・重複しない
・自動で増える

という特徴を持つ
主キー です。

PHPとMySQLを連携する際、
この id が非常に重要になります。


PHPとMySQLの関係

PHPは、

・データを受け取る
・処理する
・表示する

役割を持ちます。

一方、MySQLは、

・データを保存する
・検索する
・更新する

役割を持ちます。

PHPは、
MySQLに命令を出す側
だと考えてください。


SQLとは何か

MySQLに対して命令を出すための言語が、
SQL(エスキューエル) です。

SQLを使うことで、

・データを保存する
・データを取得する
・データを更新する
・データを削除する

といった操作ができます。


CRUDという考え方

Webアプリのデータ操作は、
次の4つに分類できます。

・Create(作成)
・Read(取得)
・Update(更新)
・Delete(削除)

これをまとめて
CRUD と呼びます。

実務のWeb開発は、
ほぼ CRUD の組み合わせです。


PHP × MySQL 学習のゴール

この章(7章)のゴールは、
次の状態になることです。

・PHPからMySQLに接続できる
・データを保存できる
・データを一覧表示できる
・データを更新・削除できる

ここまでできるようになると、
「Webアプリを作れる」
という実感がはっきり出てきます。


次の記事で何をするのか

次の記事では、
いよいよ実際に手を動かします。

・MySQLに接続する
・データベースを作る
・テーブルを作る

環境構築と操作の基礎から
順番に進めていきます。


まとめ

MySQLは、

・Webアプリのデータを保存する場所
・PHPと組み合わせて使う
・CRUD操作が基本

という役割を持っています。

PHP基礎を終えた今、
MySQLに進むのは
最も自然で、最も成長を実感できるステップ です。


次に読むべき記事

▶ 次の記事
7-2 MySQLの基本操作(データベース・テーブル作成)

コメント