目次
SQLっていうのはデータベースとのコミュニケーションツール
一説では「Structured Query Language」の頭文字を取って「SQL」と言われていますが実際のところ略語ではないらしいです。らしいと曖昧に書くのは本当のところがわからないから。
確かに、Structured Query Languageを直訳してくっつけたら構造化された問い合わせ言語となります。
読み方も「エスキューエル」派と「シークェル」派にわかれており、ちゃんとした明確な呼び名がないです。
まぁ、日本ではエスキューエルで通りますので問題なしです。
あと、勘違いしがちなんですがSQL = データベースではないです。
SQLデータベースというのがありますが、データをテーブル形式で保存・管理するシステムがあって、それを構造化照会言語(SQL)を使って操作するからSQLデータベースと言います。
SELECT (検索), INSERT (追加), UPDATE (更新), DELETE (削除) など、様々なコマンドを使ってデータベースを操作します。
じゃ、データベースって何?
データベースはデータの入れ物であり、しくみでもあります。
たくさんの情報をコンピュータの中に整理して保管する大きなボックスと思っていただければよいかと。
(探しやすいように整理されたおもちゃ箱的な想像で良いです)
データは表(テーブル)と言われる形式で整理され、フィールド(列)とレコード(行)から構成されています。
テーブルをわかりやすく説明するとExcelのシートのような感じですね。

で、レコードとフィールドはこんな感じ。ちなみにコレはExcelのテーブル機能の図です。
ただ、Excel(最大行数1,048,576 、最大列数16,384 が上限)やAccess(最大2GB)と違って大容量のデータを扱えます。
このデータベースと密接な関係を持つのがDBMS(ディービーエムエス)「Database Managment System」です。
これはデータベースを効果的に管理するソフトウェアシステムで、データベースを作成、更新、操作、維持するシステムです。
データベースの種類
リレーショナルデータベース
RDB(Relational Database)
テーブルと呼ばれる2次元データ構造でデータを格納し表同士の関係を管理します。
二次元データとは一般的に、縦軸と横軸の2つの軸で表現されるデータのことで、さきほどの図で見たのが2次元データ構造です。
データ操作はSQLというデータベース言語を使用。
代表的な例を挙げると、Oracle Database、MySQL、PostgreSQLなどがあります。
ノーエスキューエルデータベース
NoSQL(Not Only SQL)
RDBと異なるデータベースを使用しており、柔軟性の高さや高速な処理、高いスケーラビリティを実現できるのが特徴です。(要するにRDB以外のデータベースですね。)
NoSQLはデータベースの「分類」なので、「NoSQL」という名前のデータベースがあるわけではありません。
ちなみに頭についている「No」はSQLがいらないではなく、SQLだけじゃないよという意味だそうです。
まぎらわしいですよね。
代表的な例を挙げると、MongoDB、Cassandra、DynamoDB、Neo4j などがあります。
ハイアーラルキカル データベース
Hierarchical Database(階層型データベース)
データを階層構造で表現するデータベースの一種です。
古くからあるデータベースの形式ですが、現在ではリレーショナルデータベースの普及により、使用されるケースは少なくなっています。
まとめ
今回はSQLって何なん?という質問が知人から来たため、ついでにIT関連じゃない人用に説明してみました。
働いている人でも勘違いしている人はいるので皆さん優しくスルーしてくれると思いますが、知っていると営業さんとも話が合う(わけのわからない単語だと遠い目をして聞かずに済む)ので頭の片隅にでも置いておいてください。