ホームページ > バックエンド開発 > PHPチュートリアル > ORMとは何ですか?長所と短所は何ですか?

ORMとは何ですか?長所と短所は何ですか?

PHPz
リリース: 2020-09-05 12:50:27
オリジナル
5870 人が閲覧しました

ORM は、オブジェクト リレーショナル マッピング テクノロジであり、オブジェクトの永続化の中核です。利点: 1. 開発効率が向上し、開発コストが削減されます。 2. 開発がよりオブジェクト指向になります。欠点: リレーショナル データベースの自動マッピングはシステムのパフォーマンスを消費します。複数テーブルの結合クエリや複雑な where 条件などのクエリを処理する場合、ORM 構文は複雑になります。

ORMとは何ですか?長所と短所は何ですか?

ORMとは

オブジェクト・リレーショナル・マッピング(ORM)、オブジェクト指向の開発手法が主流リレーショナル データベースは、今日のエンタープライズ レベルのアプリケーション開発環境における開発手法であり、エンタープライズ レベルのアプリケーション環境にデータを永続的に保存する主流のデータ ストレージ システムです。

オブジェクトとリレーショナル データは、ビジネス エンティティの 2 つの表現形式であり、メモリ内ではオブジェクトとして、データベース内ではリレーショナル データとして表されます。

メモリ内のオブジェクト間には関連付けや継承関係がありますが、データベースではリレーショナル データは多対多の関連付けや継承関係を直接表現できません。したがって、オブジェクト リレーショナル マッピング (ORM) システムは一般にミドルウェアの形式で存在し、主にプログラム オブジェクトからリレーショナル データベース データへのマッピングを実装します。

ORM を使用する理由

アプリケーションを (O/R マッピングを使用せずに) 実装する場合、データベースからオブジェクト情報を保存、削除、読み取りするために大量のデータ アクセス レイヤー コードを記述することがあります。すべて重複しています。

ORM を使用すると、コードの繰り返しが大幅に削減されます。オブジェクト リレーショナル マッピング (略して ORM) は、主にプログラム オブジェクトのリレーショナル データベース データへのマッピングを実装します。

オブジェクト リレーショナル マッピングの説明:

A. 単純: ORM は最も基本的な形式でデータをモデル化します。たとえば、ORM は MySQL テーブルを Java クラス (モデル) にマップし、テーブルのフィールドはこのクラス

B のメンバー変数になります。 正確: ORM は、すべての MySQL データ テーブルを、統一標準 システムの正確性を維持するために Java クラスに地理的にマッピングされ、コード レベルで統一されています

C. 理解しやすい: ORM はデータベース構造を文書化します。たとえば、MySQL データベースは、ORM によって Java プログラマーが理解できる Java クラスに変換されます。Java プログラマーは、得意な Java レベルにのみ集中できます (もちろん、MySQL に習熟している方が良いです)

D. 使いやすさ: ORM には、永続オブジェクトに対する CRUD 操作用の API (create()、update()、save()、load()、find()、find_all()、where() など) が含まれています。つまり、SQL クエリはすべてプログラミング言語の関数にカプセル化され、最終的な SQL ステートメントは関数のチェーンの組み合わせによって生成されます。この種のカプセル化により、非標準、冗長、および不均一な SQL ステートメントが回避され、多くの人為的バグが回避され、コーディング スタイルの統一とその後のメンテナンスが容易になります。

ここに画像の説明を書き込みます

ORMとは何ですか?長所と短所は何ですか?

ORM の長所と短所:

長所:

1) 開発効率の向上と開発コストの削減

2) 開発のオブジェクト指向化

3) 移植性の向上

4) データキャッシュなどを簡単に導入できる追加機能

欠点:

1) リレーショナル データベースの自動マッピングはシステムのパフォーマンスを消費します。実際、ここでのパフォーマンスの消費は悪くなく、通常は無視できます。

2) 複数テーブルの結合クエリや複雑なwhere条件などのクエリを処理する場合、ORMの構文が複雑になります。

関連知識の詳細については、PHP 中国語 Web サイト をご覧ください。 !

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート