(1/3)Webシステムが主流となり、データベース・アプリケーションはJavaやC#といったオブジェクト指向言語で開発することが多くなった。データベース設計はオブジェクト指向モデルとうまくかみ合わず、データモデル設計に苦労するエンジニアは少なくない。本連載は、オブジェクト指向モデルとデータベースモデルのインピーダンスミスマッチに対応するテクニックを紹介する。行う場合、OOA(オブジェクト指向分析)とDOA(データ中心アプローチ)の2つの設計アプローチを併用するケースが多く見受けられます。実際、本連載のタイトル「JavaのDBアクセスを極める」にあるJava言語はご存じのように「オブジェクト指向言語」ですが、Java言語を使用してシステムを開発する場合でも、データベース関連の部分はDOAで設計することはよくあることです。OOAとDOAといった異なる開発手法を組み合わせる場合には、さまざまな問題が発生します。これらの問題の多くは第1回「JavaとDBのデータモデルはナゼすれ違う?」で解説した「インピーダンスミスマッチ」と呼ばれるデータモデルのギャップに起因して発生します。そこで、今回はインピーダンスミスマッチが発生する中で、OOAとDOAといった異なるアプローチを持つ設計手法を併用する最適な方法に関して解説します。設計規約などを作成する際の参考情報となれば幸いです。これについて、少し整理してみましょう。下の表1をご覧ください。・ポリモーフィズム、カプセル化、継承といったオブジェクト指向の考え方により、拡張性の容易さや保守性の向上および再利用が見込まれる・UMLといったデータモデルをビジュアル化できる表記法が存在する。・現在、データベース技術としてはリレーショナル・データベースが主流である。表1に示したように、OOAとDOAを併用する理由は「それぞれの特徴をうまく生かしたい」といった積極的なものばかりでなく、実装技術との親和性や、現在の技術動向や既存システムの状況といった消極的なものもあります。どのような理由から併用する場合でも、やはり「インピーダンスミスマッチ」と呼ばれるデータモデルのギャップに起因して問題が発生します。このことから目をそむけるわけにはいきません。以降では、この問題について掘り下げ、その影響を小さくするためのポイントを紹介します。Pointこの記事では、OOAとDOAを組み合わせる場合にインピーダンスミスマッチを主因とするさまざまな問題が発生する中で、これらを最適に併用する方法を解説する。システム構築の際に利用する設計アプローチは「アプローチ自体の特長」「実装技術との親和性」「現在の技術状況や既存システムの状況」といったポイントから選択され、その結果OOAとDOAを併用するケースが発生する。メールマガジンをご購読ください。申し込みページへITmediaはアイティメディア株式会社の登録商標です。