コラム

2020年11月27日

【言語紹介】社会で使われているデータベース言語【SQL編】

データベース言語『SQLってなに?』

 

皆さんこんにちは、プログラミングスクールCotoMirai事務局の長谷川ございます。

今回はデータベース言語『SQL』について簡単にご紹介!

 

今までご紹介したプログラミング言語は聞いたことがある方が多かったと思いますが、このSQLはあまり馴染みがないと思います。

少しでもご理解いただければ幸いです。

 

それでは、どうぞ!

 

------

▼前回記事はこちらからご覧ください。

https://www.kids-mirai.jp/event_content/110

------

 

 

■SQLとは?

 

SQLは一言で表すとデータベース言語です。

データベース(database)とは、検索や書き換え、分析などのデータ管理を目的として様々な情報を蓄積したものです。

電話帳や会員名簿のように紙に記載されているものもデータベースといえますが、特にITの世界では電子的な媒体にファイルなどの形式で保存・蓄積したものを指します。

これらを操作するための言語がSQLということです。

 

 

 

今回紹介するSQLは厳密にいうとプログラミング言語ではありません。

最初にもお伝えした通り、データベース言語というデータベースを操作するための言語です。

プログラミング言語はC言語やJava、Pythonなどコンピュータを操作するための言語です。

簡単に言うと命令する対象・目的が異なるということです。

 

データベース言語はプログラミング言語と命令方法も異なります。

プログラミング言語はコンピュータを1文1文で経路を辿りながら最終的に結果を出すことに対して、データベース言語はデータベースに直接命令するためシンプルなものとなります。

基本的にSQLでは1文ごとに結果を求めるため、データベースと会話するように命令が実行される方式をとり、『対話型』と呼ばれております。

一方、連続した操作や複雑な操作を行いたい場合はプログラミング言語の中にSQLの構文を入れて命令をし、実行する方式となるため、『埋め込み型』と呼ばれております。

SQLには2通りの命令の出し方があり、シンプルな命令=『対話型』|複雑な命令=『埋め込み型』という認識で問題ないでしょう。

 

------

 

 

■SQLのはじまり

SQLは1970年代、IBMが世界初のRDBMS(リレーショナルデータベース管理システム)である「SystemR」を開発しました。

 

------

※リレーショナルデータベース:行と列によって構成された「表形式のテーブル」と呼ばれるデータの集合を、互いに関連付けて関係モデルを使ったデータベースのこと。例:顧客管理表、売上管理表など

------

 

その操作を行う「SEQUEL(Structured English Query Language)」がSQLのベースとなっております。

ここからSQLを「シークェル」と呼ぶこともあります。

その後改良を重ね「SQL」に改名されました。

 

SQLは現在データベース言語の中で最も普及している言語の1つです。

またデータベース言語としてISO(国際標準化機構)で規格化されているため、SQLを覚えることでほとんどのRDB(リレーショナルデータベース)で利用することが可能なため汎用性が高い言語です。

 

------

 

 

■SQLの種類

 

SQLでは主に3種類に分かれております。

--------------------------------------------------

1.データ操作言語(DML:Data Manipulation Language)

2.データ定義言語(DDL:Data Definition Language)

3.データ制御言語(DCL:Data Control Language)

--------------------------------------------------

それぞれどのような命令ができるのかを解説していきます。

 

1.データ操作言語(DML)

データ操作言語はデータベースに対してデータを検索・追加・更新・削除などを行うためのSQL命令文の種類です。

・SELECT:データ検索

・INSERT:データ追加

・UPDATE:データ更新

・DELETE:データ削除

これらは利用頻度が高いものとなっております。

 

2.データ定義言語(DDL)

データ定義言語はテーブルなどを作成・設定・削除を行うためのSQL命令文の種類です。

・CREATE:テーブル作成

・ALTER:テーブル設定の変更

・DROP:テーブル削除

・TRUNCATE:テーブルデータ削除

これらはデータベースの管理者として、テーブルを管理する場合は必須になってくるものです。

 

3.データ制御言語(DCL)

データ制御言語は上記2つの利用を制御するためのSQL命令文の種類です。

・GRANT(権限付与)

・REVOKE(権限剥奪)

これらもデータベース管理者は必須になってくるものです。

 

これらの命令をプログラミング言語と組み合わせてシステム構築をしていくのが一般的な使い方になります。

皆さんが使用しているサイトの問合せや検索なども裏ではこのようなものの組み合わせだったりします。

 

------

 

■まとめ

 

●SQLはプログラミング言語ではなく、データベース言語

●データベース言語の命令の出し方は、シンプルな命令=対話型|複雑な命令=埋め込み型の2通り

●SQLはデータベース言語としてISO(国際標準化機構)で規格化されており、汎用性が高い

●SQLには3種類があり、データ操作言語・データ定義言語・データ制御言語は覚えておきましょう!

 

------

 

今回は簡単にですが、データベース言語SQLについてご紹介いたしました。

今までの言語はプログラムを作成するために用いられる言語に対して、データベースは仕組みを作っていく言語となっているため、専門用語がいつも以上に多かったかもしれません。

エンジニアでも様々な方がおり、どっちかが得意な方もいれば、なんでもこなせてしまう方もおります。

皆さんもプログラミングを始めてみませんか?

 

CotoMiraiではこのようなコラム記事からイベント情報など様々な記事を毎週金曜日にアップしておりますので、ぜひお楽しみに!

また12月にはクリスマスイベントを開催!

絶賛募集中ですので、ぜひ以下ボタンから詳細情報をご確認くださいませ。

皆さんのご参加をスタッフ一同お待ちしております。

 

 

 

------

 

参考資料

スッキリわかるSQL入門|中山清喬/飯田理恵子・著

SQLとは?基礎知識と具体例をわかりやすく解説!
https://products.sint.co.jp/topsic/blog/sql

SQLはプログラミング言語?何ができるかわかりやすく解説!
https://www.sejuku.net/blog/113802

SQLとは?データベース言語の基礎知識をわかりやすく解説!
https://hnavi.co.jp/knowledge/blog/sql/

SQLとは?プログラミング言語ではない?初心者向けに簡単に解説します
https://tech-camp.in/note/technology/93879/

大塚商会IT用語辞典
https://www.otsuka-shokai.co.jp/words/relational-database.html

データベース言語
SQL
対話型
埋め込み型
RDBMS
DML
DDL
DCL