63の手習い
OneNote2010のメモ書きを転載
2014年11月22日
15:22
最初の一歩
何か本でも読まなければ、SQL Serverでデータベースを構築することはできないので、「『Visual C# データベースプログラミング入門』日向俊二 著 カットシステム」を読み始め、私が従来理解していたデータベースとの相違などに注意しながら読み進め、あまり細かいことに拘泥せず3日くらいで読み終えて、コーディングをしてみるという方法で理解を深めた。
当初の主眼はVisual Studioを使い、C#でプログラミングを行いSQL データベースを使いこなして、会社のデータベースを構築することにあるので、”データベースを動かす”ことを中心に読み書きを進めた。したがって大切なことを読み飛ばして、とにかくデータベースを動かそうと、猛然と取り組んだわけである。
1年が経過して
1年たった今となって振り返れば、いくつかの重要事項をよく理解せずに進めてきたことがよくわかる。一つは、プロパティである。あるフォームから別のフォームへデータを受け渡しするには、昔と違ってグローバル変数でというわけにはいかず、プロパティを作成して受け渡すのであるが、プログラミングを進める中でどうしても必要になり、いろいろ調べてコーディングしたのであるが、実はこの本の129ページにリレーションを張った2つのテーブル間でバインディングソースのプロパティを作成して、データの受渡を行う例が記述されている。
実はこのことにはここ2~3か月前にこの本を読み返していて気付いたのである。それは、会社のデータベースシステムを構築した際に、プログラムの簡素化のために、プログラムを機能別に分割し、起動画面上のボタンで各プログラムを呼び出し処理を行うように変更を行った。その際に、私は各プログラムで基本のデータを読み込むようにしてしまったのである。プロパティを用いてそのことが実現できるのではないかと、多少は考えたのであるが、実験している暇もないと割り切って、プログラムの完成を優先させたのであった。ところが、102項目1万5千レコードもあるデータベースについて、本社のサーバーからの読み出しに20秒少々の時間がかかってしまうのである。常にプログラムを切り替える必要はないとはいえ、この切り替えのオーバーヘッドは私には耐え難いものがあった。この本を読み返したとき、「あっ」と思ったが、時遅し、すでに全体で6千行を超えるコーディングを行っており、一部変更による破たんが怖くてとてもではないが、データーソースのプロパティを作成してコードを書き換える気にはならなかった。若いときであれば難なく書き換えることができたと思うが、悲しいかな64歳にもなれば、3日前に自分で書いたコードをきれいさっぱり忘れてしますのである。メインの本体は3千4~5百行であるが、もれなく修正できるか自信がなく、破綻する恐れを抱いたということである。
付け加えれば、歳をとって私のように痴呆症を自分で疑う状況にある者にとって、イベントドリブン方式は非常にありがたいものである。部分部分のイベントについてのみ注意を払ってコードを記述すればよく、いったん動いたら忘れて差し支えないからである。ただ、全体の大きな構想は必要であるが、この1年間取り組んできた会社のデータベースに関しては、設計図などなしに頭の中で構想しながらコーディングしながら構成してきた。その意味ではいくらボケていても大きな構想はしっかり持てていたのかと思う。
本題-ストアドプロシージャ
話は、脇道にそれてしまったが、この本には後ろの方にストアドプロシージャのつくり方まで載っていて、Transact-SQLの使い方など、少しプログラミング力がついた段階で知りたくなる事柄の基本まで述べられているのである。言いたいことは、繰り返し読むことで、プログラミングの技量が向上した段階で、今まで見えていなかった事柄、内容が見えてくるので、時期に応じてこのような技術的な本は繰り返し読むべきであるということである。それによって、得られるものは多く、大きく、プログラミング力の幅と深みを与えてくれる。
老人ボケ
この本についてのエピソード。実は、この本を購入してから本棚に同一の本が収められているのに気付いた。古い本は2011年7月10日付けの初版である。いつか勉強しようと買っておいたものを、老人ボケでわすれて、2度買いしたものである。購入レシートには2011年7月05日とあるので、何か新版に惹かれて買ったものと思われる。このことに気付いた時は大いにショックであったが、会社と家とで使えるということで便利に使用できることになった。ただ、熟読して様々な書き込みをしたのは後から買った会社に置いておいた本であった。
注釈をつけます



C#/SQL Nin...