2017-01-24 24 views
0

私は組織のために次のデータモデルを持っているシンプルなユースケースがあります。私は複数の組織間でのネストされた親>子関係を作成することができますので、私がやりたい何組織階層のデータベース設計

Org Details 
=========== 
Org Id 
Org Name 
Org Type 

は、ネストされた組織階層の設定です。つまり、1つの親組織には複数のサブ組織が存在します。私は

Org Hierarchy 
============= 
relationshipId 
parentOrg -------- Org Details(1) 
subOrg  -------- Org Details(*) 

--------

が、私はこの正しい方法近づいてる1対1および1対多のマッピングを意味し、そのようにそれをモデル化を考えました?それとも良い方法がありますか?

答えて

1

これを解決する有効な方法は、別のテーブルに親子関係を記録することです。ただし、主キーとして代理人relationshipIdは必要ありません。各サブ組織は1つの親組織しか持てないため、subOrgは適切な主キーです。また、NULL可能なparentOrg列をOrg Detailsに追加することもできます。

+0

ありがとう@reaanb ..主にELTの目的に使用されています... – nixgadgets

+0

また多対多の関係がこの場合にどのように機能するのだろうと思いますか? – nixgadgets

+0

多対多リレーションシップには、独自のテーブルが必要です。主キーについては、parentOrgとsubOrgの両方を含む複合キーを使用します。 – reaanb

関連する問題