ウィリアムのいたずらの、まちあるき、たべあるきーPART2

gooブログ「ウィリアムのいたずらの、まちあるき、たべあるき」がお引越ししてきました

ちなみに、StrutsのActionメソッドに、ロジックなしでSQL文を直接書いた人(会社)の話

 ちなみに、以前のブログで書いた、


(4)Strutsでやるとすると、Actionメソッドに、SQL文を直接書いて、商品台帳テーブルを更新するプログラムを書くのよ(@_@)!


 このはなしを詳しく書くと、
 ある在庫のシステムを、こういう感じで作って、納品してきた会社があり、
 そのあと、仕様追加するということで、ウィリアムのいたずらが、お仕事もらいました。
 (はじめに作ったときには、ウィリアムのいたずらは、かかわっていない)。

-----

 で、その、はじめにシステムを納品した会社は、商品台帳テーブルに数量を持って、その数量を修正することで、在庫としていたわけよ。
 ウィリアムのいたずらは、そのプログラムの仕様追加分の作成を頼まれたんだけど、その会社、もう、わけわかんないこというのよ。

 ちなみに、仕様追加分は、「日次で在庫日報を出す」

 その会社はなんと!
   商品台帳テーブルに年月日項目を追加して、
   毎日、商品台帳をつくることを提案してきた!
 そうすれば、日次の在庫をとってくるのは、いままでの在庫の取得方法に、年月日=指定日を付け加えればいいだけ!
 っていう主張をするわけよ、

 だから、ウィリアムのいたずらさん、
   その日の終わりに前日のレコードを全部とってきて、
   翌営業日(これは求められるメソッドがある)用に
   商品台帳テーブルにセットするプログラムをつくって!
 簡単でしょ、「Actionメソッドから!」 insertを発行すればいいだけだから。
 というわけよ!

-----

 おいおいおい、(ActionメソッドにSQLを直接書くことも問題だけど、それより)
 そのテーブル、何レコードになるんだよお!
 (つまり、商品が1万レコードあったら、毎日1万レコードずつ増えるのね。。。1年で約300倍?)
 (ちなみに、業種は、衣料品関連です。だから商品マスタは大きいけど、そんなに、毎日売れません)

 (その会社の社員に)計算させたら案の定

「1ヶ月半で、ハードディスクがいっぱいになります!だめです、日次在庫は、できません。」

 ちがうだろー!だめなのは、日次在庫じゃなくって、お前の考えだろー!

 その後、ウィリアムのいたずらが、毎日悲惨な生活になったのは、いうまでもない。

----

 もう、終わった話ですけどね。

 ちなみに、昨日のブログで、「わけわかんねえーっていうか、ロジック合わなくなっちゃって!」というのは、この話のつづきで、でてくる話です。こんな調子で、仕様変更ごとに、テーブルに項目追加したら、正規形がくずれちゃって、そのうち、ロジックがあわなくなってきちゃうのよね。