アプリ版:「スタンプのみでお礼する」機能のリリースについて

データベースのデータモデルには、階層モデル、ネットワークモデル、関係モデル等がありますが、構造は理解したのですが、その構造からもたらされるそれぞれのメリット・デメリットがよくわかりません。
特に関係モデルとネットワークモデルを比べた時、ネットワークモデルが勝っている部分がわかりません。
どなたかご教示願います。

A 回答 (1件)

親子、他の親との関係が、最初からギチギチに決まっていて、その関連付けでの操作に特化しているかどうかです。



事前に設計された親→子、親→子→別の親などの参照は効率的に行えますが、その一方で、事前の設計になかった別の親や別の子を、新たに追加したり、関連の変更といったケースでは、設計変更を含めた多くの作業が発生します。

DBMSでの実装では、階層DBMSやネットワーク型DBMSでは、親子間のポインタをレコード中に持たせたり、親子を物理的に近傍に格納し、1回のI/Oでファミリー全体を得られたりするといったことで、高性能を出せるようにしています。
一方で、親子などの関連付けの変更などでは、それぞれでポインタを持っているといったことから、RDBMSのように表の追加、参照制約の定義、インデクスの定義といったようには簡単にはできません。
また、事前に定義された親子、子と親の関連以外を連携させた操作は、DMLでは行えず、アプリ側での対処になります。

リレーショナル型での参照制約(外部キー制約)は、RDBに階層型やネットワーク型の特長を生かしたものです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございました。
構造を考えればその通りですね、理解が深まりました。

お礼日時:2009/06/03 13:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

関連するカテゴリからQ&Aを探す