に投稿

SQLを勉強しなおす

Pocket

諸事情があり最近SQLを勉強し直しています。

勉強し直してみると、すでに忘れてしまっていたものや初めてしったもの、ぼんやりと理解していたのだけども、はっきりとは理解していなかったものなど、いろいろと問題があること(自分にね)がわかってきました。

結論から言えば、通常使っているSQLってSQL92という古〜い部分のみでほぼ全部だったということ。現在ではSQL99、SQL2003、SQL2008とどんどん進化しているようです。というわけで、SQL2003ハンドブックなるものを購入。SQL2003が現在ではほぼ最終系といった感じでしょうか?

XML構文が入ったのもこの2003。とは言いつつあまりXMLDBは流行らなかったかな?どちらかというとXML自体が縮小しがち。まあ電子商取引だとか有価証券取引書なんかはXMLを規格化して十分に使われていたりしますが、一般にWEB関連の技術で言えばXMLはもう終わりかけている感じです。

現状では、WEBのデータのやり取りではJSONがあっという的に優位ですね。この数年、WEBのフロントエンドはFlashなどのブラウザプラグインから、HTML5へと移行し、ほぼ画面周りはJAVAscriptで固められてしまいました。そのJavascriptとの親和性が最も良いのがJSON。まあJSON自体Javascriptのオブジェクトなので、当たり前ですけど。そういえば、本日ようやくHTML5の規格が正式にローンチしたとのニュースが流れていました。長かったですね。何年越しでしょうか?

ともあれ、DBの世界でもXMLではなくJSONが扱えるMongoDBなんかが結構人気になってきたりしています。その流れに逆行するように、SQLでのXML規格の再勉強。なかなか新鮮味がありますね!?その他、再帰問い合わせだのいろいろSQLも頑張っているようですが、WEBアプリの世界ではSQLを直接扱うことはだんだんと無くなっていき、O/Rマッピングなるフレームワーク?がDBとアプリケーション(JSPとかPHPとかそういうWebミドルウエアね)の橋渡しをするようになり、SQLは裏で自動生成されるようになっているのが最近の流行りです。

ということで生のすごく濃いSQLなんかお目にする機会もだんだんと少なくなってきていますが、SQLなしにデータベースは使うことはできないので、最新情報にもついていく必要があるのですね。