직장에서 축구 경기를 예측하는 시스템에서 작업하고 있습니다. 일부 벤더가 다른 벤더보다 더 많은 데이터를 제공하지만, 각 벤더는 거의 동일한 데이터를 포함하는 기존의 여러 데이터베이스를 보유하고 있습니다. 내 응용 프로그램에서 사용하는 모든 공급 업체가 제공하는 분야의 핵심 설정 :이 데이터베이스는 서로 다른 소스에서 온 때문에동일한 데이터를 포함하는 여러 스키마를 처리하는 방법
homeTeamId, awayTeamId, fullTimeHomeGoals, fullTimeAwayGoals 등 homeShotsOnTarget, awayShotsOnTarget을 ...
을 필드 이름은 다양합니다. 또한이 데이터 중 일부는 주관적입니다 (타겟의 샷 정의가 다릅니다). 이것은 어떤 업체가 어떤 업체인지 알 필요가 있음을 의미합니다. 여러 공급 업체가 특정 일치 항목에 대한 데이터를 보유하게되므로 중복되는 경우도 있습니다.
현재 우리는 한 번에 하나의 데이터 소스를 사용하고 있지만, 향후에 해당 공급 업체가 대상으로하는 경쟁을 기반으로 한 번에 둘 이상의 공급 업체를 사용하게됩니다 (중복 문제를 제거한 경쟁에 따라 선택 함). 성냥).
내 솔루션은 XML을 사용하여 fieldName의 매핑을 저장하는 것이 었습니다. 나는 SQL 쿼리에 대한 필드를 필요할 때마다 예컨대
<Schemas>
<Schema>
<SchemaName>VendorA</SchemaName>
<TableName>VendorA_MatchResults</TableName>
<FullTimeHomeGoals>homeFullTimeScore</FullTimeHomeGoals>
Etc...
</Schema>
</Schemas>
그런 다음, 사용자가 작업 구성 XML에서 지정한 공급 업체보고 데이터 공급 업체에 관련된 필드를 조회. 두 벤더의 결과를 사용할 때 뷰를 사용하여 이것을 XML의 새로운 벤더로 간주 할 계획이었습니다.
상당히 합리적 인 문제 여야하지만 온라인 태클 방법을 찾을 수 없습니다. 내 직감은 본질적으로 DB가 내부적으로이를 처리 할 수 있어야한다고 생각합니다.
조언이나 아이디어에 감사드립니다.
배경으로,이 응용 프로그램을 개발하기 위해 MySql과 Java를 사용하고 있습니다.
나에게 [ETL] (http://en.wikipedia.org/wiki/Extract,_transform,_load) 문제가 발생합니다. –