まずはマンガで知ってみよう… |
こっちはウソなし…
|
学生時代,英語の辞書を毎日のようにめくって勉強したかたが多いのではないでしょうか。中には電子辞書やインターネット上の辞書サイトを使っていた人もいると思います。
コンピュータがなかった時代,ほとんどの情報は紙で管理されていました。2009年の現在では「データベース」と呼ばれるソフトウエアで,コンピュータ上で管理される情報がとても多くなりました。
例えば,電子辞書を作るとしましょう。辞書のデータは「データベース」に収めます。2次元の表に,単語と,その意味を登録します。入力された単語に対してその意味を出力するプログラムを作れば“辞書を引く”ことができます。
このとき,データベースの定義を決めたり,データベースにデータを登録したり,検索したりするときに用いる言語がSQLなのです。
操作するための言語です!
SQLはStructured Query Language(構造化問い合わせ言語)の略で,データベースからデータを読み込んだり更新したりするためのプログラミング言語の一種です。データベースそのものではなく,データベースを操作するための言語であることに注意してください。
機能はおおまかに三つ
SQLの機能は,おおまかに以下の3つです。
- データ定義言語(DDL: Data Definition Language)
- データ操作言語(DML: Data Manipulation Language)
- データ制御言語(DCL: Data Control Language)
「データ定義言語」とは,データベースの定義を作成したり,変更したり,削除したりするものです。
SQLが操作できるデータベースはリレーショナル・データベースと呼ばれる形式のもので,データを表の形式で保持します。データとデータの間の関係もやはり表の形式で保持しています。そのため,まずはデータベースの枠組みをデータ定義言語を使って定義する必要があるのです。CREATEや,DROP,ALTERなどの文で,データベースの枠組みに対する定義を操作します。
こうして定義したデータベースに対して,データを挿入・更新・削除・抽出したりするのが「データ操作言語」です。SQLの中核となる機能で,最もよく利用するSQLでしょう。INSERTや,UPDATE,DELETE,SELECTなどがこれにあたります。例えば検索処理の場合はSELECT文を使用して,さまざまな条件でデータを抽出し,結果を表示します。
最後の「データ制御言語」とは,データベースの権限を操作したり(GRANTや,REVOKEなど),トランザクション管理を行ったり(COMMITや,ROLLBACKなど)します。データベースを運用していくうえで,セキュリティを管理するためにアクセス権限を設定したり,トラブル時の復旧のためにトランザクション管理を利用したりします。
SQLはプログラミング言語の一つですが,たいていほかのプログラミング言語(PHPや,Java,Cなど)とともに使われます。このことから,多くのプログラマが覚える言語と言えるでしょう。たいていの場合,データベース・プログラミングは避けることのできない道です。
SQLを覚えるには,身近なデータで実際に動かしてみるのが一番です。まずは自分の持っている本やCDのデータベースを作り,さらに指定した本を検索するようなプログラムを作ってみてはいかがでしょうか。その便利さを知ったら,鼻水が出てしまうほど笑ってしまうかもしれませんよ。
本日のまとめ |