|
||||||||||||||||
| 前のページ 1 2 3 次のページ | ||||||||||||||||
| インピーダンスミスマッチとは? | ||||||||||||||||
|
Javaのようなオブジェクト指向の言語でリレーショナルデータベースを扱う際に、もっとも面倒な作業はオブジェクトとリレーショナルデータベースのマッピング作業です。これは両者の設計思想の違いから生じており、この問題を「インピーダンスミスマッチ」といいます。 ![]() 図1:インピーダンスミスマッチ Javaにおけるオブジェクト指向は、プログラムをオブジェクトとして設計し、現実世界のモデルに即したものとしてデータモデルを定義します。一方のデータベースでは、正規化という方法を用いて、データの検索/登録/更新処理に最適なモデルを定義します。データベース設計では、現実世界のモデルがどうなっているかは関係なく、あくまでも正規化といった、数学的世界の事情に基づいてモデルが考えられています。 なお、Javaとデータベースの設計思想の違いは、それぞれの役割を果たすために最適な構造であり、どちらの構造が優れているということはありません。 インピーダンスミスマッチを解決するために、表形式のデータをオブジェクト形式のデータに対応付けるマッピングコードを作成する必要があります。この作業はデータ構造が複雑になると大変煩雑な作業になってしまう上、単調な繰り返しである場合が多く、バグを埋め込んでしまう危険性が高くなります。 |
||||||||||||||||
| O/Rマッピングの基本的な流れ | ||||||||||||||||
|
O/Rマッピングは、「オブジェクト」と「リレーショナルデータベースの情報」を対応付けするための技術であり、データベースを利用するためのオブジェクトとデータベースとの間の橋渡しをしてくれます。 O/Rマッピングの機能は個々のソフトウェアによってかなり異なりますが、基本的には以下のような機能を提供してくれます。
表2:O/Rマッピングの機能 また、一般的な「O/Rマッピング」は以下のような流れで処理を行います。
表3:O/Rマッピングの流れ
つまりO/Rマッピングを使いこなすためには、「設定ファイル(接続情報やマッピング定義)の書き方」と「APIの使い方」を理解する必要があります。 ![]() 図2:O/Rマッピングの流れ |
||||||||||||||||
|
前のページ 1 2 3 次のページ |
||||||||||||||||
|
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||
|
|
||||||||||||||||
|
||||||||||||||||



