- - PR -
興味深いお題でした
1
| 投稿者 | 投稿内容 |
|---|---|
|
投稿日時: 2005-03-08 16:34
今まで過去に汎用機で階層型DBもRDBも使用したことはありましたが、ここ数年はもっぱらOracle、SQLServreでしたのでこれしか無理と言った言語に頼らずSQLでコーディングすることが多くなっております。
今、基幹システムがAS400/DB2で面食らっていました。 入れ替えたばかりです。 なぜ今入れ替えるのにAS400なのか?と疑問は拭い去れませんでしたが 運用できる人がいなかったから・・・・・それだけのようです。 ソースを見ましたが、全てISAMな使い方でこれもびっくりでした。 以前他の言語でも、SQL埋め込みは当たり前だったのでショックです。 レコードアクセスのパフォーマンスの問題はありますし、堅牢さで言えばDB2は結構堅牢だと思っています。しかし、例えば関数を使えば1行で結果を得られるところを RPGと言う言語でごりごり書くのはやはり手間とコストがかかってしまいます。 カキコにありましたが、テーブル設計も とてもとっつきにくいものです。 が、RPGプログラマーにはかなりいけてるものなのかもですね・・・もしかすると。 私のようなSQL便利!な者には設計ミスと思えるほどのものです。 WEB系も厳しいようですね。 |
|
投稿日時: 2005-03-15 09:20
AS400/DB2は本当に毛色が違うようですね。
AS400/DB2用お助けMiddlewareがあります。 参考までに: http://climb-net.com/hitsw/#SQL http://climb-net.com/hitsw/#DBmoto |
|
投稿日時: 2005-03-22 01:05
まーさんと同じところで私もかなり悩みました。
AS/400にはAS/400なりのいいところもあるのですが、やっぱり、普通のRDBの概念とはかなり違うんですよね。以前、ここの会議室で質問したときに頂いたレスにあったのですが、 「汎用機やオフコン、ぶっちゃけAS/400上のRPGでアクセすることを前提にしているテーブル設計に大してSQL発行したばあい、SQLプログラマーからみるとトリッキーなjoinしなきゃいけなくなるなど。 逆に、そんなこと無視してテーブル設計すると、普通に速度が出る。けどRPGプログラマからは不評。」by fukusさん。 なんて感じで。 私はRPGプログラマじゃなく、RPGプログラマが作成した物理ファイル(テーブル)をもとにデータ抽出を行うのが仕事なので、テーブル設計を変更するわけにも行かないのです(テーブル設計をいじくると、関連するプログラムをリコンパイルしなくちゃいけないので、厳禁と云われています)が、普通のRDBならキーフィールドになるところが、テーブルごとに桁数や型が違っていたりして、クエリーを何度もかまして対応できれば運がいい方。たいていの場合、SQLサーバやAccess上でテーブル設計を変えたり(最悪の場合、エクセル上で一発もの対応している・・・急ぎのデータ作成の時なんかは、背に腹は代えられないので)して、対応しています。 |
|
投稿日時: 2005-03-24 12:42
やや言葉足らずだったようなので補足します。
通常のRDBと同じ概念で使えます。 通常のRDBと同じ設計で使えます。 webを使うシステムのデータベースエンジンとして使えます。 桁数が違うというのは、設計ミスでしょう。 RPGにてRDBな使い方で利用できます。 RPGにSQLを組み込んで使えます。 最大のネックは、多くのRPGプログラマーが15〜20年ほど前に確立した設計・実装手法をベースにしていることにあります。 その辺気がついてきちんと学習している人たちと組むと、楽なんですが・・・ 補足の補足 RPGでレコードレベルアクセスは、早いです(笑) 「そんな馬鹿な!」と思いますが、なぜか早いんです。 ちょっとあやふやな記憶になるけど、これにアクセスするためのjavaclassの取説に「どうしても速度が出ないときは、レコードレベルアクセスのクラスを使ってみろ(意訳)」という一文が合ったはずです。 |
1
