SQLってなんだ!?
SQLとは、Structured Query Languageの略で、 日本語で言うと構造化問合せ言語と言うことになります。
SQLって何て読むの?
そのまま「エスキュ-エル」と読んで下さい。
SQLはそもそもSEQUEL「シーケル」と言う言語から生まれているため、SQLも「シーケル」と呼ばれていました。
しかしその後標準化され、現在はSQL「エスキューエル」と呼ばれています。
【SQLの歴史】
1970年 6月 | E.F.Codd氏(IBM)によって,A Relational Model of Data for Large Shared Data Banks (Communication of the ACM vol.13,No.6)」を発表しデータベース技術の数学的原理をリレーショナル・モデルとして定める | |
1974年 | D.D.Chamberlin氏(IBM)らによってデータベース操作言語であるSEQUEL(Structured English Query Language)を開発 | |
1977年 | リレーショナル・データベース管理システム(IBM SYSTEM-R)の言語としてSEQUELを採用し、SQL(Structured Query Language)として装備 | |
1986年 10月 | ANSI X3.135-1986 を制定 | |
1987年 6月 | ISO 9075-1987 を制定 | SQL86 |
1987年 11月 | JIS X3005-1987 に制定 | SQL86 |
1989年 4月 | ISO 9075-1989 を制定 | SQL89 |
1992年 | ISO 9075-1992 を制定 | SQL92 |
1999年 6月 | ANSI X3.135-1999 を制定 | SQL99 |
ISO 9075-1999 を制定 | SQL99 | |
~現在 | ウィキペディアをご覧ください。 |
ANSI :アメリカ国家規格協会(American National Standard Institute)
ISO :国際標準化機構(International Organization for Standardization)
JIS :日本規格協会
SQLって何するの?
DBMSを操作するために使います。
んん..ー_ー;)難しいですね。
簡単に言うとデータベースと対話(操作)するために使用します。
「こんなデータを頂戴」だとか、「このデータを入れてね」といった様なことです。
ちなみにRDBMSとは、 Relational Database Management Systemのことで、
日本語で言うとリレーショナル・データベース管理システムとなります。
(?_?)カタカナになっただけでほとんど日本語になっていませんが、
これ以上日本語化すると意味不明になってし まうのでご勘弁ください。
※MicrosoftのAccessなどを使ったことがある人は、クエリーって見たことありますよね?
クエリーを作ったことはありますか?
そうです!あれはSQLを作っているんですよ。
PL/SQLってSQLなの?
PL/SQLとは、Procedural Language/SQLの略で、手続き型言語の事です。
SQLと組み合わせて使用し、一連の手続きを記述することができます。
ということでSQLとPL/SQLは別物ですが、まったく別物と言う訳でもありません。
PL/SQLには、手続き型言語なのでIFやLOOPなどの制御命令が用意されています。
馴染みのある言葉で言うと結局プログラムということになりますね。
そしてSQLはプログラムの中で使用できる命令の1つということに なります。
SQLってどこで動くの?
RDB(リレーショナルデータベース)上で動作します。
リレーショナルデータベースには、Oracle、Access、SQL Server、Informix、Sybase..などなど、適当に書きま したが他にも沢山のデータベースが存在します。
SQL言語自体は、ANSIや ISO、JISで標準規格化されているので基本的な命令はどれも同じです。
しかしデータベースはそれぞれ独自の命令を拡張しているので、どれでも同じ命令が使用できると言うこと訳ではあ りません。
SQLってどうやって作るの?
SQLは、テキストとして作成します。
作成するのに特にソフトなどをインストールする必要もありません。
テキストエディタがあればOKです。
※SQLはデータベースサーバー上で解析され実行されます。
過去にVB(VisualBasic)などの言語に触れたことのある方は、
同じようにソフトをインストールしたり、コンパイルしたりというイメージがあるようですね。
SQLはどちらかというとインタプリタ言語なのでコンパイルは必要ないのです。
余談ですが、VBやCなどのコンパイラ系言語もソースの段階では、ただのテキストなのでテキストエディタでも書けるんですよ。(一から書くのはとっても面倒だけどね)
SQLはどうやって動かすの?
SQLを実行するには、いろいろな方法がありますが目的はひとつです。
データベースにSQLを渡して実行してもらい、結果を返してもらうということです。
オススメは、Oracleに標準で付いてくるSQL*Plusという対話ツールを使う事です。
今後もOracleを使うなら多くのシーンでこのツールが必要になります。
非常に重要なツールなので、使い方は必ずマスターしておきましょう。
SQL*Plusに関する情報も紹介しているので使い方を知らない方はご覧ください。