January 31, 2015

Uncategorized
なんでも入り口が大切 SQLを使おうとして学んだこと

この2年ぐらいSQLデータベースが使えるようになりたかったのだが、どうしても、サクサクと学べなかった。 たまたまプロジェクトでデータがRELATIONAL TABLEとしてくる。が、データマネージメントや分析はSASを使っている。せっかく、RELATIONALで来るのだから、SQLのままで使えたら楽だなと思っていた。 が、使い方を勉強しようとしても、最初のデータ入力で躓いてしまう。 本を読んでCREATE TABLEがどうのこうのと書いても、必ずエラーになり、前に進まない。 この状態が2年ほどつづいた。 ところが先週、ふとしたことで、それまでサーバーにおいてあって、アクセスの仕方も分からなかったデータのバックUPファイルを、ふと、マイクロソフトのSQL Server management Studioで開けてみると、開いたのだ。 開いただけで驚いた。 これまでは、何か、技術者に頼らなければアクセスの仕方が分からないサーバーにおいてあって、それにパスワードや、SERVER名をいれたりしないと操作できないと思っていたのに、 実際、自分のラップトップ上で、すんなりと、開いた。 で、適当に、これまでうろ覚えだったSQLのシンタックスを使ってみると、サクサクと結果が出る。 そして、数時間、使っていたら、本当に仕事に使えるような結果が出せた。 この2年は何だったんだ???? 違いはこれ。 過去には、SQLで既存のデータをSQLデータに変換しようとして、エラーメッセージが続出。 理由はおそらくSQLはすでにあるデータをテーブル化するのが目的というより、いかにデータをこれから集めるかというのが目的。だから、自分の持っている得体の知れないデータをSQLに入れるのに無理があった。 自分の普段使うデータはテーブルに100個ぐらい変数があったりするので、その100の属性を正確に理解し、SQLに指示するのは至難の業。 RELATIONAL DATABASEはそういうことが目的ではないのだと思う。 今回はすでにデータがSQLで見れる状態から始めた。すると、すでに持っているプログラマーとしての勘を使って、ある程度、NAVIGATEできる。 さらに、自分のラップトップ上で動いている。 なぜ、これまで得体の知れないサーバーに接続しなければいけなかったのかが分からない。 英語学習でも同じで、入り口を間違うと上達しにくい。 まずは音から入る、、と、上達が早い。そういう意味で、英語喉で聞けて、発音できる状態から出発すると良い。 長く英語をやっていて、いまだに、聞き取りの練習をしている人は、確実に入り方を間違っているので、ぜひ英語喉で軌道修正してほしい。 英語というのは、そんなに長い間、勉強するものではない。 プログラマーはプログラミングの「練習」を普通はしていないのと同じ。 ただし、剣道とかは違う。基本を何年も繰返していく。 マラソン、水泳なども、違う意味で長年の繰り返しがいるのだろう。メンテナンスと言う意味で。

Read more