2009-11-17 2 views
0

여러 개의 CSV가 있습니다. 그들은 모두 관계 DB에서 내보내기입니다. 이제 각 CSV에는 수천 개의 항목이 들어 있으며 다른 CSV 파일이 나타내는 다른 테이블에 대한 참조가 포함되어 있습니다.DB와 관련하여 일부 CSV 파일을 가져 오는 가장 쉬운 방법은 무엇입니까?

어떻게 이러한 파일을 새 데이터베이스로 가져올 수 있습니까? 신선한 모델을 만들어야합니까?

+1

어떤 데이터베이스입니까? –

+0

SqlServer 또는 MySQL – user96547

답변

0

순환 종속성이없는 경우 (테이블 A는 B 및 B 참조를 참조합니다) 종속성 순서로 구성하고 해당 순서로 가져옵니다. 첫 번째 테이블은 다른 테이블에 종속되지만 다른 테이블에 종속되지는 않습니다.

순환 의존성이있는 경우 모든 데이터를 가져 오는 동안 일시적으로 데이터베이스의 참조 무결성 검사를 비활성화 한 다음 다시 활성화해야합니다. 오라클도이 작업을 수행 할 수 있지만 MSSQL 및 MySQL에 대해서는 알지 못합니다.

+0

좀 더 자세히 설명해 주시겠습니까? 어떤 도구를 사용해야합니까? 몇 가지 코드를 작성 하시겠습니까? – user96547

1

일부 DBMS는 가져온 데이터에서 스키마를 유추 (또는 시도)하지만 스키마를 데이터로드와 별도로 처리하는 것이 더 안전합니다.

CSV 파일이 제공된 데이터베이스에 계속 액세스 할 수있는 경우 동일한 SQL 개체 (테이블, 인덱스 ... 다른 위치)를 다시 만드는 데 사용할 수있는 SQL DDL 스크립트 내보내기를 요청할 수 있습니다. 이렇게하면 스키마에서 몇 가지 사항을 변경하려는 경우에도 새 호스트에서 스키마를 시작할 수 있습니다.

이러한 스키마를 사용할 수없는 경우 이러한 테이블을 개별적으로 가져 오거나 (또는 ​​CSV txt를 단순히 검사하여) orignal 스키마를 다시 검색해야 할 수 있습니다. 힌트로 작은 테이블은 일반적으로 룩업 테이블이거나 더 적은 수의 "헤더"테이블이며 더 큰 테이블과 관련이있는 테이블이기 때문에 먼저로드해야하는 테이블 일 수 있습니다.

관련 문제