将两个数据源与关于相同实体的不同数据组合的方法

时间:2013-11-14 19:39:56

标签: database database-design data-integration

考虑一个场景,我从两个不同的来源获得有关同一实体的数据。例如,相机Nikon D3200,Nikon提到尺寸为5.0 in. (125 mm) x 3.8 in. (96 mm) x 3.1 in. (76.5 mm),其中amazon website3.1 x 3.8 x 5 inches。现在,如果我想将来自两个来源的数据合并到一个表中,我该如何处理呢?如何确认这两个尺寸实际上是针对同一产品? 任何有关记录链接策略的帮助将不胜感激。 Ť

1 个答案:

答案 0 :(得分:0)

我要做的是在每个源的新表中创建2列。例如:

productID_s1  | productID_s2  |   name                     | dimensions_source1                                     | dimensions_source2
CAM110          CAM101            Nikon Camera Model 82      5.0 in. (125 mm) x 3.8 in. (96 mm) x 3.1 in. (76.5 mm)   3.1 x 3.8 x 5 inches

使用查询:

CREATE TABLE Destination(
productID INT IDENTITY PRIMARY KEY,
productID_s1 NVARCHAR(40),
productID_s2 NVARCHAR(40),
name NVARCHAR(40),
dimensions_source1 NVARCHAR(255),
dimensions_source2 NVARCHAR(255)
)

SELECT s1.productID, s1.name, s1.dimensions
FROM Source1 s1

UPDATE Destination
SET productID_s2 = productID_fromsource2
FROM Source2 WHERE name_fromsource2 LIKE name

UPDATE Destination
SET dimensions_source2 = dimensions_fromsource2
FROM Source2 WHERE name_fromsource2 LIKE name

这样你知道它是同一个产品......我不知道这个简单的答案是否有用。