先週の土曜日にIBMのDB2チームが開催しているClub DB2の『【土曜開催】 さわってみよう DB2 9.7』に参加してきました。

なぜかDB2の上位資格を持っている私ですが、実際にはほとんどDB2に触れたことがありません。試験対策本やDB2新機能の本を読んで楽しんでいるので多少は知っているつもり。

データベースってなんだか不思議な気がしてとても興味を持っているのですが、せいぜいSQLを書くくらいです(前の現場では4000行を超えるSQLを書いたことがあります)。

今回のハンズオンは題名からわかるとおり、どちらかというと初心者向けの会でした。会の流れとしては、まず「DBやSQLってどんな感じのものなの?」というお話を聞いて、後は用意されたテキストに沿ってSQLのお勉強+DB2と仲良くなる時間となっていました。終了時間までは何をしてもOK!

SQLはだいたい知っているのでテキストはすぐに終わりました。ですので、普段触ることのないDB2でいろいろ遊んでいました。

・fromテーブルの作成
 DB2ではSQLの単語をテーブル名やカラム名に設定できると言うことを聞いていたので試してみました。
CREATE TABLE FROM(
SELECT SMALLINT,
FROM SMALLINT,
WHERE SMALLINT,
GROUP_BY SMALLINT,
ORDER_BY SMALLINT
);

 そして、適当なデータを挿入し、SELECT。

SELECT FROM FROM FROM
とか
SELECT SELECT FROM FROM WHERE WHERE ORDER BY ORDER_BY
という実務で発見したらぶちぎれそうなSQLを実行して楽しみました。

・新ロック機能"CS with CC"の体験
 何という言葉の短縮形だかは忘れてしまいましたが(CCは"Currently Committed")、Oracleに近い動きができるように追加されたらしいです。

 DB2の元々の動きとしては、テーブルAのデータをUPDATEして未コミット状態でいる場合、ほかのユーザーがテーブルAをSELECTしてもロックがかかっている状態なのでデータの取得ができません。

 今回新しく追加されたこの機能を有効にした後に上記と同じSQLを実行すると、変更前のデータを読み込んできてくれます。

 これが良いか悪いかは現場によりますね。

・CLP Plus
 なんだかOracleに迎合しているような気がしますが、SQL *Plusにかなり近い感じでオペレーションすることができます。
 dual表を使用することもできますし、表示レイアウトをOracleのコマンドで設定することもできます("set pages"や"set lin"など)。


 お勉強が終わったらIBMの人と、Club DB2に参加した人たちとの懇親会に行きました。

 土曜日に勉強・・・という感じですが、達成感のある午後でした。