Я пытаюсь хранить семейное древо.
Вот платформа, которую я использую, Zend Framework, Mysql, Ajax
Я искал stackoverflow, я наткнулся на этот пост, который очень полезен при обработке данных с точки зрения объектов.
Структура данных "Семейное древо"
Кратко проиллюстрирую свой вариант использования.
Пользователь может создавать членов семьи или друзей на основе нескольких отношений, определенных в базе данных. У меня тоже есть Модель для отношений. Пользователь может создавать членов семьи, как разведенные супруги, фринды. Макс Дерево может быть глубоким, что мы считаем максимальным для детей внуков, но оно также может расширяться в ширину. Брат / сестра и их семья.
Я ищу эффективный дизайн базы данных для меньшего времени запроса. Если мне нужно использовать структуры данных, описанные в посте выше, где я должен хранить их по мере необходимости, это должна быть Модель.
Для представления я планирую использовать Визуализация: организационная структура из
http://code.google.com/apis/chart/interactive/docs/gallery/orgchart.html#Example
Я подведу итог, что мне нужно
- Дизайн базы данных
- Размещение контроллеров (ajax) и моделей
- Люди, которых будет создавать пользователь, не будут другими пользователями. просто некоторые другие данные
Да, вот и все! Я выложу полное решение в этой теме, когда буду завершать проект, конечно, с помощью опыта ребят
Заранее спасибо
РЕДАКТИРОВАТЬ Я внесу больше информации для уточнения моей ситуации
У меня есть пользовательская таблица, таблица отношений и последняя таблица семейных / фамильных деревьев
Таблица семейства должна иметь структуру, аналогичную следующей
ID userid relation id Name
1 34 3 // for son ABC
2 34 4 // for Wife XYZ
3 34 3 // for Mom PQR
4 34 3 // for DAd THE
5 34 3 // for Daughter GHI
6 34 3 // for Brother KLM
Недостатком этого подхода является создание отношений с другими узлами, такими как невестка, жены, брат и их семья.
Идеальный способ сделать это для пользователя, которого мы можем добавить: родители, братья и сестры, дети, а для дополнительных отношений они должны быть получены из отношений членов семьи, т.е. зять должен быть получен как муж сестры или брат жены.
Это то, что я могу думать сейчас. Мне просто нужно руководство по внедрению.
Надеюсь, это поможет вам найти лучшее решение.