1

当我在 PostgreSQL 中设计一个表时,我计划使用 ltree 或 path 数据类型来实现我的功能。但是团队成员被告知,如果我们使用 ltree,那么我们的整个表设计将变成 NoSQL 格式。

这是真的吗?

如果是,那么我如何才能以 SQL 格式实现这种 ltree 设计?如果否,请您指导我理解这一点吗?

4

1 回答 1

1

如果您很想大量使用结构化数据类型,那么您很可能做错了什么。

应该以某种方式由数据库处理的数据(用于表达式或WHERE条件、索引、约束)通常应保存在规范化表中的简单数据类型中。您应该有外键约束来表达关系。

也就是说,使用您偶尔提到的数据类型并没有错,特别是如果这些数据没有在数据库内部进行很多处理。

在这种情况下,与往常一样,这是一个品味和经验的问题。只是不要陷入始终使用只有主键和jsonb字段的表的陷阱。

于 2018-03-20T07:59:23.547 回答