我是
postgresql的新手,但我对
mysql有很好的体验.我正在阅读文档,我发现postgresql有一个数组类型.我很困惑,因为我无法理解这种类型在rdbms中有用.为什么我必须选择这种类型而不是使用经典的一对多关系?
提前致谢.
我已经用它们来更容易地使用树(例如注释线程).您可以将树的根路径存储到数组中的单个节点,数组中的每个数字都是该节点的分支编号.然后,你可以做这样的事情:
原文链接:https://www.f2er.com/postgresql/191914.htmlSELECT id,content FROM nodes WHERE tree = X ORDER BY path -- The array is here.
Postgresql将以自然的方式逐个元素地比较数组,因此ORDER BY路径将以合理的线性显示顺序转储树;然后,检查路径的长度以确定节点的深度,并为您提供缩进以使渲染正确.
Postgresql也有geometric types,简单key/value types,并支持其他各种composite types的构建.
通常最好使用传统的关联表,但在工具箱中使用更多工具并没有错.