我想用php+mysql设计一个 家谱树网站,遇到的难题

phpbaby2015 2015-10-13 11:11:08
问题
1:家谱数据表该如何设计,是家族成员user表(uid name sex fatherid)和relationship(uid motherid fatherid)关系表分开,还是合在一张表?
2.怎样取出家谱表中的 uid对应的 父亲 母亲 兄弟 子女节点来??
...全文
240 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
xyz1253587469 2015-10-16
  • 打赏
  • 举报
回复
引用 3 楼 wxhxj0268 的回复:
个人表:保存如姓名、出生年月、主要事迹等只有关个人的记录,建立一个唯一ID为Key 关系表:用个人ID建立一个与其它个人的关系表,主要用于记录个人之间的有关数据 以上供参考
同意,但是有个问题,怎么表示成员之间的关系?比方说A和B的父子,A和C是叔侄。一个人有父母,子女,配偶,这几个基本关系。但是我怎么得到A的叔叔呢?可不可以这样,叔叔=母亲的兄弟。先查询A的母亲,在查询兄弟,但有木有简单点的方法呢?
  • 打赏
  • 举报
回复
引用 3 楼 wxhxj0268 的回复:
个人表:保存如姓名、出生年月、主要事迹等只有关个人的记录,建立一个唯一ID为Key 关系表:用个人ID建立一个与其它个人的关系表,主要用于记录个人之间的有关数据 以上供参考
wxhxj0268 的方法还是比较可取的。我很认同
笨笨仔 2015-10-16
  • 打赏
  • 举报
回复
引用 5 楼 yxwb1253587469 的回复:
[quote=引用 3 楼 wxhxj0268 的回复:] 个人表:保存如姓名、出生年月、主要事迹等只有关个人的记录,建立一个唯一ID为Key 关系表:用个人ID建立一个与其它个人的关系表,主要用于记录个人之间的有关数据 以上供参考
同意,但是有个问题,怎么表示成员之间的关系?比方说A和B的父子,A和C是叔侄。一个人有父母,子女,配偶,这几个基本关系。但是我怎么得到A的叔叔呢?可不可以这样,叔叔=母亲的兄弟。先查询A的母亲,在查询兄弟,但有木有简单点的方法呢?[/quote] 这就是一个:“一对多”的关系。不要拘泥用一个表解决所有问题,需要时可以使用多个表解决问题
笨笨仔 2015-10-15
  • 打赏
  • 举报
回复
个人表:保存如姓名、出生年月、主要事迹等只有关个人的记录,建立一个唯一ID为Key 关系表:用个人ID建立一个与其它个人的关系表,主要用于记录个人之间的有关数据 以上供参考
笨笨仔 2015-10-14
  • 打赏
  • 举报
回复
引用 楼主 y_u_c_h_a_o 的回复:
问题
1:家谱数据表该如何设计,是家族成员user表(uid name sex fatherid)和relationship(uid motherid fatherid)关系表分开,还是合在一张表?
2.怎样取出家谱表中的 uid对应的 父亲 母亲 兄弟 子女节点来??

个人基本数据与家族关系分表处理
xuzuning 2015-10-13
  • 打赏
  • 举报
回复
一张表
按邻接列表算法组织数据,最好加一个代号

考虑到数据量不会很大,可一次性读取数据到数组
用非递归算法生成关系树 http://bbs.csdn.net/topics/370094009

20,359

社区成员

发帖
与我相关
我的任务
社区描述
“超文本预处理器”,是在服务器端执行的脚本语言,尤其适用于Web开发并可嵌入HTML中。PHP语法利用了C、Java和Perl,该语言的主要目标是允许web开发人员快速编写动态网页。
phpphpstorm 技术论坛(原bbs)
社区管理员
  • 开源资源社区
  • phpstory
  • xuzuning
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧