SQL 전문가를 위한 XPath 및 XQuery 튜토리얼 (동영상)
알토바에 입사하기 전에는 XPath와 XQuery에 대한 경험이 전혀 없었습니다. 처음 맡은 업무는 두 가지 쿼리 언어에 대해 최대한 빨리 학습하고, 이를 요약한 짧은 영상을 제작하는 것이었습니다. 이 영상은 다음과 같은 역할을 할 것입니다 XPath 튜토리얼 및 XQuery 튜토리얼. MobileTogether에서 앱 개발을 하고 XMLSpy에서 데이터를 쿼리하려면, 두 언어의 특징과 기능을 정확하게 이해하는 것이 중요했습니다. 저는 SQL에 대한 탄탄한 기반을 바탕으로 시작하여, 먼저 SQL을 사용하여 쿼리를 작성하고, 그런 다음 해당 쿼리를 XPath와 XQuery라는 두 가지 쿼리 언어로 어떻게 구현할 수 있는지 학습했습니다.

XPath 및 XQuery 기초 교육
Altova는 포괄적인 무료 교육 자료를 제공하며, 이 자료는 다음 내용을 다룹니다 XPath 그리고 XQuery. 이 교육 자료를 읽고, 함께 제공되는 샘플 XML 파일에 기본적인 개념을 적용하는 것만으로도, 이 두 가지 쿼리 언어에 대한 깊이 있는 이해를 얻을 수 있다는 것을 알게 되었습니다 XMLSpy. 저는 단순히 XPath만 사용하여 방대한 XML 파일을 즉시 검색하는 것이 얼마나 직관적인지 정말 놀라웠습니다. 하지만 XPath 튜토리얼을 위해 더 복잡한 활용 사례를 만들기 시작하면서, XQuery를 사용하여 작성된 쿼리가 거의 항상 훨씬 간결하고 읽기 쉬우며 디버깅하기 쉽다는 것을 깨닫기 시작했습니다.
Altova의 교육 자료를 더 자세히 읽어보니, XQuery의 FLWOR 표현식 구문이 SQL 쿼리와 매우 유사하다는 것을 알게 되었습니다. XPath와 XQuery는 기본적으로 데이터 세트를 더 작은 데이터 테이블로 변환합니다. 이 두 기술 모두 복잡한 조건과 변환 함수를 사용하여 데이터를 필터링할 수 있습니다. 또한, 두 언어 모두 여러 소스에서 데이터를 가져와 결합하여, 여러 정규화된 소스의 데이터를 기반으로 결과 집합을 생성할 수 있습니다. 이러한 언어들 간의 유사성을 고려했을 때, XPath와 XQuery를 배우는 가장 간단한 방법은 SQL에서 시작하여 역으로 학습하는 것이라는 것을 깨달았습니다. 이러한 지식을 바탕으로, 저는 학습을 시작했습니다.

전체적인 내용을 정리합니다
MobileTogether에는 "MyCar"라는 샘플 모바일 앱이 포함되어 있으며, 이 앱은 XQuery 튜토리얼을 위한 훌륭한 기반이 됩니다. 이 앱은 사용자에게 자신이 꿈꾸는 자동차에 대해 질문하는 방법을 보여줍니다. 데이터는 데이터베이스 내에 정의된 일련의 매개변수를 통해 제공되며, 많은 레코드를 포함하고 각 레코드가 여러 데이터 포인트를 가지고 있어 활용하기에 이상적이었습니다. 데이터셋 자체는 MDB 파일 형태로 제공되었으며, 저는 DatabaseSpy를 사용하여 이 파일을 열고 XML 형식으로 내보냈습니다. 이후 내보낸 파일을 수정하여 몇몇 필드를 변경하여 제가 생성할 쿼리의 가독성을 높였습니다.
두 데이터 세트가 완전히 동일했기 때문에, 저는 동일한 결과를 생성하는 SQL, XQuery, 그리고 XPath 표현식을 만들 수 있었습니다. 덕분에 저는 빠르게 학습하고 XPath와 XQuery를 모두 익힐 수 있었습니다. 몇 시간 만에 복잡한 쿼리를 작성할 수 있게 되었습니다. 결국, 아래의 동영상을 제작하게 되었습니다. 이 동영상은 8가지 일반적인 쿼리 시나리오를 다루며, 세 가지 언어 모두에서 동일한 결과를 얻을 수 있는 쿼리를 보여줍니다.

XPath 및 XQuery 교육 비디오
다음은 영상에서 사용된 모든 샘플 쿼리와 데이터셋을 포함하는 링크입니다. XMLSpy의 무료 체험판을 이용하시면, 내장된 XPath/XQuery 편집 창에서 이들을 직접 사용해 볼 수 있습니다. 이 편집 창은 XML과 JSON 파일 모두에서 작동합니다.