TOP>>OBAQ>>SQLラッパーライブラリ 概略ツアー<OBAQ>構成定義アプリケーションサーバリファレンスサイトマップ

SQLラッパーライブラリの機能


データベースプログラミング一般の問題点

一般にSQLによってデータベースをアクセスする際には、 以下の問題があります。

  • SQL文の生成

    データベースにアクセスするには、selectやinsertなどのSQL文を組みたてる必要があります。 Rubyは文字列処理の機能が豊富ですから、他の言語よりは楽ですが、 それでも繁雑な部分があります。

  • SQL文の検証

    条件によってプログラムが生成するSQL文が変化する場合に、 バグによって文法的に間違ったSQLを生成してしまうことがあります。 (括弧が不一致になったり、andやorの過不足) このようなバグは、ある特定の条件を与えて実行しないと顕在化しないので、 発見が難しいことがあります。

  • プログラム内のデータとDBのデータの相互変換

    データベースから読んだ値をプログラム内の変数に格納したり、 その反対の処理を行なう処理は、難しいものではありませんが、繁雑で単純ミスが多く発生します。

  • データ構造の変更によるプログラムの修正

    データベースのテーブルに項目が追加になったりした時に、 多くのプログラムに影響が及ぶことがあります。

SQLラッパーライブラリの機能

SQLラッパーライブラリはこのような問題を解決するライブラリです。

  • データモデルの利用

    プログラムと独立にデータモデル定義を持っています。 このデータモデルから、データベースを定義したりドキュメントを生成するツールを用意しています。 個々のプログラムはこのデータモデルを参照することで、 ミスを早めにチェックしたり簡潔な記述を行うことができます。

  • ラッパーオブジェクト

    データベースから読みこんだ値はラッパーオブジェクトとして提供されます。 ラッパーオブジェクトとは、データベースの1レコードをRubyのStructクラスのオブジェクトとして表現したオブジェクトです。 Structのメンバー名はデータベースのメンバー名になり、 各メンバーの持つデータタイプはデータベースの対応する型になります。

    追加や更新の時は、ラッパーオブジェクトに値を設定した上で、 それをデータベースに送りこむようなイメージでコーディングできます。

  • SQLの自動生成

    データモデルを参照しながら、SQL文を組み立てます。 SQLのミスがRubyのコンパイルエラーとなりますので、 動作させる環境がなくても、SQLの文法の検証ができます。


ページトップへ