我正在研究預測工作中足球比賽的系統。我有幾個預先存在的數據庫,每個數據庫都包含大致相同的數據,儘管一些供應商提供的數據比其他數據多。我有一組核心,我的應用程序使用和所有供應商提供的字段:如何處理包含相同數據的多個模式
homeTeamId,awayTeamId,fullTimeHomeGoals,fullTimeAwayGoals,homeShotsOnTarget,awayShotsOnTarget等..
因爲這些數據庫都來自不同的來源字段名稱會有所不同。還有一些數據是主觀的(目標鏡頭的定義各不相同)。這意味着我需要知道哪個供應商來自哪個供應商。也有重疊,因爲有些供應商會獲得特定匹配的數據。
目前我們一次只使用一個數據源,但我們將根據該供應商未來競爭對手一次使用兩個或更多供應商(通過根據競爭對手選擇我們移除重複問題火柴)。
我的解決方案是使用XML來存儲fieldName的映射。 E.g
<Schemas>
<Schema>
<SchemaName>VendorA</SchemaName>
<TableName>VendorA_MatchResults</TableName>
<FullTimeHomeGoals>homeFullTimeScore</FullTimeHomeGoals>
Etc...
</Schema>
</Schemas>
然後每當我需要一個領域的SQL查詢,看看用戶在任務配置XML已指定的供應商,並查找相關的數據供應商等領域。當我們開始使用來自兩個供應商的結果時,我打算使用一個視圖並將其視爲XML中的新供應商。
這一定是一個相當普遍的問題,但我在網上找不到任何討論如何解決它的問題。我本能的直覺表示數據庫應該能夠在內部處理這個問題,也許有一種觀點?
我會很感激任何意見或想法。
爲了背景,我使用MySql和Java來開發這個應用程序。
聽起來像[ETL](http://en.wikipedia.org/wiki/Extract,_transform,_load)問題給我。 –