今回は、データベースで主に使われているリレーショナルデータベースとその中でよく使われているMySQLの概要や歴史について説明します。
データベースとは
データベースとは、主に下記の2つが存在するものを言います。
- 何かしらの規則を持っているデータが集まっているもの
- データの検索等、情報を活用する機能が付いているもの
闇雲に集められた規則性のないデータの集まりや、集められたデータを活用することができないものはデータベースとは言わないようです。
データベースという名前の由来は、第2次世界大戦中のアメリカ軍が書類等の情報を効率的に扱うため、1つの基地に情報を集めたことが由来と言われています。
リレーショナルデータベースとは
リレーショナルデータベース(RDB)とは、1つのデータをいくつかの項目の集まりで表したデータベースのことです。例えば、1つのデータに対し「会員番号」「氏名」「住所」「電話番号」のように様々な項目の内容が集まったデータのことを言います。
リレーショナルデータベースの起源は、1970年にIBM社のEdgar F.Coddが発表したリレーショナルデータベースに関する理論と言われています。
SQLとは
SQLとは、クエリというデータベースを操作する命令を書くためのデータベース言語です。SQLは宣言型の言語のため、一般的に言われているプログラミング言語とは別の言語となります。
SQLが登場した1970年代では標準規格が存在しない言語でしたが、1986年に標準SQL規格が発表され、その後今日で使われるSQL文が次々と追加されていきました。標準SQL規格が発表されたことで、多くのデータベース製品が共通のSQLで基本的な操作ができるようになりました。
標準SQL規格で共通のSQLが使えますが、データベース製品ごとにコマンドが異なるところもあるため注意が必要です。
MySQLとは
MySQLとは、1995年にMichael Wideniusが開発したオープンソースのリレーショナルデータベースマネジメントシステム(RDBMS)です。
Michael WideniusはMySQL ABの創業者としてMySQLを提供していましたが、2008年にサン・マイクロシステムズに買収されました。その後、2010年にOracleがサン・マイクロシステムズを買収し、現在はOracleが提供するオープンソースのデータベースとなっています。
Michael Wideniusはサン・マイクロシステムズがOracleに買収される前に同社を退職しました。その後、2010年にMariaDBを設立し、MySQLと互換性のあるMariaDBをリリースしています。
現在、MySQLは様々な企業で使われており、オープンソースのRDBMSの中では有名な製品となっています。
MySQLの形態
MySQLには2つの形態があります。
Community Edition | MySQL Community Editionは無償で使用できるMySQL製品です。有償版と違い技術サポート等はありませんが、個人利用や勉強用途で使用するには十分な内容となっています。 |
---|---|
Standard Edition Enterprise Edition Cluster Carrier Grade Edition |
MySQL Standard Edition、MySQL Enterprise Edition、MySQL Cluster Carrier Grade Editionは有償版の商用MySQLとなっています。技術サポートや定期的なアップデート、サービスパックが付いていたり、有償版で使える管理画面、Oracle製品との互換性等、様々な機能が付属しています。 |
MySQLの特徴
MySQLには下記の特徴があります。
- 動作が速い
- オープンソースのRDBMSである
- 多くのOSで動作するデータベースである
- 多くのプログラム言語で対応している
- ユーザーコミュニティでの情報が豊富
また、無償版であれば手軽に使用できることから、SQLやデータベースを初めて勉強する人にも使いやすい製品となっています。
MySQLの資格
4月29日(水)現在、日本語で受験可能なMySQLの資格は下記の2つになります。
MySQL5.6については、2020年9月29日で配信が終了となります。
MySQL8.0の試験は現在英語版のみ受験可能です。日本語の試験配信日についてはまだ発表が無いようです。
まとめ
- データベースは活用可能な情報の集まり
- リレーショナルデータベースは1つのデータをいくつかの項目の集まりで表したデータベースのこと
- SQLはデータベースに命令するコマンドを書くための言語
- MySQLはオープンソースのリレーショナルデータベースで無償で使うことができる
- MySQLは多くのOSで動き、様々なプログラム言語で対応している