作者热门文章
- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
我正在使用下面的树结构并计划为下面开发一个数据库模式。
我目前的发展情况如下,
我遇到的问题是如果我搜索 Y,应该生成下面的树。
我使用的逻辑是,Y 有两个交叉引用 X、Z,这两个节点应该在图中,父节点一直到起始父节点。
鉴于我正在使用 PHP 使用 mysql 数据库表生成此树,如上所示。数据库结构可以更改。我在谷歌上搜索了类似的树结构,但找不到任何帮助。
我不是要求您为我编写代码。我所要求的只是一些应该如何完成的指南。
我发现下面的内容很有帮助,但仍然与我的情况不同
What is the most efficient/elegant way to parse a flat table into a tree?
How to represent a tree like structure in a db
如果有人能告诉我应该使用哪些 php 库来生成树以及要使用的合适的数据库结构是什么?
最佳答案
您的数据库结构似乎不是一棵树,它只是一个图表。
我建议你放弃这种结构的关系数据库,看看一些图形数据库,如 Neo4j , OrientDB和 Infinite Graph .
但如果你被迫使用 MySQL,你可以使用 FlockDB可用于遍历 MySQL 节点(将行视为节点),但有一些限制。或者您可以测试另一个 MySQL 引擎,例如 OQGRAPH为 MySQL 和 MariaDB 提供图形引擎。
关于php - 如何为树结构开发数据库模式(有向无环图),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18299842/
我是一名优秀的程序员,十分优秀!