mysql 家谱关系_mysql – 家谱树算法
第一个问题,设计数据模式:我将层次结构保留为父行的外键.这很简单.
第二个问题,检索后代/后代:正如你解释的那样,问题来自于选择:选择一些人和所有后代的后代.要解决此问题,您应该创建一个新的树表.此表包含对:与具有所有祖先(及其自身)的人的组合:
people( id, name, id_parent)
people_tree( id, id_ancestor, distance )
注意,使用此结构很容易查询层次结构.示例:某人的所有后代:
select people.*, distance
from
people p
inner join
people_tree t
on ( p.id = t.id)
where
id_ancesor = **sombody.id **
你可以与远方玩,只有祖父母,孙子女等…
最后一个问题,保持树:树必须始终是数据.您应该自动执行此操作:触发人员或CRUD操作的存储过程,
EDITED
因为这是一个家谱树,每个人必须有两个参考,父母和母亲:
people( id, name, id_parent, id_mother)
然后,需要2棵树:
parent_ancestors_tree( id, id_ancestor, distance )
mother_ancestors_tree( id, id_ancestor, distance )
大卫要求提供样本数据:
people: id name id_parent id_mother
1 Adam NULL NULL
2 Eva NULL NULL
3 Cain 1 2
.. ...
8 Enoc 3 5
parent_ancestors_tree id id_ancestor distance
(Adam) 1 1 0
(Eva) 2 2 0
(Cain) 3 3 0
3 1 1
(Enoc) 8 8 0
8 3 1
8 1 2
mother_ancestors_tree id id_ancestor distance
(Adam) 1 1 0
(Eva) 2 2 0
(Cain) 3 3 0
3 2 1
(Enoc) 8 8 0
-- here ancestors of Enoc's mother --
问候.
mysql 家谱关系_mysql – 家谱树算法相关推荐
- mysql 家谱关系_mysql家谱表查询某人所有后代
下面是编程之家 jb51.cc 通过网络收集整理的代码片段. 编程之家小编现在分享给大家,也给大家做个参考. CREATE TABLE `people` ( `id` INT(11) NOT NULL ...
- mysql 函数依赖关系_MySQL关系规范化
MySQL关系规范化 做者:就叫易易好了 时间:2020/10/21 指导老师:桃群老师 1.关系规范化 一.函数依赖 什么是函数依赖?好比学生管理系统数据库,有学生姓名(Sname).学生系名(Sd ...
- navicat 8 mysql生成关系_MySQL数据库通过navicat建立多对多关系
** 构建两张表的多对多关系:清洗数据表(clean_data表)与用户表(user表)建立多对多的关系.如下图图0所示 图0 多对多之间关系 1 创建表 .打开navicat,创建三张表,clean ...
- 以下关于mysql复制关系_MySQL 复制
MySQL复制介绍 •MySQL复制允许将主实例(master)上的数据同步到一个或多个从实例(slave)上,默认情况下复制是异步进行的,从库也不需要一直连接到主库来同步数据 • MySQL复制的数 ...
- mysql映射关系_mysql数据库对象关系映射_MySQL
bitsCN.com mysql数据库对象关系映射 1.对"对象关系映射"的理解 a.对象:可以理解为java中的类 b.关系:可以理解为数据库的表 c.映射:这是因为java中的 ...
- 用二叉树表示家谱关系并实现各种查找功能
/** * 实验题目: * 用二叉树表示家谱关系并实现各种查找功能 * 实验目的: * 掌握二叉树遍历算法的应用,熟练使用先序.中序.后序3种递归 * 遍 ...
- 二叉树家谱关系实验报告
用二叉树表示家谱关系并实现各种查找功能 我有借鉴的博客 编写一个程序exp7-9.cpp,采用一棵二叉树表示一个家谱关系(由若干家谱记录构成,每个家谱记录由父亲.母亲和儿子的姓名构成,其中姓名是关键字 ...
- mysql 表结构关系_mysql 表关系 与 修改表结构
mysql 表关系 与 修改表结构 两张表关系 多对一 以员工和部门举例 多个员工对应一个部门 foreign key 永远是在多的那张表中设置外键 """ 从左边的表思 ...
- MySQL什么是关系_MySQL教程-关系模型
MySQL教程-关系模型 Date 2021-1-22 Author Haihan Gao 什么是关系模型关系模型本质上就是多个存储数据的二维表 表的每一行称为记录 记录是一个逻辑意义上的数据 表的每 ...
最新文章
- 四全集学python选哪种电脑_“Python教程哪个版本最适合学习?“python教程全集
- 科大星云诗社动态20210329
- 《HTTPS权威指南》- SSL、TLS和密码学学习笔记
- 值得一用的Windows软件
- 人生几张纸,看透一辈子
- 追踪监听(TraceListener)
- java钟使用dwr_DWR中各种java方法的调用
- j2ee核心模式_Java设计模式是什么?
- vsan双主机配置_5千右预算,兼顾Pr剪辑、Ps修图、CAD制图的高性价比DIY主机配置...
- mybatis --XML 映射配置文件
- python三大器物---装饰器
- Mac安装双系统的那些坑
- 六、Python文件操作
- curl打开网页403或者302的解决方法(详细总结)
- php正则表达式表情,php正则表达式储存展示表情字符的方法
- linux awl***程序说明
- 用java编译实现计算个人所得税(工资)
- 人工智能到底是什么?AI可以涵盖哪些领域?
- 程序员必看的那些电影
- 用python写情书_Fedora写给Python的情书
热门文章
- 帆软报表,异常问题汇总
- 明日之后无限信用点的服务器,明日之后免费刷信用点特别版
- keep sb updated_keep me updated是什么意思
- [转] 汉语骂人最高境界!(爆笑)
- 用AS实现微信界面设计
- (附源码)ssm招聘网站 毕业设计 250858
- CV赛事|“华为云杯”2020深圳开放数据应用创新大赛•生活垃圾图片分类
- Java实现:房贷计算器 (关键词:公积金、首付、等额本息、等额本金)
- Centos7开地狱已满服之插件安装
- TI Zigbee Light Link 参考设计