SQLer 生島勘富 のブログ

RDB・SQLの話題を中心に情報発信をしています。

2010-11-01から1ヶ月間の記事一覧

リモコンは指で押せ!

SQLは大昔からあるメタプログラミングなのですが、メタプログラミングと呼ばれない理由は、自動生成されたコードが見えないからでしょうか。ベンダーにすればそれを見せてしまえばRDBMSの中身を見せているのと同じですし、見せる必要もないのでしょう。その…

SQLとはなんぞや?

SQLとはなんぞや?SQLができた当時は、COBOLのロジックを「なんとか簡単にできないか?」ということが主な目的でしたが、オブジェクト指向言語でSQLがない状態を考えてみましょう。 例えばJOINを書いてみる。 以下のSQL文をオブジェクト指向言語っぽく書いて…

SQLは最も高級言語2

SQLは、現在、普及している言語の中で最も高級な言語です。言語は高級になればなるほど人間に近づきシンプルにやりたいことが実現できる反面、実行速度は遅くなり、できることも限られます。 最も低級なマシン語と≒のアセンブリ言語であれば、コンピュータで…

SQLは最も高級言語

SQLは現在、普及している言語の中で最も高級な言語です。 高級か低級かというのは、どれだけCPU(の命令)と近いかです。CPUに近ければ近いほど低級でCPUから遠い、つまり、人間に近いほど高級言語ということになり、一般的に低級ほど扱うのは難しくなります…

SQLとオブジェクト指向言語の切替

SQLのイメージと他の言語のイメージ1 SQLのイメージと他の言語のイメージ2 の続きです。 ユーザインタフェースとのアクセスはストアドプロシージャで。 最終的に必要なシステムはこんな形だとします。 RDBサーバにあるデータで作れる形はここまでだとしま…

SQLはトップダウンで考える

以前、複雑なSQLをデチューンしていくというのを書きました。 ■1.OLAP関数を使って一括処理するパターン ■2.誤差配賦額をファンクションを使って計算するパターン ■3.誤差配賦額をファンクション内でループして計算するパターン ■4.ワークテーブル(ルー…

PL/SQLのカバレッジツールを作ろう4

よく考えたら、せめてワーニングのコメントを追加しておけば Grep などで使いやすいと気づいたので、ワーニングコメントを出力する機能を加えました。 よろしかったらダウンロードしてみてください。カバレッジツール.zip ※ Office2007(2003モードで保存) …

PL/SQLのカバレッジツールを作ろう3

思っていた内容にはならなかったけれど、SYS.DBMS_PROFILER パッケージを別操作で起動してカバレッジの情報を収集しておいて貰えれば、そこから集計することは可能です。当初の見込みではセッションを超えられると思っていたので、見込み違いでがっかりです…

PL/SQLのカバレッジツールを作ろう2

簡単にできるのですが、エクセルやサクラエディタからはイマイチ使えない。理由は単純でカバレッジのデータ収集開始をしたセッションと同じセッションで実行したストアドプログラムしかデータを収集してくれないから。 エクセルですべてのストアドプログラム…

PL/SQLのカバレッジツールを作ろう1

ストアドプロシージャでやるとカバレッジツールがないということが問題になるようです。 個人的には「別になくても良いんじゃない?」って思うけれど、なかったらストアドプロシージャは使えないと言われると、普及させたいと思う私は困ってしまう。簡単にで…

SQLのイメージと他の言語のイメージ2

SQLで処理する場合のイメージ 他の言語で処理する場合のイメージ 他の言語で処理するのは非効率になる 当たり前の話ですが材料と結果は同じです。途中経過が違うだけですが、理論的には、RDBMSを使うのにSQLで処理しなければ、必ず余計な処理が必要になりな…

SQLのイメージと他の言語のイメージ

Twitterで検索したりすると、SQLが分からないという人が相も変わらず非常に多い。おそらく、分からないという人は文法から入っているよね、いや、ほぼ間違いない。しかし、遠回りに見えてもイメージから入るべきです。 初めのうちは、AccessなどGUIでSQLが書…