SQLに対する不満

DBを操作する言語として標準かつほぼ唯一なものは、SQLですが、このSQLという言語に対しては、強烈に不満を持っています。
最大の不満は、型をもたないことです。データベースの定義は細かい型を持っているのに、何故、それを操作する言語には型をもたないようにしたのか、さっぱり意図がわかりません。
さらに、関連して、プログラム内で利用する際に、文字列として文を生成して、動的に解釈させて実行するというスタイルを取ることです。これは、ライブラリの作り方の問題といえばそうなのかもしれませんが、これ以外の方法がないことを考えると、SQLの言語的な特性に依存した問題なのかもしれません。
とにかく、このような性質のために、アプリケーションのデバッグが実質的に不可能になってしまい、さまざまなセキュリティ上の問題を生み出している温床になっていることは、否定のしようがありません。なにせ、ユーザーからの文字列を受け入れて動的に生成するSQLが一つでも紛れ込んだプログラムは、ホワイトボックステストの複合条件網羅を行っても、条件を網羅しきれないんですから。