
|  | データベース化計画 |
| |  | 導入編 |
| |  | データモデリング編 |
| |  | プログラム編 |
| |  | クラシックCDデータベース |
| |  | Access用MDBファイル |
|  | データベース |
|
4.SQL
★SQLとは?
リレーショナルデータベースの特徴の一つに、操作するための言語、SQLを備えていることがあります。
リレーショナルデータベースの関連性を持ったテーブルを操作する言語、それがSQLです。
SQLの規格は世界的に統一されていますが、製品によって微妙に違います。
SQLは大きく二つに分かれます。
★DDL
例えばテーブルを作成する。
逆にテーブルを削除する。
キーとなるカラムを指定する。
テーブルどうしの関連性を指定する。
上記のようなデータベースの構造を作るためのSQLです。
Accessのような個人用のデータベースを使う場合は、覚える必要はほとんどありません。
Visualツールが用意されていますので、SQLを知らなくても、データベースの構造を作成することができます。
★DML
テーブルにデータを設定する。
逆にデータを削除する。
データを更新する。
検索する。
などのテーブルのデータを操作するためのSQLです。
こちらも個人用のデータベースを使う場合は、ご存じなくても何とかなります。
特にデータの挿入/削除/更新などは、ご存じなくても問題ないと思います。
ただし検索用のSQLは知っておいた方が、何かと都合が良いでしょう。
Accessには、Visualツールがあって、検索用のSQLを自動的に生成してくれますが、なかなか自分の思い通りに動かないことが多く、そのときにSQLを知っていれば、生成されたSQLをチェックして、どこがまずいか問題点を見つけだすことが出来ます。
検索時のSQLの基本型はこんな感じです。
SELECT 項目名
FROM テーブル名
WHERE 条件
例えば「CDテーブル」から「CDID」が1番の「CD名」検索したいとします。
そのときのSQLは
SELECT CD名
FROM CDテーブル
WHERE CDID = 1
となります。
SELECTで取ってきたい項目は、1個だけでなく、複数でも良いですし、FROMで指定するテーブルも複数が可能です。
上記のような簡単なものは、ほとんど作られることはないですし、問題にならないと思います。
SELECT 曲テーブル.曲ID, 曲テーブル.曲名, 曲テーブル.作曲年月日, 曲テーブル.作曲番号, 作曲者テーブル.作曲家姓, 作曲者テーブル.作曲家名,
国テーブル.国名, 作曲者テーブル.生年月日, 作曲者テーブル.没年月日
FROM (国テーブル INNER JOIN 作曲者テーブル ON 国テーブル.国ID = 作曲者テーブル.国ID) INNER JOIN 曲テーブル
ON 作曲者テーブル.作曲者ID = 曲テーブル.作曲者ID
WHERE (((曲テーブル.曲名)='交響曲第9番') AND ((作曲者テーブル.作曲家姓)='ベートーベン'))
上記のSQLは、ベートーベン交響曲第9番の情報を、複数のテーブルを結合して持ってきています。
SQLの詳細については、たくさん本も出ていますし、丁寧に解説されている、ホームページもあります(検索サイトで、"SQL"で探してみてください)ので、そちらをご参照ください。
|