Abstract
This paper introduces the development XPERT(XML Query Processing Engine using Relational Technologies) which is based on relational model. In our system we have used a decomposed approach to store XML files in relational tables. XML queries are translated to SQLs according to the table schema, and then they are sent to the relational DBMS to get the results back. Our translation scheme produces AST(Abstract Syntax Tree) by analyzing XQuery expressions at first. And on traversing AST proper SQLs are generated. Translated SQLs can reduce the number of joins by using path information and utilize dewey number to preserve document originated orderings among compoments in XML. In addition we propose the efficient algorithms of XPath and XQuery translation. And finally we show the implementation of our prototype system for the functional evaluations.
본 논문은 관계형 DBMS를 사용한 XML 질의 처리 시스템 XPERT(XML Query Processing Engine using Relational Technologies)의 개발 내용을 소개한다. 본 논문의 XPERT에서 제안하는 XML 저장 방식은 XML 문서를 여러 구성 성분별로 나누어 관계형 테이블에 저장하는 분할(decomposition 또는 shredded) 방식을 사용하고, 분할된 관계형 테이블을 바탕으로 XML 질의를 SQL로 변환하고, 관계형 DBMS에서 변환된 SQL을 실행하여 결과를 반환하는 방식을 사용한다. 제안한 XQuery 변환 방식은 먼저 XQuery의 구문 분석을 통하여 AST(Abstract Syntax Tree)를 생성하고, AST를 순회하면서 SQL 문장을 생성한다. 생성된 SQL 문장은 XML 문서의 경로를 사용함으로써 XQuery 연산의 조인 횟수를 감소시키며, 계층적 정보 검사나 문서에 내재된 결과의 순서를 지키기 위하여 사용하는 순서 정보는 Dewey 번호를 효과적으로 사용한다. 특히 XQuery의 XPath와 FLWOR 연산을 SQL로 변환하고 실행하는 효과적인 방법을 제시하고 제안된 XPERT시스템의 프로토타입을 개발하여 그 기능을 평가한다.