文档菜单
文档首页
/
关系迁移器
/

理解图表

本页内容

  • 关系视图
  • MongoDB 视图
  • 选择视图模式
  • 颜色编码
  • 实体链接
  • 撤销或重做图表操作
  • 关系和 MongoDB 视图链接
  • 示例

本页解释了如何解释在关系迁移器中创建的图表。每个图表由两个视图组成,一个用于您的关系数据库,另一个用于您的 MongoDB 数据库。视图显示了数据库中实体之间的关系。

在关系视图中,每个框代表您关系型数据库中的一个表。框标题指示表名。

每个框列出对应表中的列。对于每一列,框指示列名和数据类型。

某些列有图标以指示其在表中的角色。

  • 一个键图标表示表的键。

  • 一个链接图标表示外键。

在 MongoDB 视图中,每个框代表您 MongoDB 数据库中的一个集合。框标题指示集合名。

每个框列出对应集合中的字段。对于每个字段,框指示字段名和数据类型。

如果一个集合包含嵌套文档或数组,这些字段将显示在同一集合中的行内。

某些字段有图标以指示其在表中的角色。

  • 一个键图标表示集合的_id 字段。当您使用 wrapped 键处理策略时,_id 字段包含子字段。在这种情况下,框中包含多个键图标,这些图标适用于单个字段。

  • 一个链接图标表示该字段映射到外键中使用的关联列。

关系迁移器提供不同的图视图模式:水平分割、垂直分割、关系视图和MongoDB视图。

视图模式
描述
水平分割
在顶部显示关系视图,MongoDB视图在底部。创建新项目时,水平分割是默认视图模式。
垂直分割
在左侧显示关系视图,MongoDB视图在右侧。
关系视图
仅显示您的数据库关系图。
MongoDB 视图
仅显示您的MongoDB数据库图。

要切换视图模式,请单击左侧导航栏中的视图模式选项

View Modes

图中的实体根据它们代表关系数据库或MongoDB数据库进行颜色编码

  • 带粉色高亮的实体是关系表。

  • 带绿色高亮的实体是MongoDB集合。

框之间的线条代表连接数据库实体的关系。如果两个框连接,则相应的实体通过外键连接。线条可能显示以下关系特征

  • 关系链接上的小横杠表示实体之间的一对一关系。

  • 一个叉(或“鸟爪”)表示关系中的“多个”。

关系迁移器图形支持撤销和重做功能。要撤销或重新应用之前的图形操作,请使用撤销或重做功能。您可以使用图形工具栏或键盘快捷键执行这些操作。

您可以使用按钮在图形工具栏上

Toolbar undo and redo buttons

或者,您可以使用键盘快捷键

功能
Windows 快捷键
Mac 快捷键
撤销
控制 + Z
命令 + Z
重做
控制 + Y
命令 + Y

当你在关系型或MongoDB视图中点击一个框时,关系型迁移器会在另一个视图中突出显示相应的实体。这让你可以看到你的关系型表和MongoDB集合是如何相互映射的。

以下示例展示了跟踪商店订单的数据库的示例图。

此关系视图显示了关系型数据库中几个表之间的关系。

Relational Diagram Example

此视图显示了以下关系

  • Order表中,OrderID是主键。 CustomerIDOrderStatusID是外键。分别包含这些外键引用的CustomerOrderStatus表。

    • OrderCustomerOrderOrderStatus都是多对一关系

      • 客户可以有多个订单,每个订单只适用于单个客户。在这个例子中,订单是父实体,客户是子实体。

      • 订单状态可以适用于多个订单,每个订单只有一个订单状态。在这个例子中,订单是父实体,订单状态是子实体。

  • OrderLine表中,OrderLineID是主键。OrderIDProductID是外键。分别对应于这些外键的引用,OrderProduct表中包含了这些引用。

    • OrderLineOrderOrderLineProduct都是多对一的关系。

      • 订单行是一个订单内的单个交易。一个订单可以有多个订单行,每个订单行只适用于单个订单。在这个例子中,OrderLine是父节点,Order是子节点。

      • 一个产品可以应用于多个订单行,每个订单行包含一个单一的产品。在这个例子中,OrderLine是父节点,Product是子节点。

此MongoDB视图对应于前面的关系视图。

MongoDB Diagram Example

视图中显示的集合和数据类型反映了项目指定的映射规则。

链接图标表示映射到用于外键的关系列的字段。例如,在Order集合中,OrderStatusID字段表示一个外键,它将OrderOrderStatus表连接起来。

以下新的映射规则已创建,以更好地利用MongoDB的嵌入式数据模型。

  • Order集合包含一个规则,将OrderLines映射为嵌入式数组。关系模式中的 OrderLine 表被映射为 Order 文档内部的数组对象,使用关系模式中的外键关系。

    Order Mapping Rule Example
  • Customer 集合包含一个规则,将 Orders 映射为 嵌入式数组。关系模式中的 Order 表被映射为 Customer 文档内部的数组对象,使用关系模式中的外键关系。

    Customer Mapping Rule Example

上述两个映射规则都移除了映射中的 ID 字段。由于 OrderLinesOrders 字段嵌入在父字段中,而不是通过外键进行引用,因此不需要 ID 字段来链接这些字段。

返回

图表