理解图表
本页解释了如何解释在关系迁移器中创建的图表。每个图表由两个视图组成,一个用于您的关系数据库,另一个用于您的 MongoDB 数据库。视图显示了数据库中实体之间的关系。
关系视图
在关系视图中,每个框代表您关系型数据库中的一个表。框标题指示表名。
每个框列出对应表中的列。对于每一列,框指示列名和数据类型。
某些列有图标以指示其在表中的角色。
一个键图标表示表的键。
一个链接图标表示外键。
MongoDB 视图
在 MongoDB 视图中,每个框代表您 MongoDB 数据库中的一个集合。框标题指示集合名。
每个框列出对应集合中的字段。对于每个字段,框指示字段名和数据类型。
如果一个集合包含嵌套文档或数组,这些字段将显示在同一集合中的行内。
某些字段有图标以指示其在表中的角色。
一个键图标表示集合的
_id
字段。当您使用wrapped
键处理策略时,_id
字段包含子字段。在这种情况下,框中包含多个键图标,这些图标适用于单个字段。一个链接图标表示该字段映射到外键中使用的关联列。
选择视图模式
关系迁移器提供不同的图视图模式:水平分割、垂直分割、关系视图和MongoDB视图。
视图模式 | 描述 |
---|---|
水平分割 | 在顶部显示关系视图,MongoDB视图在底部。创建新项目时,水平分割是默认视图模式。 |
垂直分割 | 在左侧显示关系视图,MongoDB视图在右侧。 |
关系视图 | 仅显示您的数据库关系图。 |
MongoDB 视图 | 仅显示您的MongoDB数据库图。 |
要切换视图模式,请单击左侧导航栏中的视图模式选项

颜色编码
图中的实体根据它们代表关系数据库或MongoDB数据库进行颜色编码
带粉色高亮的实体是关系表。
带绿色高亮的实体是MongoDB集合。
实体链接
框之间的线条代表连接数据库实体的关系。如果两个框连接,则相应的实体通过外键连接。线条可能显示以下关系特征
关系链接上的小横杠表示实体之间的一对一关系。
一个叉(或“鸟爪”)表示关系中的“多个”。
撤销或重做图形操作
关系迁移器图形支持撤销和重做功能。要撤销或重新应用之前的图形操作,请使用撤销或重做功能。您可以使用图形工具栏或键盘快捷键执行这些操作。
工具栏
您可以使用和按钮在图形工具栏上

键盘快捷键
或者,您可以使用键盘快捷键
功能 | Windows 快捷键 | Mac 快捷键 |
---|---|---|
撤销 | 控制 + Z | 命令 + Z |
重做 | 控制 + Y | 命令 + Y |
关系型和MongoDB视图链接
当你在关系型或MongoDB视图中点击一个框时,关系型迁移器会在另一个视图中突出显示相应的实体。这让你可以看到你的关系型表和MongoDB集合是如何相互映射的。
示例
以下示例展示了跟踪商店订单的数据库的示例图。
关系视图
此关系视图显示了关系型数据库中几个表之间的关系。

此视图显示了以下关系
在
Order
表中,OrderID
是主键。CustomerID
和OrderStatusID
是外键。分别包含这些外键引用的Customer
和OrderStatus
表。Order
到Customer
和Order
到OrderStatus
都是多对一关系客户可以有多个订单,每个订单只适用于单个客户。在这个例子中,订单是父实体,客户是子实体。
订单状态可以适用于多个订单,每个订单只有一个订单状态。在这个例子中,订单是父实体,订单状态是子实体。
在
OrderLine
表中,OrderLineID
是主键。OrderID
和ProductID
是外键。分别对应于这些外键的引用,Order
和Product
表中包含了这些引用。OrderLine
到Order
和OrderLine
到Product
都是多对一的关系。订单行是一个订单内的单个交易。一个订单可以有多个订单行,每个订单行只适用于单个订单。在这个例子中,OrderLine是父节点,Order是子节点。
一个产品可以应用于多个订单行,每个订单行包含一个单一的产品。在这个例子中,OrderLine是父节点,Product是子节点。
MongoDB视图
此MongoDB视图对应于前面的关系视图。

视图中显示的集合和数据类型反映了项目指定的映射规则。
链接图标表示映射到用于外键的关系列的字段。例如,在Order
集合中,OrderStatusID
字段表示一个外键,它将Order
和OrderStatus
表连接起来。
新的映射规则
以下新的映射规则已创建,以更好地利用MongoDB的嵌入式数据模型。
Order
集合包含一个规则,将OrderLines
映射为嵌入式数组。关系模式中的OrderLine
表被映射为Order
文档内部的数组对象,使用关系模式中的外键关系。Customer
集合包含一个规则,将Orders
映射为 嵌入式数组。关系模式中的Order
表被映射为Customer
文档内部的数组对象,使用关系模式中的外键关系。
上述两个映射规则都移除了映射中的 ID 字段。由于 OrderLines
和 Orders
字段嵌入在父字段中,而不是通过外键进行引用,因此不需要 ID 字段来链接这些字段。