データベースシステムの1つであるMySQLについて解説します。MySQLはスウェーデンの MySQL AB社によって開発・公開されていたデータベースシステムで、オープンソースのデータベースとして最もよく使われているものの1つです。
目次
データベースとはなにか
データベースはその名の通りWebサイトやアプリケーションなどで使うデータを保管しておく場所のことです。
例えばWordPressのように動的なWebサイトであれば、サイト名やURL、投稿内容、カテゴリ情報、タグ、コメントやトラックバックなどのデータを保管しておき、ユーザーがサイトを訪れた時にそれらのデータを使って動的にWebページを作成して表示しています。
このデータベースを効率的かつ安全に管理するためのシステムがデータベースマネジメントシステム(DBMS)です。
データベースの種類
データベースにも様々な種類があります。
よく使われるものとしては
- リレーショナルデータベース(RDBMS)
- キーバリューストア(KVS)
- ドキュメント指向型
- グラフ指向型
などが挙げられます。
この中で最もよく使われており、基本と言えるのがリレーショナルデータベースです。今回学習するMySQLもリレーショナルデータベースの1種です。
リレーショナルデータベースとは
リレーショナルデータベースではデータを表形式で管理します。
- 表全体のことをテーブル(table)
- 横の並びをレコード(record)
- 縦の並びをカラム(column)
- 1マスのことをフィールド(field)
と呼び、1つのデータベースの中に複数のテーブルを作成することができます。
そして、この表から好きな形式でデータを取り出して自由に扱うことができます。
例えばauthor_idが2のデータだけを取り出したり
データをauthor_idの順に並べ替えたり、といった具合です。
テーブルの結合
リレーショナルデータベースでは複数のテーブルを結合して、1つの大きなテーブルのように扱うことができます。
例えば次の図はそれぞれ別のデータを格納したテーブルですが、author_id という共通するカラムがあります。
リレーショナルデータベースではこのように共通するカラムを持つテーブルはカラムを通して繋がっており、結合して1つの大きなテーブルとして扱うことができます。
このように複数のテーブルが特定のカラムを通してつながっていることをリレーションと呼び、リレーショナルデータベースという名前の語源となっています。
E-R図
どのテーブルとどのテーブルがどのカラムを通して繋がっているかはそれぞれのテーブルの定義からカラムの名前を辿ればわかりますが、テーブルが増えてくると全体を把握するのが難しくなってきます。
そこでデータベース全体のリレーションを把握しやすくするために使われているのがE-R図です。
E-R図では矩形がテーブルを表しており、テーブルの間を繋ぐ線でリレーションを表しています。
https://codex.wordpress.org/Database_Description
MySQLとは
MySQLはスウェーデンの MySQL AB社によって開発・公開されていたリレーショナルデータベースシステムです。
企業の基幹システムとしてはOracle DatabaseやSQL Serverが有名ですが、これらが商用・有料なのに対し、オープンソースのリレーショナルデータベースシステムとしてWebサービスなどでよく使われており、PostgreSQL とシェアを二分しています。
2010年以降、MySQL が Oracle 社の傘下に入ったこともあり、MySQL AB 社の創設者 Michael “Montry” Widenius 氏はMySQL から分離しており、MySQL 互換のリレーショナルデータベースとして、MySQLの妹分ともいえる MariaDB を公開しています。