使用 IBM WebSphere Information Integrator 中的数据联邦技术(2)
2008-09-16 16:29:25 来源:WEB开发网2. 利用非关系昵称关联信息
仓库管理员想要找出与某个客户相关的所有订单。下面是查询:
SELECT c.customer_name, o.order_id, o.order_date, i.item_id, i.item_quantity
FROM customers c, xml.orders o, xml.order_items i
WHERE c.customer_id='1234567890'
AND c.customer_id=o.customer_id
AND o.oid=i.oid;
在这个例子中,ORDERS 和 ORDER_ITEMS 昵称都是用 XML 包装器来访问。图 4 展示了一个在联邦服务器使用嵌套循环连接操作符来计算这个查询的计划。这里没有与每个 RPD 操作符相关的 SQL 语句,因为 ORDERS 和 ORDER_ITEMS 不是关系昵称。
图 4. 连接非关系昵称的 FQEP
3. 引用标量子查询
仓库管理员想要找出在美国的仓库中有哪些商品的供应量大于加拿大仓库中所有商品的供应量。这个查询使用一个标量子查询来计算 ITEM_STOCKED 列上最大的供应量:
SELECT COUNT(*)
FROM usa.items
WHERE item_stocked > (SELECT MAX(item_stocked) FROM canada.items);
图 5 展示了带 SHIP 操作符的计划,每个 SHIP 操作符按解释编号:
图 5. 引用非分配的标量子查询的 FQEP
昵称 CANADA.ITEMS 和 USA.ITEMS 在两个不同的远程数据源上。首先需要将标量子查询的结果传送到联邦服务器。这个需求由 SHIP1 操作符捕捉。与 SHIP1 操作符相关的语句表明该标量子查询在 Oracle 上计算。
更多精彩
赞助商链接