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