O/Rマッピングとは?
状態:-
閲覧数:1,787
投稿日:2009-07-10
更新日:2017-09-22
英語表記
・Object/Relational Mapping
・O/R Mapping
・ORM
片仮名表記
・オーアールマッピング
オブジェクト指向言語におけるオブジェクトと、リレーショナルデータベースにおけるレコードとを対照させること
・オブジェクト指向プログラミング言語におけるオブジェクトの各データを、リレーショナルデータベースのレコードを構成する個々の項目に関連付けること
・クラスのプロパティと,テーブル上のフィールドとをマッピングしてくれる
・ここでの「マッピング」とは「対応付ける」というほどの意味
部品化の機能がない
・SQLが長くなりがち
・分かりにくくなりがち
→ 複数のSQLで要素の重複が多くなってしまう
SQL要素の部品化ができる
・SQL構築が簡潔
・分かりやすい
→ 複数のSQLで部品を共用できる
・Object/Relational Mapping
・O/R Mapping
・ORM
片仮名表記
・オーアールマッピング
オブジェクト指向言語におけるオブジェクトと、リレーショナルデータベースにおけるレコードとを対照させること
・オブジェクト指向プログラミング言語におけるオブジェクトの各データを、リレーショナルデータベースのレコードを構成する個々の項目に関連付けること
・クラスのプロパティと,テーブル上のフィールドとをマッピングしてくれる
・ここでの「マッピング」とは「対応付ける」というほどの意味
SQL
部品化の機能がない
・SQLが長くなりがち
・分かりにくくなりがち
→ 複数のSQLで要素の重複が多くなってしまう
ORM
SQL要素の部品化ができる
・SQL構築が簡潔
・分かりやすい
→ 複数のSQLで部品を共用できる
導入メリット / 導入デメリット
導入メリット
SQL文を知らなくてもDB操作が簡単に可能
・SQL文やDBのことをあまり知らなくても使用可能
データベースのレコードをオブジェクトとして操作可能
・リレーショナルデータベースのレコードをオブジェクトとして直感的に扱えるようになり、リレーショナルデータベースにアクセスするプログラムをプログラムをシンプルに記述することが可能となる
一般のプログラミング言語にあるような 「分解」「構築」「抽象化」 の機能 をSQLに提供できる
・SQLを小さい部品に分解
・部品からSQL全体を構築
・部品に名前をつけて抽象化できるようになる
導入デメリット
・各ORマッパーごとでの仕様や使い勝手の違いがとても大きい
リレーショナルモデルとオブジェクト指向は結局相いれないので、RDBの機能を最大限使えば使うほど歪みが出てくることが多い
・複雑なSQL文は実行できないか、できても煩雑になることが多い
・複雑なテーブル構成の場合に上手くマッピングできないことがある