TL;DR
从图的特定数学概念(节点集、边关系)到关系表示通常存在明显的双射。本质上是因为数学使用集合和关系。
没有标准的图形 DBMS。并且没有标准的方式来使用一种来表示应用程序/业务情况。因此,图数据库状态和关系状态之间没有标准映射,更不用说在另一种状态下给出对所表示的情况而言自然的表示。
没有关系值属性,非关系结构和关系结构之间的映射并不总是双射的,因为我们有时必须选择关系代理值与我们将使用的关系值 1:1。
有时我们对特定情况不感兴趣,我们只对数据结构感兴趣。然后我们可以想出它的(各种)关系版本。
但数据库或数据结构变量通常代表应用程序/业务情况。从情境到表示通常存在一对多或一对一的映射。在关系模型下,每个表都有一个关联的(特征)谓词(语句模板),并保存从其谓词构成真正的命题(语句)的行。其他数据结构以特别的方式用于表示情况。
关系模型的特别之处在于,您可以通过谓词逻辑和/或关系运算符进行一般性查询——查询表达式确定一个谓词,其结果包含从其谓词构成真实命题的行。 (计算时有一定的复杂性保证和一定的自动优化机会。)
表示相同情况的结构之间的映射取决于数据库如何表示情况。因此,表示之间没有通用映射,即使对于使用相同数据结构的两个表示也是如此。
另一方面,您可以定义两个结构之间的一些通用映射,它可能是双射的,但是当一种情况由一个表示时,另一个告诉您该情况的另一种表示 ,因此情况只是间接的,而不是直接的情况本身。因此,不要指望描述其他结构表示的关系版本就像该应用程序/业务的良好关系设计。
这是 ORM 和对象数据库的问题。您可以定义从特定的面向对象状态到关系的映射,但关系仅描述面向对象的状态,而不是其表示的情况。每当一个对象值持有一个对象引用而不是包含对象的 oid 时,该引用对象就表示一个关系/关联实体实例。但通常没有为与这些对象集合相对应的关系给出明确的谓词。取而代之的是,我们获得了从某个完整的表示状态到表示的情况的表示函数。而在关系设计中每个表(基本或查询结果)的每个超键值与某些(可能是关联的)实体是 1:1。