II-14-9. ライブラリの利用例1 (DBライブラリ)

そもそもライブラリとは何かを説明し、ライブラリの活用例としてデータベースライブラリの利用方法を紹介する。ライブラリを介してデータベースを操作する方法、データの出し入れを行うためのサンプルプログラムを示し、データベースライブラリの使い方を解説する。

【学習の要点】

* 特定の機能を持ったプログラムを他のプログラムから利用できるように一つのファイルにまとめたものがライブラリである。

* データベースシステム毎に提供されているデータベースライブラリの機能を用いることで容易にデータベースを利用するプログラムが作成できる。

図II-14-9. ライブラリの作成と利用

【解説】

1) ライブラリとは

C++を使用する利点として、プロパティ(メンバ変数)とメソッド(メンバ関数)で記述された処理を再利用可能なコンポーネントとしてまとめられる点がある。作成するプログラムを他から流用することができれば、プログラムを効率よく作成することができる。

これを実現するため、特定の機能を持った汎用的な関数をモジュールという形式にまとめ、このモジュールを再利用可能な状態にまとめたものがライブラリである。

プログラムにてライブラリを利用する形態として、実行ファイルに含まれず、プログラムが実行されるときに読み込まれる「動的リンク」と実行ファイルに含められる「静的リンク」がある。なお、ライブラリを利用する場合には、ライブラリのライセンスにも配慮しなくてはならない(詳細はI-2-5参照)。

2) データベースライブラリ

多くのデータを扱うプログラムでは効率よくデータの管理を行うため、データベースを用いる。プログラムからデータベースを利用する方法としては、データベースをプログラムの一部として組み込む方法や、MySQLやPostgreSQLなどデータベースアプリケーションを利用する方法がある。

いずれの方法でも、データベースを利用するためのライブラリが提供されており、これを使用することで容易にプログラムを作成することができる。プログラムに組み込むためのライブラリとしてはBerkeleyDBライブラリやSQLiteライブラリ、データベースアプリケーションを利用するためのライブラリとしてはlibpq++などがある。

* BerkeleyDBライブラリ

BerkeleyDB はC言語で実装された、プログラム組み込み型のデータベースで、データはキーと対応する値のペアという単純な形式で格納するため、高速で動作すると共にプログラムのサイズが小さいことが特徴である。

データベースへのアクセスは全て関数の呼出しにより行い、C言語またはC++から利用することができる。

* SQLiteライブラリ

SQLiteはサーバを必要としないプログラム組み込み型のデータベースで、ユーザの概念がなく、単一のファイルで構成され、保存するデータの形式はシステムに依存しないため、可搬性が高いことが特徴である。

SQLiteライブラリの呼出しによりSQLを実行してデータの参照や保存を行うため、データベースを意識することなく、ファイルの入出力のように簡単に利用することができる。

* libpq++ライブラリ

libpq++ は PostgreSQL のための C++ APIで、コネクションクラスとデータベースクラスで構成される。コネクションクラスは実際のデータベースサーバとの接続を確立するために使用し、データベースへアクセスする全てのクラスがこのクラスを継承する。データベースクラスはデータベースへの接続と問合せを行うために使用する。

データベースへの問合せは、データベースクラスにてSQL文をデータベースサーバへ送信することにより行う。

OSS Course Naviのコンテンツは IPA OSS モデルカリキュラムを基としています。

フォーラム会員企業専用

記事配信

コンテンツ配信

ユーザログイン