我正在尝试存储家谱。这是我正在使用的平台,Zend 框架,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
这种方法的缺点是与儿媳、妻子的兄弟和他们的家人等其他节点产生关系。
理想的做法是,对于用户,我们可以添加父母、兄弟姐妹、孩子以及额外的关系,它们必须从家庭成员关系派生,即兄弟必须派生为姐姐的丈夫或妻子的兄弟。
这是我现在能想到的。我只需要实施指南。
希望这可以帮助你们提供更好的解决方案。