0

オブジェクト ロール モデリングについては学びましたが、オブジェクト リレーショナル マッピングについては学びませんでした。それらが同じことを行う 2 つの方法であるかどうか、また長所と短所は何ですか? 私にとっては、オブジェクトのロール モデリングの方がはるかに理にかなっています。比較できる場合は、簡潔ですがわかりやすい比較をしていただけますか。乾杯

4

3 に答える 3

7

オブジェクト ロール モデリング: 特にドメイン モデルを定義するためのソフトウェア モデリング表記法。この言語は、UML クラス図を使用してデータベースを設計する代わりの手段と考えることができます。詳細はこちら: http://www.orm.net/

オブジェクト リレーショナル マッピング: オブジェクト指向プログラムとリレーショナル データベースの間のギャップを埋める一連の戦略。リレーショナル データベース構造でオブジェクトを永続的に保存できるようにすることを目的としています。

于 2009-10-08T06:13:48.640 に答える
5

Object Role Modeling は、1973 年頃に Control Data のチームによって発明され、Falkenberg によって命名されました。これは、言語分析に根ざしたモデリング手法であり、Terry Halpin によって一次論理として形式化されました。 http://orm.netを参照してください。したがって、ORM は頭字語の元のユーザーです。ORM と関連するモデリング言語は、属性がないことで区別されます。これらの言語には、オブジェクトとオブジェクトの種類 (物の種類)、事実と事実の種類 (個々のもの間の関係)、および制約 (存在する可能性のあるものと関係に関する規則) のみが含まれます。エンティティ属性のようなマスター/スレーブ特性を持つ関係はありません。これは、ドメインの基礎となるセマンティクスとは無関係であるため、物理マッピング中にのみ発生する概念です。

オブジェクト リレーショナル マッピング (私は常に O/RM と書きます) は、リレーショナル形式とオブジェクト指向形式の間でデータを変換するのに役立つメソッドまたはツール群の名前です。これらの形式は両方とも、属性 (エンティティ/属性またはオブジェクト/属性) に基づいて集約または複合的なものを使用しますが、集約の原則は 2 つのアプローチ間で異なるため、同じ基礎となるセマンティクスが異なるデータ構造になります。したがって、翻訳を自動化するのに役立つツールが必要です。さらに、ER または OO 分析では、どのものがオブジェクト/エンティティであり、どれが属性であるかを早期に決定する必要があり、これにより、ORM ではまったく発生しないクラス全体のモデリング エラーが発生します。

もちろん、リレーショナル モデルと oo モデルの両方を ORM モデルから自動的に派生させることができ、派生したフォーム間のマッピングも自動的で簡単です。生活が楽になりすぎるので、あまり頻繁には行われていないと思います。

于 2014-03-20T06:20:59.350 に答える
3

リンゴとオレンジを比較しています。オブジェクト リレーショナル マッピングとは、オブジェクトの世界とリレーショナル データベースの間のインピーダンス msimatch を克服しようとすることです。

たとえば、Activerecord は、データベース内の行をラップする ORM です。Hibernate は、もう 1 つの人気のある ORM です。

ORMウィキペディアをGoogleで検索するだけで、はるかによく説明されます

http://en.wikipedia.org/wiki/Object-relational_impedance_mismatch

于 2009-10-05T10:07:15.873 に答える