アプリケーション開発でデータベースを利用する新人プログラマに向けて、SQLおよびT-SQLを短期間で理解できるよう、開発現場ですぐに必要となる内容を中心に解説する。(編集部)
主な内容
--Page 1--
▼SQLとT-SQLについて
▼SQLの機能分類
--Page 2--
▼SQL Server 2005を利用してみよう
▼Management Studioを利用する
--Page 3--
▼初めてSQLコマンドを発行してみる
本連載は、SQL Server 2005を利用しSQLの基礎からストアドプロシージャの作成までを、順序立てて解説していきます。読者対象はSQLに初めて触れるような方を対象としています。ちょうど連載が春からの開始となりますので、新人プログラマの方々はこの機会にぜひSQLをマスターしてください。また、本連載ではSQLを網羅的にとらえるよりも、分かりやすく実践的な内容を記述していきます。ツールの簡単な使い方から各種構文まで扱いますので、各回で取り上げた内容をきっかけとして、SQL学習を進めていきましょう。
SQLの歴史は非常に古く、1970年にエドガー・F・コッド(Edgar Frank "Ted" Codd)博士によって発表されたリレーショナル型データベースモデルに関する論文(A Relational Model of Data for Large Shared Data Banks)が起源とされています。この論文を起点としてIBMやRelational Software(現Oracle)などで最も原始的なRDBMS(Relational DataBase Management System:リレーショナルデータベース管理システム)がいくつか開発されました。その際、データベースに対する問い合わせを実現するために誕生したのがSEQUEL、後にいう「SQL」(Structured Query Language:構造化問い合わせ言語)です(図1)。
SQLの誕生当初、データベース・ベンダ各社で言語仕様に関する拡張が行われており互換性がありませんでした。このため、ANSI(アメリカ規格協会)やISO(国際標準化機構)などでSQLの標準規格が策定され、「SQL87」や「SQL92」といった形で時代のニーズに合わせた改訂が進められています。しかしながら、標準規格は定まったものの、依然として各ベンダが提供するRDBMS製品では独自拡張が続けられており、マイクロソフトが取り扱うSQL Serverも例外ではありません。
マイクロソフトではこの標準規格をSQL Server専用に拡張し、「Transact SQL」(本書では略称のT-SQLと表記します)という言語仕様としてまとめています。従って、SQL Serverに対してSQLを発行する際は、標準規格に則ったSQLとSQL Server専用のSQLが混在することになります。SQL Serverで覚えたSQLがそのままでは他社のRDBMS(Oracleなど)で動かない、といったことはよくありますが、基本的な思想や文法が近いので、それほど苦労せずにほかRDBMSに移行することも可能です。
データベースは非常に多くの機能から成り立っており、これらを取り扱うSQLも広範囲にわたる言語仕様を持っています。SQLの言語仕様は大きく分けて3つ存在しています。
主にデータベースや表の作成などを行うために定義されている言語です。主に次のような命令文が含まれています。
表に格納されるレコードを取り扱う言語です。最も利用頻度が高く、DMLを覚えることがSQLをマスターする第一歩となります。主に次のような命令文が含まれています。
データベースの制御やトランザクションを制御するために定義されている言語です。主に次のような命令文が含まれています。
上記に挙げた以外にも多種多様な命令がSQLには存在しています。すべてを取り上げているとそれだけで連載が終わってしまうので、本連載では主にDMLを取り上げます。DMLをマスターできた方はDDL、DCLと学習を進めていきましょう。
Copyright © ITmedia, Inc. All Rights Reserved.