2017-12-06 17 views
0

私のデータ構造は、ブランチが純粋なキーであり、リーフだけがスキーマの少ないドキュメントです。"leafs"のみがドキュメントであるスキーマレス階層データベース

例:

keyA 
 
    KeyA_1 
 
     KeyA_1A{ 
 
      key: value, 
 
      key: value, 
 
      key: valeu 
 
     } 
 
     KeyA_1B 
 
      KeyA_1B_1{ 
 
       key: value, 
 
       key: value, 
 
       key: value 
 
      } 
 
    KeyA_2 
 
     KeyA_2A{ 
 
      key: value, 
 
      key: value 
 
     } 
 
KeyB 
 
    KeyB_1{ 
 
     key: value, 
 
     key: value, 
 
     key: valeu 
 
    } 
 
    KeyB_2{ 
 
     key: value 
 
    }

私のために右であるデータベース?

+0

リーフには制約がありますか?(外部キー) –

+0

リーフ間の関係はありません –

答えて

0

私がここで説明したデータ構造は、DBのように見えるものではないと思うのですが、それはあなたのアプリケーションがそれをどのように考えるかということです。

保存しておきたいので、後で簡単に移動できるので、各ノードがモデル(行/ドキュメント)であり、次のフィールドを持つノードのリストとしてツリーを保存することをお勧めします。

  • ID(PK)
  • (NULL可能で、FK)次のキー(あなたはまだそれを必要とする場合)
  • データ(JSON、別売)

ティあなたが好むツリートラバーサル技術を使ってnext = nullに出会うまであなたの木を作り、旅行することができます。

あなたが好きなものを選ぶことができます(合理的/非理性的なものとして、Postgres v9.2 +またはMySql v5.7 +はJSONB/JSONあなたのデータのフィールドサポート

関連する問題