PHPとMySQLで家系図を作成する必要があります。そこにオープンソースのカスタマイズ可能なhtml家系図構築ソフトウェアがないことにかなり驚いていますが、私は逸脱します。MySQLの有向グラフと家系図の保存について多くの時間を費やしてきました。すべてが私には理にかなっています。ノード(人)のあるテーブルとエッジ(関係)のあるテーブルがあります。
私が抱えている唯一の問題は、兄弟関係や祖父母関係など、必ずしも隣接しているとは限らない関係を保存するための最良の方法がわからないことです。最初は、これらの接続を解決する親(誰もが親を持っている)を目に見えない形で強制できるので、これが大したことになるとは思いませんでした。
ただし、ロマンチックなパートナーなど、共通の親がいない可能性のある関係も保存できる必要があります。私が読んだことはすべて親子関係を示唆していますが、ロマンチックなパートナーは(願わくば)共通の親を共有していないため、エッジテーブルに保存する方法がわかりません。別のテーブルを使用する必要がありますか、それとも何ですか?同じテーブルにある場合、これをどのように表現しますか?なじみのない人間関係でこれをやっている限り、家族でもやったほうがいいかもしれません。
要約すると、3つの質問:
- 横方向の関係をどのように表現しますか?
- 横方向の関係に共通の親がある場合、どのように保存しますか?
family
これは、他の横方向の関係が保存されているテーブルのフラグである必要がありますか? - 子が2つ以上離れている(祖父母)が、直接の親が利用できない親子関係を保存するにはどうすればよいですか?
どんな助けでもありがたいです、そして誰かがいくつかのjavascript / html家系図構築ソフトウェアについて何か提案があれば、それは素晴らしいでしょう。