SQLの学び方

 先日、職場の方から「石川さんは、どうやってSQL勉強したんですか?」と質問をいただきました。言われてあとから気づいたのですが、ちゃんとしたSQLの教育を受けたことって、ありませんでした。では、どうやって学んだのでしょうか。
 結論から言うと、Oracleのマニュアルです。Oracleのマニュアルは、膨大な量があって、どれを読んだらいいのか、本当に迷います。その中で、SQLを勉強しようとする方のためには、「SQLリファレンスマニュアル」これだけですね。今でもOracleさんのホームページで提供されていますので、本気で学びたい方は検索してみてください。最初は、この中の「SELECT」についての記述を読んでは試し、読んでは試し、してみてください。そのうちに何となくわかってくると思います。「SELECT」に慣れて余裕が出てきたころに、マニュアルの他の記載を見るのがよいでしょう。そこには、リテラルや値の種類、関数の種類などが書かれてあって、読めばより理解が深まって、SQLをもっと便利に使えるようになると思います。
 もし、もっと深く理解していきたいと思った人は、SQLが作られる元となった知識として「関係モデル」の「関係代数」を学ぶのがよいと思います。関係とはおおよそ表のようなものを表す概念のことで、関係代数は、それらの演算について述べられたものです。詳しくは、C.J.Dateさんによる「データベースシステム概論」を参照してください。関係代数の和、交わり、差、直積などについて詳しく記載されていて、関係というか、表というか、セットというか、そういう概念の演算について深く理解できるようになります。

 ぼくがSQLを初めて使ったのは、おそらくOracle6の時代で、とても衝撃的だったのを覚えています。当時はデータベースというものの存在も知らず、データはすべてファイルに書かれているのが当たり前で、システムごとプログラムごとにファイル定義を作り、そのルールに従ってファイルオープンし、読み書きして利用するのが当たり前だと思っていたからです。当時はSQLでデータを取得する仕組みが全く理解できず、とにかくこうやればデータが取れる、という利用方法でした。データベースが現在のように利用されるようになるとは夢にも思っていませんでした。
 Oracle7になって、本格的にOracleを使うようになったのですが、当時はまだインターネットもそんなに普及しておらず、すべて紙のマニュアルだよりでしたね。わからないことはすべて、マニュアルを読んで試してみる、ということしかできなかった、というわけです。
 当時のOracleを使っている人たちの間では、今よりももっとたくさん色々なパフォーマンス上の問題があって、ぼくにはそういう問題を解決する機会も多かったように思います(今でもそういう問題って起きているのかな?)。そうそう、SQLをすんなりと書けるようになったら、次に、パフォーマンスの問題が待っていました。そんな書き方したら、Oracleちゃんは、うまく動いてくれないよ~、というヤツですね。チューニングに関するSQLについては、また、別の機会に書きたいと思います。

Google Cloud Platform 入門編トレーニング

SHOEISHA iD News号外で案内が送られてきたので、 2019年2月20日(水)に、Google Cloud Platform入門編トレーニングに参加することにしました。

会社を始めることが決まったときに、以前からやろうと思っていたけどできていなかった情報発信をしていこうと思い、そのためのインフラとして、WordPressを使うことを決めました。
さらに、会社としてできそうなことを何か始めようと思って、Google Cloud Platform(GCP)を利用していくことに決めました(ずいぶんと今更だよねぇ )。
当然、このサイトもGCPであっという間(?)に作りました。

これまでデータベースを中心にした業務アプリケーション開発にかかわることが多かったので、業務分析やデータモデリング、アプリケーション開発、パフォーマンスチューニングなどは、申し分なく得意分野だと言い切れるまでになりました。
しかし、業務において発生する問題について、その解決策として何が提供できるの、となったときにすぐに提供できるものがない、ということがこれまではすごくジレンマでした。
インフラまわりが弱くて、業務サービスを単体で提供することができなかったのです。

そんなこともあり、これからはGCPがその助けになると信じて取り組むことにしたのでした。作りたいものさえ分かっていれば、かなりの短期間でサービス提供できるようになるという可能性はとても魅力的です。

そして、ちょうど勉強を始めたタイミングで入門編の案内がきたので、「これだ!」と即申し込みました。

現状のデータをいろいろと分析するために、データウエアハウスの代わりとしてGCPを利用することができそうだ、というところまではたどり着いていたのですけど、実際にどんな手段をつかって実現していくのか、そのストーリーがなかなか見えてこないので、今回のセミナーで確認してみたいと思っています。

Google Cloud Platformエンタープライズ設計ガイド

初出勤

今日は新しい会社としては、初出勤の日でした。ありがたいことに、その日のうちに取引先の方々からお祝いの宴を設けていただきました。本当に感謝です。これからも、もっとよいお仕事でお返ししていきたいと思います。

そして、その宴にぼくの会社のロゴの素案を持ってきてくださっていました。ぼくがロゴなんて考えていないということが完全にバレていてちょっとだけ恥ずかしかったけど、とてもうれしかったです。第二案も検討中とのことでしたので、このロゴか、まだ見ぬ案のどちらかで、まずは名刺を作らせてもらいたいな、と、思いました。

会社始めました。

色々あって、会社を始めることになりましたので、Google Computing PlatformのWordPressでホームページを立ち上げました。

ちょっとずつ更新していきたいと思います。