通过有向无环图存储唯一路径是否可行?

期货三明治

客户端具有存储为简单DAG的可组合对象的数据库。

item (id, info...)
link (parent_id, child_id)

为了实现过时的(不幸的是,不可谈判的)认证,他们现在希望为源和顶点的每种组合存储其他信息。例如作曲

  A
  |
  B
 / \
C   D

他们想要证书(A,B)证书(A,C)和证书(A,D)。容易吧?

cert(parent_id, child_id, info...)

现在,问题是这些证书应该用于每个路径,而不是每个节点。所以对于有共同祖先的物品

  A
 / \
B   C
 \ /
  D

我们将需要证书(A,B),(A,C)(A,D)[通过B]和(A,D)[通过C]

我想不出一种存储这些证书的方法,该方法不涉及在它所代表的路径中存储对每个顶点的引用,但这似乎令人恐惧。有成千上万的记录,如果一些图表仅包含一些共同的祖先,那么事情可能会很快失去控制。

是否有比仅针对每个证书引用每个路径中的每个顶点更好的方法来存储这些路径?

联合收割机

如果需要存储路径,那么您当然将拥有与路径一样多的记录。没办法

如果我理解正确,那么您将寻求一种设计,以防止您将所有顶点存储为单个属性(“ A,B,D”)或单独的表格。

在这种情况下,请采用分层方法:

path_id  segment_id  next_vertex      -- which path it represents
1                    A
2                    B
3                    C
4                    D
5         1          B                 -- A B
6         1          C                 -- A C
7         2          D                 -- B D
8         3          D                 -- C D
9         5          D                 -- A B D
10        6          D                 -- A C D

这里segment_id代表没有最后一个顶点的子路径。现在,例如,路径10表示“ A-> C-> D”,它由“ A-> C”(路径6)组成,最后添加了顶点D。您可以通过沿树下移相同的方式遍历层次结构。

注意,我们在这里也得到了“简并路径”,仅包含一个顶点,其中segment_id为null。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

查找“最短索引范围”的大小,查找所有唯一路径均已通过

来自分类Dev

查找矩阵中唯一路径的数量

来自分类Dev

在powershell中合并计数唯一路径

来自分类Dev

创建唯一路径时是否存在竞争条件?

来自分类Dev

在 SQLite3 中创建一个视图,通过树状数据库结构列出所有唯一路径

来自分类Dev

如何在python中的二进制矩阵中跟踪1的所有唯一路径?

来自分类Dev

确定一个路径是否在Ruby中的另一路径下?

来自分类Dev

如何从完整的URL字符串获取唯一路径

来自分类Dev

检查有向无环图是否可行

来自分类Dev

是否可以在同一路径中添加多个项目?

来自分类Dev

可移动介质是否始终安装在同一路径上

来自分类Dev

检查文件是否已存在于同一路径中

来自分类Dev

在同一路径上累积所有密钥

来自分类Dev

单一路径Android的多种颜色

来自分类Dev

在同一路径上远程复制文件

来自分类Dev

同一路径上的子资源定位器和资源方法是否非法?

来自分类Dev

是否可以在同一路径上使用2种方法(GET和POST)?

来自分类Dev

是否可以在同一路径上使用2种方法(GET和POST)?

来自分类Dev

在Netlogo中的同一路径上为乌龟分配随机位置而没有乌龟?

来自分类Dev

如何使用多路径的统一路径选项?

来自分类Dev

Gatsby客户端唯一路径在生产环境中的浏览器中首次加载时显示404

来自分类Dev

导航到同一路径而不刷新组件?

来自分类Dev

QDbus:在同一路径上注册多个对象

来自分类Dev

Rails-重定向到同一路径中的不同页面

来自分类Dev

Angular ui.router,创建可选的第一路径参数

来自分类Dev

XML :: Twig在同一路径中解析相同的名称标签

来自分类Dev

在同一路径上扩展REST类和重写方法

来自分类Dev

QDbus:在同一路径上注册多个对象

来自分类Dev

如何启用两个脚本将日志写入同一路径

Related 相关文章

  1. 1

    查找“最短索引范围”的大小,查找所有唯一路径均已通过

  2. 2

    查找矩阵中唯一路径的数量

  3. 3

    在powershell中合并计数唯一路径

  4. 4

    创建唯一路径时是否存在竞争条件?

  5. 5

    在 SQLite3 中创建一个视图,通过树状数据库结构列出所有唯一路径

  6. 6

    如何在python中的二进制矩阵中跟踪1的所有唯一路径?

  7. 7

    确定一个路径是否在Ruby中的另一路径下?

  8. 8

    如何从完整的URL字符串获取唯一路径

  9. 9

    检查有向无环图是否可行

  10. 10

    是否可以在同一路径中添加多个项目?

  11. 11

    可移动介质是否始终安装在同一路径上

  12. 12

    检查文件是否已存在于同一路径中

  13. 13

    在同一路径上累积所有密钥

  14. 14

    单一路径Android的多种颜色

  15. 15

    在同一路径上远程复制文件

  16. 16

    同一路径上的子资源定位器和资源方法是否非法?

  17. 17

    是否可以在同一路径上使用2种方法(GET和POST)?

  18. 18

    是否可以在同一路径上使用2种方法(GET和POST)?

  19. 19

    在Netlogo中的同一路径上为乌龟分配随机位置而没有乌龟?

  20. 20

    如何使用多路径的统一路径选项?

  21. 21

    Gatsby客户端唯一路径在生产环境中的浏览器中首次加载时显示404

  22. 22

    导航到同一路径而不刷新组件?

  23. 23

    QDbus:在同一路径上注册多个对象

  24. 24

    Rails-重定向到同一路径中的不同页面

  25. 25

    Angular ui.router,创建可选的第一路径参数

  26. 26

    XML :: Twig在同一路径中解析相同的名称标签

  27. 27

    在同一路径上扩展REST类和重写方法

  28. 28

    QDbus:在同一路径上注册多个对象

  29. 29

    如何启用两个脚本将日志写入同一路径

热门标签

归档