시작하기 전에
이 튜토리얼은 데이터를 XML 형식으로 데이터베이스에 저장한 후 Python 애플리케이션에서 DB2에 연결하는 방법과 CSV 파일의 데이터를 XML 문서로 변환하는 방법을 배우려는 개발자를 위한 것이다. Python에 대한 사전 지식이 없는 입문자를 대상으로 하지만(이 튜토리얼에서 Python 설치 방법을 설명함) Python을 사용해 본 경험이 있다면 많은 도움이 될 것이다. 이 튜토리얼에서는 사용자의 운영 체제가 Microsoft® Windows®라고 가정하지만 이 튜토리얼의 코드는 수정하지 않고도 다른 플랫폼에서 작동한다. 이 튜토리얼을 모두 마치고 나면 IBM DB2 데이터베이스와 통신할 수 있고 pureXML의 뛰어난 기능을 이용할 수 있는 강력한 Python 애플리케이션을 작성할 수 있다.
IBM DB2 데이터베이스 관리 시스템은 오랜 기간 동안 관계형 데이터 관리 영역에서 선도적인 시스템으로 인정 받고 있다. 하지만 최근 수 년 동안 좀 더 유연하고 문서 지향적인 데이터 구조에 대한 요구 사항이 상당히 높아지고 있다. 그러한 데이터 구조의 대표적인 예가 바로 XML이다.
많은 관계형 데이터베이스에서는 XML 지원 양식을 해당 데이터베이스에 통합하고 있는 반면 IBM DB2는 XML을 형식 변환 없이 원래대로 데이터베이스에 저장할 수 있는 유일한 오퍼링이다. pureXML이라는 이 기술을 통해 DB2 개발자와 DBA는 XML 데이터의 순수성을 손상시키지 않고 XML 데이터와 관계형 데이터를 함께 조작하고 보고할 수 있다.
이 튜토리얼에서는 United States Census Bureau 웹 사이트에 연결하여 매년 예상 인구를 바탕으로 하는 2000년 인구 조사 및 변동성 결과를 포함한 국가, 지역 및 주 단위의 인구 데이터가 포함된 CSV 파일을 다운로드하는 Python 스크립트를 개발한다. 그런 다음 이 데이터를 XML 문서로 변환하는 방법을 살펴본다. 이 튜토리얼에서는 이 대용량 문서를 가져와서 DB2 함수를 통해 개별 행으로 분할하는 작업을 수행하는 대신 Python을 사용하여 CSV 파일의 관련 행별로 하나의 XML 문서를 저장하는 방식으로 데이터를 DB2에 삽입한다. 마지막으로 이 데이터에 대한 유용한 보고서 즉, 인구 수 기준의 내림차순으로 정렬된 주, 지역 또는 국가 목록을 보여 주는 보고서를 생성하는 명령행 애플리케이션을 작성한다.
이 튜토리얼의 단계를 수행하려면 다음과 같은 소프트웨어가 설치되어 있어야 한다.
- IBM DB2 Express-C 9.5 이상
- Python 버전 2.6 또는 3.0 이전 버전
참고자료에서 이러한 소프트웨어를 다운로드하는 데 필요한 정보를 확인할 수 있다. 이 튜토리얼에서는 사용자가 XP 이상의 Microsoft Windows 운영 체제를 사용하고 있는 것으로 가정한다. Python 및 Python용 IBM DB2 확장을 설치하려면 사용 중인 컴퓨터에 대한 관리자 권한이 있어야 한다.