OrientDB边缘混乱

时间:2016-01-13 07:26:51

标签: orientdb edges

我是图表数据库的新手,如果我问过基本的东西,请原谅。

在关系数据库中,表格的字段之间建立了关系。这是有道理的,因为当我们想要显示两个表中的记录时,我们会创建一个连接和打印记录。

但是在OrientDB的情况下,我们会产生边缘 - 所以它需要创建记录来记录,而不是像RDBMS那样创建字段吗?

2 个答案:

答案 0 :(得分:4)

OrientDB将关系作为记录的物理链接进行管理,在创建边缘时仅分配一次。 OrientDB不使用JOIN。而是使用通过在记录源中存储RID目标来管理关系的链接。它非常类似于在内存中的两个对象之间存储指针。 边连接两个顶点,必须具有:唯一标识符,链接顶点传入,传出链接顶点和定义连接类型的标签。

这是一个小例子:

enter image description here

希望它有所帮助。

答案 1 :(得分:0)

原始问题似乎与OrientDB没有任何关系,并且很可能被“关闭”为“偏离主题”,除非提出更具体的问题(关于ODB或一般的图形数据库)(参见{{ 3}})。

关于一般的图表数据库,请参阅https://stackoverflow.com/help/closed-questions和诸如此类的书籍 https://en.wikipedia.org/wiki/Graph_database

关于Relational和Graph数据库之间的关系,我想你可能会发现记住从根本上有两种类型的“关系表”是有用的:

(1) those in which each row represents an entity;
(2) those in which each row represents a relationship between entities.

如果此区别在数据库模式中成立,则表示实体的行与图数据库术语中的“顶点”紧密对应,表示实体之间关系的行对应于图数据库术语中的“边”。

如果你想传输(到一个图形数据库)关系表中的信息,T1,如果T1的每一行代表一个实体,如果T1没有外键,你可能不需要任何“从该表中传出的“边缘”。如果另一个表引用由T1行表示的实体,那么这些引用将对应于相对于T1的“传入”边缘。

当然,将信息传输到另一个DBMS的任务也可能是重新设计数据库模式的好时机。数据库设计的一般主题包含在如上所述的文本中。