こんにちは。ネットショップコンサルタント「たぶ」(@yusuke_tanaka34)です。
今日は「MySQLとは」というテーマで書いていこうと思います。
「MySQLって何だろう?」って感じですよね。
僕も6年くらい前から「WordPress」や「EC-CUBE」を触っているのですが、その中で「phpMyAdmin」を触る機会が少なからずあるんです。
まず『「phpMyAdmin」って何だろう?』というところから始まり、必ずたどり着くのが「MySQL」。
ただ「phpMyadmin」やら「MySQL」って聞いても、「なんとなくデータベースのことだろうなぁ。」とは分かるのですが、詳しくは分からないですよね。
「MySQL」のことを深く理解していなくても「WordPress」や「EC-CUBE」は触れますが、より詳しく理解してみたい。
そこで今回は「MySQLとは」というテーマで、「MySQL」について解説していきます。
この記事を読めば『「MySQL」とは何か?』という全体像が分かります。
簡単に言うと、「MySQL」とは「データベースを管理する仕組み」のことを言います。
それでは、これから具体的に「MySQLとは」を詳しくご紹介していきますね。
スポンサーリンク
「MySQL」とは
「MySQL」とは、一言で言うと「データベースを管理する仕組み」のことを言います。
「マイ・エスキューエル」と読みます。
「MySQL」は、現在世界で一番人気のある「データベース管理システム」です。
「MySQL」が分類される「データベース管理システム」のことを、正式には「リレーショナルデータベース管理システム(RDBMS)」と言います。
「RDBMS」は「Relational Data Base Management System」の略で、直訳すると「関係データベース管理システム」となります。(言葉が難しいですね・・・)
「データベース管理システム」自体は他にも種類がありますが、「リレーショナルデータベース管理システム」が一般的に広まっていて、「データベース管理システム」と言うと、だいたいこの「リレーショナルデータベース管理システム」のことを指します。
「MySQL」は大手企業のシステムなどにも採用されていて、仕事でも目にしたり耳にしたりする機会があるかもしれません。
「MySQL」の特徴
「MySQL」の特徴としては、
- オープンソース
- サクサク動く
- 多くのOS(Mac,Windows,Linuxなど)で動く
- 多くのプログラミング言語に対応
- シンプル
- 大企業(Oracle)が作った
などがあります。
特に「MySQL」は「オープンソース」という形が取られています。
「オープンソース」とは、世界中の誰でも無料で使ったり、修正したりすることができるソフトウェアを開発する手法のことをいいます。
「WordPress」や「EC-CUBE」も「オープンソース」。
「ソフトウェア」とは、「コンピューターを動かすためのプログラム」のことを言います。よく「ソフト」と呼ばれています。
ただし「オープンソース」と言っても「なんでもあり」なわけではなく、利用するにはルールがありますので、利用する際には利用規約を読んでから使ってくださいね。
ちなみに「MySQL」にはお金のかかる「商用のMySQL」もあります。
「リレーショナルデータベース(RDB)」とは
「リレーショナルデータベース(RDB)」とは、「複数のテーブルを使ってデータを管理するデータベース」のことです。
「Relational Data Base」。略して「RDB」。
「テーブル1の1列目と、テーブル2の16列目、テーブル3の9列目の同じ数字が入っている行だけを表示する。」みたいな感じで、複数のテーブルにまたがってデータを紐づけて、必要な部分だけを集めて効率的に使用することができます。
【リレーショナルデータベースの仕組み】
こんな感じで各テーブルがお互いに関係を構築して処理結果を表示するので、「関係データベース」という名前がついています。(本当は数学の理論を応用して考えられたデータベースのモデルなのですが、分かりやすいように説明しています。)
「リレーショナルデータベース」は世界中で使われており、「データベース」といった場合は、だいたい「リレーショナルデータベース」のことを指します。
「リレーショナルデータベース」にはいくつか種類があって、
- MySQL
- PostgreSQL
- Microsoft SQL Server
- Access
- Oracle
などが有名どころです。
その中でも「MySQL」と「PostgreSQL」は「オープンソース」として無料で使うことができます。
スポンサーリンク
「データベース」とは
「データベース」とは、「情報が活用できるように整理されたデータの集まり」のことを言います。
「几帳面な人が管理しているデータを貯めておく貯蔵庫」みたいなイメージですね。
基本的に、アプリなどは端末(パソコンやスマホなどの端末)とサーバーに入っているファイルとデータベースがやり取りをして、画面に情報を表示しています。
【Webサイトが表示される仕組み】
スマホで使っているアプリも、「WordPress」や「EC-CUBE」も、GoogleやAmazon、TwitterなどのWebサービスも、基本的には「データベース」を使っています。
なので、「データベース」は現在のIT社会とは切っても切り離せない技術なのです。
「データベース」の構成
「データベース」はMicrosoft社の「Excel」をイメージすると分かりやすいと思います。
「Excel」を例に取ると、「データベース」が「ブック」。その中に「テーブル」という「シート」があります。
「シート」の「A」から始まる縦列のことを「カラム」。1件1件のデータのことを「レコード」と言います。
【データベースの構成】
ただ、見た感じは「Excel」に似ていますが、「Excel」とは構造や操作方法が全然違います。
「Excel」は好きなセルに文字や数字を入れたり、セルの中身をコピー&ペーストしたりできますが、「データベース」ではそういった操作はできません。
「データベース」は1行1行データを入れたり、検索したり、削除したりといった基本的な操作しかできないんです。
また、「このカラムには数字を入れる」など、最初に「テーブル」を作る際に決まりを作るのですが、最初に「数字を入れる」と決めると、その決まり自体を変更しない限り、あとから「文字を入れる」という操作ができません。
他にも「Excel」などにある「元に戻す」ボタンなどもなく、基本的に一度実行した操作は元に戻すことはできない仕組みになっています。
好き勝手に操作できないので使いづらそうな印象を受けますが、好き勝手に操作できないからこそ、データを安全に保管することができるのです。
「SQL」とは
「SQL」とは「データベースを操作するための言語」です。「データベース言語」なんて呼ばれています。
「SQL」は「データベース言語」の中で、おそらく1番有名だと思います。
「エスキューエル」「シークェル」「シーケル」なんて呼ばれています。(日本では「エスキューエル」でだいたい通じるかと思います。)
現在は「エスキューエル」が一般的となっていますが、元は「SEQUEL (Structured English Query Language)」が縮まって「SQL」になったので、「シークェル」や「シーケル」なんて呼ぶ人もいるわけですね。
「Structured English Query Language」を直訳すると「構造化英語問い合わせ言語」。(意味不明ですね。笑)
「言語」とは英語と数字で書かれている呪文みたいなやつです。
僕も最初は「こんな英語と数字だけで書かれたやつ、理解できるわけない。」と思っていましたが、ちゃんと勉強すれば意外といけました。(笑)
ちなみに、必要なデータをデータベースに「構造化」して入れているため、データベースに入っているデータを「構造化データ」と呼び、そこから「構造化問い合わせ言語」という名前がついています。
イメージで言うと、みんなが使っているアプリが「MySQL」で、アプリを作っている言語が「SQL」といった感じ。
ちなみに、よくスマホで使う「アプリ」は「アプリケーション」の略で、「アプリケーション」とは「目的を達成するために作ったプログラムのパッケージ」のようなイメージ。
「SQL」は、データベースに「このデータを表示してください。」とか「このデータを入れてください」など、やってほしいことをお願いする時に使います。
この「お願い」のことを「クエリ(query)」と言い、直訳すると「問い合わせ」になるため、先ほどの「問い合わせ言語」となるわけです。
「phpMyadmin」とは
「phpMyAdmin」は「ブラウザ(Google ChromeやSafariなど)からデータベースを管理できるソフトウェア」のことを言います。
通常、「MySQL」を操作するためには「MySQLモニタ」というのを開いて、真っ黒い画面に文字列を打ち込んで操作するのですが、「phpMyAdmin」を使うと「Windows」や「Mac」のようにクリックとキーボードで直感的に操作ができるようになります。
【phpMyAdminの管理画面】
「MySQL」や「SQL」を詳しく知らなくても、データベースを操作できちゃうのです。(やる気をなくさないでください。)
でも、結局マウスで操作をしても、「phpMyAdmin」の裏側では「SQL」を打ち込んでいるわけですし、「MySQL」や「SQL」を知っておくと構造や意味が分かるので、勉強しておいて損はありません!
と言いますか、これからWebアプリケーションを作るのであれば、「MySQL」の知識は絶対に必要なので、ぜひここで頑張っておきましょう!
スポンサーリンク
まとめ
今回は「MySQLとは」というテーマでお送りしてきました。
おさらいですが、「MySQL」とは、
「データベースを管理する仕組み」
です。
「MySQL」の特徴は、
- オープンソース
- サクサク動く
- 多くのOS(Mac,Windows,Linuxなど)で動く
- 多くのプログラミング言語に対応
- シンプル
- 大企業(Oracle)が作った
でした。
「MySQL」は、
「リレーショナルデータベース管理システム(RDBMS)」
で、「SQL」という「データベース言語」を使ってデータを管理します。
「リレーショナルデータベース」は、見た目が「Excel」に似ていて、
リレーショナルデータベース | Excel |
---|---|
データベース | ブック |
テーブル | シート |
カラム | 縦列 |
レコード | データ |
という名前がついています。
「MySQL」はWebアプリケーションを作るのであれば、絶対に必要な知識なので、ぜひ頑張って勉強していきましょう。
「MySQL」の勉強をするのに「基礎からのMySQL 第3版」という本がおすすめです。
「MySQL」の勉強を始めるのに、次は「MAMP」をインストールしてテスト環境を構築しましょう。
「MySQL」について、他にも分からないことがありましたら、お問い合わせまでご連絡ください。
以上、ネットショップコンサルタントの「たぶ」でした。
こちらの記事もおすすめです。