基于Traversing tree-like data in a relational database using SQL question,我想知道在考虑物理含义的情况下,如何经常使用关系数据库上描述树状数据的方式?
我假设 RDBMS 除了常规的 SQL ANSI 或常见的可用特性之外没有特殊的特性来处理。
毫无疑问,我总是对 MySQL 和 PostgreSQL 以及最终的 SQLite 感兴趣。
基于Traversing tree-like data in a relational database using SQL question,我想知道在考虑物理含义的情况下,如何经常使用关系数据库上描述树状数据的方式?
我假设 RDBMS 除了常规的 SQL ANSI 或常见的可用特性之外没有特殊的特性来处理。
毫无疑问,我总是对 MySQL 和 PostgreSQL 以及最终的 SQLite 感兴趣。
我相信他正在寻找二叉树之类的东西。我将只包含三个与同一张表的唯一 ID 相关联的键,一个用于左侧,一个用于右侧子级,一个用于父级。
即-(非常伪代码)
如果每个节点确实是同一个数据实体,那么该范例仍然表示每个实体一个表,以及一个用于树遍历的链接列,其中每个节点只链接一次。
对于在树中多个点链接的实体,将使用单独的链接表或多个不同的值列。