SQLとはデータベースを操作するためのデータベース言語です。SQLのプログラミング技術
を習得することでデータの検索、追加、削除、更新などの指示を有効に行うことが出来ます。皆さんはこのSQLという言葉の意味を正しくご存知でしょうか?この記事ではSQLについて理解をするために歴史、種類、独自拡張品などを簡単に解説していきます。
『データベースを操作するためのデータベース言語』
SQLとはリレーショナルデータベースの管理・操作をするため最も普及されているデータベース言語です。主な用途としてデータベース管理システム(DBMS)へデータの検索、追加、削除、更新などの指示のために使用されます。
1970年代にIBM社の開発によって誕生した『Structured English Query Language(SEQUEL)』が元になっております。そのことから広く知れ渡っている呼び名は『シーケル』です。またSQLは国際標準化機構(ISO)で規格化をされております。そのためMySQL、Oracle、PostgreSQLなど様々なデータベース管理システムにおいてもSQLにて対応することが可能です。またSQLの代表的な拡張プログラム言語としてPL/SQLやT-SQLなどが挙げられます。
データベースについて解説された記事はこちら>>
SQLの原型は1970代にIBM社によって開発された『Structured English Query Language(SEQUEL)』となっております。このSEQUELはE.F.Codd(エドガー・フランク
・コッド)氏が提唱したリレーショナル型データベースモデルを使用するために開発されたものです。SQLと現在の名前に変わったのはSEQUEL2へとバージョンアップした1976年のことです。SEQUEL2という名前が他社の商標登録済み製品であったためSQLという名前を採用することになりました。
このSQLは操作性が非常に優れていると関係各所から高い評価を得て、リレーショナルデータベースを操作するための標準言語となりました。1986年になると国際標準化機構(ISO)によってSQL規格の標準化が発表され普及のスピードに拍車が掛かりました。
SQLの種類を見ていきましょう。
データ定義言語(DDL)はデータベースのデータ構造を定義する言語です。正式名称は『Data Definition Language』でDDLはそれぞれの頭文字を取ったものです。主な役割としてデータベース内においてテーブルの作成、削除、更新などの命令を行います。代表的な命令文としてCREATE(表の作成・定義)、ALTER(列の追加・削除)などが挙げられます。
データ操作言語(DML)はデータベースのデータを操作する言語です。正式名称は『Data Manipulation Language』でDMLはそれぞれの頭文字を取ったものです。主な役割としてデータベース内においてデータの検索、挿入、削除などの命令を行います。代表的な命令文としてSELECT(データベース検索)、INSERT(データ挿入)などが挙げられます。
データ制御言語(DCL)はデータベースのデータへのアクセスを制御する言語です。正式名称は『Data Control Language』でDMLはそれぞれの頭文字を取ったものです。主な役割としてデータベース内においてユーザー権限の付与、削除やトランザクションの開始、確定、取り消しなどの命令を行います。代表的な命令文としてGRAND(ユーザー権限の付与)、BEGIN(トランザクションの開始)などが挙げられます。
SQLやデータベースにおいて活用される専門用語を見ていきましょう。
専門用語 | 意味 |
テーブル | データベースにおいてデータを保存しておくためのシート(表) |
カラム | テーブルにおける列や枠にあたるもの |
レコード | テーブルやカラムに入力されるデータそのもの |
キー | データに割り振らる固有の文字列 |
フィールド | レコードを構成する要素 |
SQLの独自拡張品について見ていきましょう。
PL/SQLとはOracle Databaseにおいて使用するためにOracle社によってデータベース言語SQLを拡張して作成されたプログラミング言語です。SQLが非手続型であるのに対し、PL/SQLは手続き型を採用しております。PL/SQLで作成されたプログラムを『PL/SQLブロック』と呼び、宣言部・実行部・例外処理部の3つの部で構成されます。特徴としてSQLとの親和性が高いことや移植性に優れていることが挙げられます。
T-SQLとはMicrosoft SQL Serverにおいて使用するためにMicrosoft社とSybase社によって共同開発されたデータベース言語SQLを拡張して作成されたプログラミング言語です。正式名称はTransact-SQLとなっておりT-SQLという略して呼ばれることが多いです。特徴として原型のSQLを強化するために制御フロー言語、局所変数、グローバル変数などの機能が追加されております。
SQLを理解するために歴史、種類、独自拡張品などを簡単に解説させて頂きました。SQLを一言で表すと『データベースを操作するためのデータベース言語』です。SQLは国際標準化機構で規格化されていることもあり、習得すれば様々なデータベースで同様にプログラムを組むことが可能となります。またSQLには定義・操作・制御の大きく3種類の役割を持つプログラム方式があります。SQLについてこの記事で記載されている最低限の内容は理解しておくようにしましょう。