2017-02-23 3 views
0

以下、私は正しいと思うドメインモデルを持っています。私はjsonデータベースでこれを実装しようとしていますが、私は正しい軌道にいるとは確信していません。 jsonについて読んでいるものから、オブジェクト間には関係がありません。どのようにオブジェクトをリンクしますか?ドメインjsonデータベースで実装している異なるユーザーレベルのモデル

ご覧のとおり、1台の車両と1台のドライバを持つユーザーは2種類あります。複数の車両と複数のドライバーを持つマネージャーユーザーもいます。

私は正しい軌道上にいるかどうか誰にでも教えてください。

私はfirebaseを使用しているので、私はjsonを使用する必要があります。ドキュメントベースまたはオブジェクト指向データベースで

Domain model

答えて

0

、リレーショナルdatabseで以前にあったものを関係は(あなたはあまりにについてaggregationを読みたいかもしれません)associationsに変換されます。

  • 1-1アソシエーションは、アソシエーションの反対側を保持する単なるプロパティです。顧客はプロフィールを持ち、プロフィールは顧客が所有しています。
  • 1-n関連はコレクションで表されます。 JSONでは、という配列の関連オブジェクトがあります。たとえば、の注文には多くの注文行があります
  • m-n関連付けは、関連付けられたオブジェクトの両側にあるコレクションによって表されます。例えば、多くの質問は多くの著者によって書かれています。あなたは厳密にこのアプローチのために行く場合、あなたは単一の集約ルート(モデルの一番上にあるオブジェクト)を有する終わるだろうと、これは非常に有害となり、ほとんどのNoSQLデータベースがネスティング持ち、パーところで

、オブジェクトの格納域の制限。

したがって、別のコレクション(他のコレクションのコンセプトマップをリレーショナル世界のテーブルにマップ)に他人から単独で存在することができるすべてのオブジェクトと、常に他のものに関連付けられていて直接クエリされないもの自分のコレクションを所有していません。例:

  • お客様は、独自のコレクションを所有している可能性があります。
  • オーダーラインはオーダー外では使用できません。一度にすべての注文のすべての注文ラインを照会することはできません。
関連する問題