[]
        
(Showing Draft Content)

模型的表间关系

1.概述

1.1功能概述

在数据建模中,表间关系是指通过定义多个数据表之间的关联,构建一个逻辑一致、结构化的数据模型。它是数据整合和分析的基础。通过表间关系来建立表与表之间的关系,实现数据的关联与约束,在分析的过程当中确保数据查询的完整性以及查询效率。

本节为您介绍如何建立表间关系及管理表间关系。

2.表关系说明

在数据模型中,我们将数据表和表之间的关系抽象成了圆圈和连接箭头。箭头的方向代表着数据过滤的方向,也即起点的表可以过滤终点的表。

例如,下图中供应商表(Suppliers)可以过滤产品表(Products),而反过来产品表(Products)却不能过滤供应商表(Suppliers)。

因为箭头的方向是由供应商表(Suppliers)指向产品表(Products)的,此时我们也称供应商表(Suppliers)到产品表(Products)的路径是通的,反之是不通的。

image

数据表不仅仅可以过滤箭头直接连通的表,只要是顺着箭头方向可以到达的表均可以进行过滤。

比如下图中,分类表(Categories)可以到达产品表(Products),而产品表(Products)又可以到达订单明细表(Order Details)。因此我们说分类表(Categories)也可以到达订单明细表(Order Details)。也就是可以用分类表(Categories)来过滤订单明细表(Order Details)。

能过滤也就是能到达,表之间的路径才是通的,进一步才可以在仪表板中进行应用。

image

3.关系基数

模型中表之间的关系,对应数据库中表之间的主外键关系。

表之间的主外键关系有多种,比如1对N、N对1等等。在数据模型中也是如此,并且我们将这些对应数据称为“ 基数 ”。

基数是决定箭头方向的源头,因为数据过滤时总是“ 1 ” 方去过滤“ N ”方。

我们可以发现无论是在画布示意图中,还是创建关系以及编辑关系时,都需要关注一个关系中基数的情况。

image

在添加和修改表间关系的时候,需要用户指定基数。

image

具体来讲,在数据模型中数据表之间的基数关系有以下几种:

  • 一对一关系 (1 ∶ 1)例如,一个部门有一个经理,而每个经理只在一个部门任职,则部门与经理的联系是一对一的。

  • 一对多关系 (1 ∶ N)例如,某校教师与课程之间存在一对多的联系“教”,即每位教师可以教多门课程,但是每门课程只能由一位教师来教。

  • 多对一关系 (N ∶ 1),一对多关系中的数据表反转就形成多对一关系。

  • 在 N :1 或1:N 关系中,如果N表对1表的外键可空,那么这种关系就是N对0..1 或0..1对N。在数据库中对应可空的外键关系。

4.模型关系在仪表板中的应用

表之间能顺着箭头的方向到达就代表能过滤,也就意味着在仪表板中使用时我们可以将起点表的字段放在分类中,将终点表的字段放在数值中来绘制图形。

比如在使用图中模型时,我们可以将分类表(Categories)中的字段绑定到分类中,将产品表(Products)或单明细表(Order Details)中的表绑定到数值中,进行汇总统计。

image

有关数据模型在仪表板中应用的更多详细介绍,参见使用数据模型创建仪表板