在数据源视图中定义逻辑关系 (Analysis Services)
数据源视图向导和数据源视图设计器自动定义添加到数据源视图 (DSV) 的表之间的关系,定义过程基于基础数据库关系或指定的名称匹配条件。
如果您在使用来自多个数据源的数据,则可能需要在 DSV 中手动定义逻辑关系,以便对自动定义的这些关系进行补充。 Analysis Services 中需要使用关系来标识事实表和维度表,构造查询以从基础数据源检索数据和元数据,以及利用高级商业智能功能。
您可以在数据源视图设计器中定义下列关系类型:
同一数据源中的两个表之间的关系。
一个表与其本身的关系,就像父子关系一样。
某数据源中的一个表与另一个数据源中的另一个表的关系。
注意
在 DSV 中定义的关系是逻辑关系,可能无法反映基础数据源中定义的实际关系。 在数据源视图设计器中,可以创建基础数据源中不存在的关系,也可以从基础数据源的现有外键关系中删除由数据源视图设计器所创建的关系。
关系是有方向的。 对于源列中的每个值,在目标列中都有一个对应值。 在数据源视图关系图中(如 “关系图” 窗格中显示的关系图),两表之间连线上的箭头指示关系的方向。
本主题包含下列部分:
在表、命名查询或视图之间添加关系
在 SQL Server Data Tools (SSDT) 中,打开项目或连接到包含要在其中添加逻辑关系的数据源视图的数据库。
在解决方案资源管理器中,展开“数据源视图”文件夹,然后双击数据源视图以便在“数据源视图设计器”中打开该视图。
在任一“表”窗格中右键单击要添加关系的表、命名查询或视图,再单击“新建关系”。
注意
若要查找表、视图或命名查询,可以通过单击“数据源视图”菜单或者右键单击“表”或“关系图”窗格的空白区域,以使用“查找表”选项。
在 “指定关系” 对话框中,执行下列操作:
在“源(外键)表”列表中选择适当的表、命名查询或视图。
在“目标(主键)表”列表中选择适当的表、命名查询或视图。
从 “源列” 和 “目标列” 列表中选择列,以创建两个表之间的关系。
如果 SQL Server Data Tools (SSDT) 通过对基础表、视图或命名查询中的数据进行采样,检测到你以错误的方向定义了关系, (从主键到外键,而不是从外键到主键) ,系统将提示你反转顺序。 若要快速反转顺序,请单击 “反转”。
如果SQL Server Data Tools (SSDT) 检测到所选列已存在关系,系统将提示你。 您不能定义重复关系。
还可以在 “说明” 框中键入对该关系的说明。
在“关系图”窗格中查看或修改关系
- 在“数据源视图设计器”的“关系图”窗格中,右键单击要查看的关系,再单击“编辑关系”(或者仅双击关系箭头)。 使用 “编辑属性关系” 对话框可修改关系。
在“表”窗格中查看或修改关系
在 “数据源视图设计器” 的 “表”窗格中,查找包含要查看或修改的关系的表、视图或命名查询,然后将其展开。
展开 “关系” 文件夹。 将显示所选表、视图或命名查询与其他表、视图和命名查询之间的关系,并列出关系列。
右键单击要修改的关系,然后单击“编辑关系”。