Cognos – 元数据模型中的关系
Cognos – 元数据模型中的关系
关系用于在元数据模型中的多个对象上创建查询。关系可以是双向的,并且无需创建关系,对象是单独的实体,在元数据模型中没有用。
元数据模型中的每个对象都使用数据源中的主键或外键连接。您可以在元数据模型中创建或删除关系以满足业务需求。
可能存在不同的关系,其中一些是 –
-
一对一– 当一个查询主题的实例与另一个实例相关时。例如:每个客户都有一个客户 ID。
-
一对多– 当查询主题的一个实例与多个实例相关时,就会发生这种关系。例如:每个医生都有很多病人。
-
多对多– 当查询主题的许多实例与多个实例相关时,就会发生这种关系。例如:每个病人都有很多医生。
基数概念
它被定义为两个查询主题中每一个的相关行数。基数以以下方式使用 –
- 星型模式中的循环联接
- 优化数据源访问
- 避免重复计算事实数据
使用关系数据库作为数据源时,可以考虑以下规则定义基数 –
- 主键和外键
- 匹配查询项名称表示唯一索引的列
- 匹配查询项名称
定义基数的最常见方法是使用主键和外键。要查看导入的关键信息,请右键单击查询主题 → 编辑定义。您可以从数据源导入多对多关系、可选关系和外部联接。
元数据模型中的关系符号
在框架管理器中,关系由Merise 表示法表示。此符号的第一部分表示此关系的连接类型。
- 0..1 代表零个或一个匹配
- 1..1 代表一对一匹配
- 0..n 代表零或不匹配
- 1..n 代表一个或多个匹配项
- 1 – 来自两个对象的所有匹配行的内部连接。
- 0 – 与来自两者的所有对象的外部连接,包括不匹配的项目。
创建或修改关系
创建关系或组合未加入元数据导入的逻辑相关对象。您可以手动创建对象之间的关系,也可以根据选定的条件自动定义对象之间的关系。
要创建关系,请使用 CTRL 键选择一个或多个查询项目、主题或维度。然后转到操作菜单 → 创建关系。
如果这是一个有效的关系,则框架管理器希望创建该关系的快捷方式。然后,您可以单击“确定”按钮。
在元数据导入后创建关系后,您还可以在框架管理器中修改关系或基数。
要编辑关系,请单击关系,然后从操作菜单 → 单击编辑定义。
从“关系表达式”选项卡 → 选择“查询项”、“基数”和“运算符”。
要创建额外的联接,请转到关系表达式选项卡 → 新建链接并定义新关系。
要测试此关系,请转到关系 SQL 选项卡 → 要返回的行 → 测试。
单击确定按钮。
创建关系快捷方式
关系快捷方式被定义为指向现有关系并重用现有关系定义的指针。当您对源关系进行任何更改时,它们会在快捷方式中自动更新。关系快捷方式还用于解决查询主题之间的不明确关系。
每当您创建关系并且这两个条件都为真时,Framework Manager 会询问您是否要创建关系快捷方式。
- 新关系的至少一端是一条捷径。
- 原始对象之间存在关系。
转到操作菜单 → 创建关系。
如果这是一个有效的关系,框架管理器想要创建关系的快捷方式。单击是。将出现一个包含所有关系的列表,其中一端是模型对象,另一端是另一个模型对象或另一个模型对象的快捷方式。
单击确定。
创建查询主题
查询主题被定义为一组具有内在关系的查询项。查询主题可用于自定义它们使用框架管理器检索的数据。
以下是框架管理器中的查询主题类型 –
-
数据源查询主题– 这些基于 SQL 语句定义的关系元数据,并在您将元数据导入模型时为每个表和视图自动创建。
注意– 数据源查询主题一次只引用一个数据源的数据,但您可以直接编辑定义检索数据的 SQL 以编辑查询主题。
-
模型查询主题– 它们不是直接从数据源创建的,而是基于其他查询主题或维度中定义的查询项目。使用模型查询主题,它允许您创建数据源的更抽象和业务视图。
-
存储过程查询主题– 当从关系数据源导入过程时创建它们。IBM Cognos Framework Manager 仅支持用户定义的存储过程,不支持系统存储过程。
如何创建数据源查询主题?
从操作菜单 → 创建 → 查询主题。
输入新查询主题的名称。
单击数据源→确定打开新的查询主题向导。
按照步骤操作,直到出现完成按钮 → 完成
右键单击Query Subject → Edit Definition。单击SQL 选项卡 → 可用数据库对象框,将对象拖到 SQL 框。
您还可以插入数据源引用、插入宏、嵌入计算和嵌入过滤器。
从列表中选择操作并单击确定。
Purpose | 行动 |
---|---|
Granularity Control | 决定因素选项卡 |
To test query subject | 测试标签 |
To view SQL | 查询信息选项卡 |
To view system tables from data source | 显示系统对象复选框 |
编辑 SQL
当您编辑任何 Relation 数据库源、创建或查询 Relation 数据库时,SQL 将在后台使用。您可以使用以下选项 –
- Cognos SQL
- 本机 SQL
- 通过 SQL
要编辑模型查询主题的 SQL,请从查询信息选项卡复制 SQL 并粘贴到新的数据源查询主题。可以将模型查询主题转换为数据源查询主题。
- 单击数据源查询主题和操作菜单 → 编辑定义。
- 单击 SQL 按钮,拖动对象或键入所需的 SQL。
- 单击确定。
更改 SQL 类型
您可以在定义数据源查询主题时选择要使用的 SQL 类型。在考虑 SQL 类型时应考虑这些因素 –
SQL Type | 优势 | 坏处 |
---|---|---|
Cognos SQL |
提高性能 在所有支持的数据库上工作 |
不支持非标准 SQL |
Native SQL |
性能优化 特定于数据库 |
SQL 不适用于不同的数据库。 您不能使用数据源不支持子查询的 SQL。 |
Pass Through SQL | 数据库支持的任何 SQL |
没有框架选项 经理优化 自动执行 |
另请注意,无法根据 OLAP 数据源更改查询主题的 SQL 类型。
要更改 SQL 类型,请转到要更改的查询主题。
转到操作菜单 → 编辑定义,然后转到查询信息按钮。
转到选项 → SQL 设置选项卡。
要更改 SQL 的类型,请单击 SQL 类型列表。然后,单击确定。