SQLとは?種類やSQLを使う仕事など

#エンジニアブログ

 

「SQL」という言葉を聞いたことがあっても、それがいったい何なのかご存じない方も多いかも知れません。

 

SQLは「データベース」を操作するための言語で、企業の大規模データベースはもちろん、個人で利用できるWordPressのデータベースなどにも利用されており、知らず知らずのうちに私たちにも関係しています。

 

ここでは、「SQLとは?」という疑問に答えるとともに、SQLで操作を行う代表的なデータベースや、SQLの種類、さらに、SQLを使う仕事や関連する資格についても紹介していきます。

 

また、以前ご紹介した、「知らなかった?! SQLを速くするコツ」では、SQLの速度を改善するSQLチューニングについて

「<SQL入門>そもそもSQLで何ができる?基本コマンド解説」では、SQLで出来ることと基本コマンドの中から代表的なものを紹介しています。

ぜひ、あわせてご覧ください。

 

SQLとは?

まずは、SQLとは何かをみていきましょう。

 

データベース操作に欠かせないSQL

SQLは、データベースを操作するための「データベース言語」です。データベースにはいくつか種類がありますが、SQLは「リレーショナルデータベース」と呼ばれるタイプのデータベースの操作に用いられます。

 

SQLはISO(国際標準化機構)で規格が国際標準化されており、IBMやOracleなど、さまざまなデータベース製品で使用されています。

 

SQLExcelでいうフィルター機能の役目を果たす

SQLは、Webサービスやシステム構築するプログラミング言語とは別物で、あくまでデータベースに命令を出すことを目的としています。

 

SQLを用いると、データベースから欲しいデータを簡単に取得できるようになります。主な機能は、データの検索・抽出・並べ替えなどで、Microsoft Excelのフィルター機能に近い働きをすると考えるとイメージしやすいでしょう。

 

SQLを用いてデータベースに行える主な操作】

・データの検索
・データの追加
・データの更新
・データの削除
・テーブルの追加
・テーブルの削除
・ユーザー権限の付与 など

 

SQLとリレーショナルデータベース

 

 

SQLが何かを知るには、「リレーショナルデータベース」についても知ることが必要です。

 

リレーショナルデータベースとは

SQLで操作を行うリレーショナルデータベースは、現在最も広く利用されているデータベースです。単に「データベース」と呼ぶ場合は、リレーショナルデータベースのことを指すのが一般的です。

 

データをExcelのような2次元の表「テーブル」で管理しており、その中のデータを更新すると、関連付けた別のテーブルの値も連動して更新される仕組みになっています。これが、リレーショナルデータベースの利点です。

 

そもそもデータベースとは何か

そもそもデータベースとは何かを確認しておきましょう。

 

今日「データベース」と呼ばれるものは、一般的にコンピューター・システムの中に電子的に格納されたデータの集まりのことを指します。データベースを利用する主な目的は、大量のデータを自動で整理することと、検索しやすくすることです。

 

データベースにはいくつかの種類がありますが、代表的なものは以下の3種類です。

 

【主なデータベース】

・階層型データベース
・ネットワーク型データベース
・リレーショナルデータベース

 

データをツリー状に構築する「階層型」と、データを網状に構成する「ネットワーク型」は、比較的単純な構造で速度が早いのが特徴です。しかし、データ構造を十分理解していないと、データへのアクセスが難しい、という問題もあります。

 

一方で、SQLを用いる「リレーショナルデータベース」は、データの取り扱いが柔軟で、検索の自由度が高くなっています。その代わり、プログラムが複雑化しやすく、運用には一定の技術力が求められます。

 

代表的なリレーショナルデータベース製品

現在、広く利用されているリレーショナルデータベースには、メーカーが製品として販売している商用データベースと、無料で利用できるオープンソースのものがあります。

 

現在、広く利用されている代表的な製品は次の6つです。

 

SQLを利用できる代表的なデータベース】

・Oracle Database
・IBM DB2
・Microsoft SQL Server
・PostgreSQL(※)
・MySQL(※)
・SQLite(※)

 

※オープンソース。原則無償で利用可能だが有償のサポートを受けることもできる

 

これらは、すべてISO(国際標準化機構)で定められたSQLを用いて操作を行います。そのため、一度学習して得たSQLの知識は、幅広く生かすことができます。

 

代表的な3つのSQL言語

 

 

SQLにはいくつかの種類があり、それぞれ役割が異なります。ここでは、特に覚えておきたい代表的な3つの言語をみていきましょう。

 

▼DDL(データ定義言語)

DDL(Data Definition Language)は、データを定義するためのSQLです。

 

RDB(リレーショナルデータベース)を構成するテーブルの「作成」「削除」「定義の変更」などに用いられます。

 

【よく使われるDDLの命令文】
・CREATE:データベースやテーブルの作成
・DROP:データベースやテーブルの削除
・ALTER:データベースやテーブルの変更
・JOIN:テーブル同士の結合
・TRUNCATE:データの全削除

最もよく使われるのは「CREATE」です。

 

▼DML(データ操作言語)

DML(Data Manipulation Language)は、データを操作するためのSQLです。

 

RDB(リレーショナルデータベース)を構成するデータテーブルに格納するデータの追加・更新・削除・検索に用いられます。

 

【よく使われるDMLの命令文】
・SELECT:データベース内の検索
・INSERT:データの挿入
・DELETE:データの削除
・UPDATE:データの更新

最もよく使われるのは「SELECT」です。

 

▼DCL(データ制御言語)

DCL(Data Control Language)は、データを制御するためのSQLです。

 

データベースにおける権限の付与、及び、剥奪に用いられるほか、トランザクション(複数の処理をまとめる)の開始・確定・削除も行います。

 

DCLは、データベースのセキュリティ管理のための重要な役割を果たします。

 

【よく使われるDCLの命令文】
・GRANT:権限の付与
・REVOKE:権限の剥奪
・BEGIN:トランザクションの開始
・COMMIT:トランザクションの確定
・ROLLBACK:トランザクションの削除

 

SQLを用いる仕事・職業

 

 

では、SQLを用いる仕事にはどのようなものがあるのでしょうか。ここでは、SQLを使う仕事と、関連する職種をみていきます。

 

データの抽出

データ抽出は、SQLを扱う仕事の基本です。データを抽出し、そのデータを集計したり加工したりします。SQLとデータベースの知識があれば可能で、必要とされるスキルはSQLの基本的なものとなります。

 

 

データの分析・可視化(データアナリスト/データサイエンティスト)

SQLで抽出したデータを分析し、可視化する仕事です。BIツール(ビジネスインテリジェントツール=データを分析・意思決定を助けるツール)を用いることもあります。

 

職業としては、「データアナリスト」や「データサイエンティスト」がこれにあたります。一般的に、データアナリストは統計学を用いて人が理解できるように説明するビジネス寄りの仕事です。データサイエンティストは機械学習などを用いて、高度な分析モデルやアルゴリズムを構築します。

 

SQLの知識はあくまで基本となり、ビジネスや統計学、機械学習などへの深い知識が求められる職業です。

 

データベースの構築(データベースエンジニア)

データベースを構築する仕事です。基盤となる部分を作るため、SQLの知識があることに加え、データベースの概念を理解している必要があります。

 

職業としては、「データベースエンジニア」がこれにあたります。データベースを設計・開発し、管理・運用すると共に、データを使いやすいカタチに整えることを通して、業務を効率的に行うための下支えを行います。

 

データベースエンジニアも高度なスキルが求められる職種です。そのため、資格保有者に限定されることがあります。

 

 

SQLに関連する資格

SQLに関するスキルは、資格を取得することで客観的に証明できます。ここでは、SQLに関する代表的な資格を紹介します。

 

▼Oracle Master

データベース開発ベンダー「Oracle」が認定する、SQLに関する最も有名な資格です。SQLを書く能力と、データベースを管理する能力が問われます。実務に即した内容のため、就職や転職の際にも役立つはずです。

 

レベルが4段階あり、求められる知識やレベルが異なります。基礎知識を有することを証明する「ブロンズ」と、運用担当者としてのスキルを証明する「シルバー」が、まず目指すべき資格となるでしょう。

 

オープンソースデータベース技術者認定資格

特定非営利活動法人エルピーアイジャパンが認定する資格で、こちらも、SQLに関するスキルとデータベースに関するスキルが証明できるものです。「OSS-DB技術者認定資格」と表記されることもあります。

 

代表的なオープンソースデータベースである「PostgreSQL」を中心とした内容になっています。こちらは、「シルバー」と「ゴールド」の2段階の資格があり、SQLの基本的なスキルは「シルバー」で証明できます。

 

データベーススペシャリスト

情報処理推進機構(IPA)が実施する、情報処理技術者試験です。データベース全般に関する資格のため、SQLを含むさまざまなデータベースの知識が問われます。

 

データベーススペシャリスト資格は国家資格のため、特定の製品の知識を問われる内容ではなく、一般的なSQLの知識・使用法について問われます。情報処理試験の中でも最高レベルに分類されており、取得できれば、SQLだけでなく、データベース全体の幅広い知識の証明になります。

 

まとめ

SQLは、現在最もメジャーなデータベースである「リレーショナルデータベース」を運用する上で、必須となる言語です。

 

国際標準化されているため、一度学習した知識が幅広く使えることは、エンジニアのキャリア構築においてもメリットとなるでしょう。

 

関連する記事