基于使用SQL问题在关系数据库中遍历树状数据的方法,我想知道如何在考虑物理影响的情况下定期用于在关系数据库中描述树状数据的方式?
我假设RDBMS除了常规的SQL ANSI或常用功能之外,没有其他特殊功能来处理这些功能。
毫无疑问,我一直对MySQL和PostgreSQL以及最终对SQLite感兴趣。
基于使用SQL问题在关系数据库中遍历树状数据的方法,我想知道如何在考虑物理影响的情况下定期用于在关系数据库中描述树状数据的方式?
我假设RDBMS除了常规的SQL ANSI或常用功能之外,没有其他特殊功能来处理这些功能。
毫无疑问,我一直对MySQL和PostgreSQL以及最终对SQLite感兴趣。
Answers:
我相信他会去寻找类似二叉树的东西。我只想包括三个与同一个表的唯一ID关联的键,一个键用于左边,一个键用于右边的孩子,一个键用于父级。
即-(非常多的伪代码)
TABLE tree
int id autoinc
varchar(16) data_you_care_about
int parent_id
int left_child_id
int right_child_id
FOREIGN KEY parent_id = tree.id
FOREIGN KEY left_child_id = tree.id
FOREIGN KEY right_child_id = tree.id