転職後、初出勤してから一週目が終了。まだ全く仕事はしておらず、ただ勉強するだけで給料が貰えているという天国のような状態だが。皺が少なくなってきた脳に新しい情報をバンバン詰め込むのはなかなか大変だが、カリキュラムもいよいよ本格的なPL/SQLのプログラミングに入って面白くなってきた。
ちなみに、PL/SQLというのは、Oracle社製のデータベースの取り扱いに特化したプログラミング言語のこと。データベースを操作する言語のことをSQL(Structured Query Language)というが、これはデータベースのデータを作成、変更、削除したり、保存されてるデータを取得したりするためのもので、手続き型処理は組めない。それをOracleが独自に機能拡張して手続き型言語(Procedure Language)化したのがPL/SQL。Excelでマクロのプログラム組んだことある人ならなんとなくイメージできると思う。
Oracleが開発したので当たり前だが、Oracleデータベースとの親和性が高い。逆にJavaみたいなオブジェクト指向の言語はリレーショナルデータベースとの親和性は低い。優劣というより、情報の捉え方の違いで起こる摩擦ってやつ。
リレーショナルデータベースっていうのは言ってみれば、大量のExcelシートの集まりみたいなイメージ。社員マスタシートには社員の情報だけが載っていて、部署マスタシートには部署の名称だけ。それぞれ、一意のIDが振られていてダブりがない。社員マスタには部署マスタのIDだけ記載すれば2つは紐付けできる。どのデータとどのデータが関連しているかが整理しやすいので、大量のデータを扱ったり帳票出したりするのに向いている。
しかし、俺はただ井上さんのプロフィールが知りたいだけっていう場合、大量のエクセルシートを行ったり来たりするのはめちゃ面倒くさい。普通に井上さん個人の経歴書見た方が早い。俺が人事部長で、社長にアフリカ駐在員候補の答申をしに行くなら、大量のエクセル印刷ではなく、社員個人の経歴書が入ったファイルを持ち歩く。これがオブジェクト指向や。
結局、エクセルシートから個人の経歴書は作れるし、その逆も然りだから、最終的にできる仕事の結果には大差はないんだけど、パフォーマンス効率は違ってくる。プログラミングで言えば、アルゴリズムの設計のしやすさにも関わってくる。今の会社は経理業務システムとか、製造管理システムの開発なので、いったんJavaのことは置いといて、このPL/SQLの習得に集中しなければならん。
まぁ、とにかく、この一週間はとにかく1日が終わるのが早くてあっという間であった。少し前まで、片道15分の京浜東北線があんなに憂鬱で面倒だったのに、今は1時間弱の有楽町線が不思議と苦でなく、いい歳してワクワクしながら通勤しております。もう17才じゃあないが、私は今、生きている(by 森高千里)