So-net無料ブログ作成
検索選択

IT業界の変化は激しいけど、習慣を変えるのは難しい [しょーもないこと]

http://nakagami.blog.so-net.ne.jp/2012-09-29
この時↑のシステムの設計というか、コーディング規約について、昨日の飲み会で話題になった
- 基本的に識別子はアルファベット2ケタ+数字6ケタ
- アルファベット2ケタはサブシステムを表し、数字の上のケタで業務を表す
- テーブルやビューの名前も識別子のルールに従いつつ T_ とか V_ とか付ける
- カラムは全て CHAR 型の固定文字列(数字や時刻を表すものも含めて)
- コードは、「1,2,3,9」とか「11,12,13,99」とか、最後に「その他9」が入る
- テーブルには主キーだけ定義されていて、その他にユニークキーや外部キーは定義されない
- 各テーブルには「yobi1」〜「yobi10」までの予備カラムが CHAR 型として定義されている

この仕事をした時、僕も業務システムは未経験だったので、なんだかわからず
「なんだろう、この謎設計は?」と思った。
たしか、「テーブルとその処理をするプログラムは同じ番号を振る」みたいな規約もあった気がするが、それは、守れないので(VB の別の画面で同じテーブルを操作する必要がある場合とか)基本尊重されつつも、異なっていても問題視されなかった気がする。

その後、あれは COBOL の世界の設計をひきづったもので、世の中に結構はびこっていると言うことを知った。
番号を台帳で管理すると、それはそれで便利なんだそうな。
全部 CHAR型だと、検索も時間かかりそうだしディスクスペースもいっぱい使いそうだけれども、最大レコード数から必要なテーブルスペースを計算するためには CHAR型が良い、のだそうな。

僕がやったのは小規模だったが、大規模になると番号を振る「採番担当」のひととか、どの番号を使えばいいかわからないときに聞く「識者(シキシャ)」という人がいて
「えーと、この処理、何番にすればいっすかー?」
「シキシャに聞いてください」
というやり取りがなされていたという人もいた。

昨日の飲み会でも、皆さんお若いのにやっぱりそういう経験をしている人が何人かいた。
大きく
- CHAR 型だけでなく VARCHAR も許されていた派
- 主キーすら設定されていない派
と、僕のみたアレと微妙に流儀が違うものもあるようだ。
主キーや外部キーがないデーターベースで性能が出ないとか言われたら Oracle さんも気の毒である。

驚くべきことは、ああいうシステムは、もう 21世紀にはなくなったのかと思いきや、
今でも脈々と量産されているらしい。JDK 1.4 (相当の機能) + Struts1 で・・・
オープン系のシステムをやっている人で、 COBOL を経験してる人なんてほとんどいないと思うのに、いつまでもあの慣習が残ってしまっているんだろうか?

自分はどうだろう?古い成功体験にとらわれて、やみくもに古い不合理なことしてないだろうか?
気をつけなくては・・・と思ったことであった。
コメント(0)  トラックバック(0) 
共通テーマ:日記・雑感

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

※ブログオーナーが承認したコメントのみ表示されます。

Facebook コメント

トラックバック 0

トラックバックの受付は締め切りました