跳至主要内容

关系

@dataplan/pg 中,关系是指从一个 编解码器 到一个 资源 的单向链接,它详细说明了如何从资源获取记录,前提是你已经拥有了给定编解码器的数据。

信息

不要将此与标准 RDBMS 术语“关系”混淆,后者实际上是指“表”(或类似表的结构)。为了避免混淆,我们不会将表称为“关系”。

从编解码器到资源

关系从编解码器而不是资源开始,因为无论数据来自哪里,你都应该能够遍历它 - 即使你通过调用在数据库中定义的 current_user() 函数(而不是从 users 表中选择)获得了当前用户,你仍然应该能够从结果用户数据导航到与用户相关的资源。

单向

关系是单向的;如果你希望关系双向,则必须添加正向和反向关系。在数据库中,关系通常由“外键”约束表示,该约束只存在于关系的一侧(“引用”表),并且它引用远程表(“被引用”表)。在 @dataplan/pg 中,“正向”关系从引用编解码器到被引用表,并且是唯一的;反向关系从被引用编解码器到引用表,并且应该标记为 isReferencee: true。正向关系始终是唯一的,反向关系可能是也可能不是唯一的,这取决于远程属性是否具有唯一约束。

待办事项:有关如何使用关系的更多文档