초록
점점 더 많은 문서들이 XML의 형태를 갖게 됨에 따라, XML문서들을 관계형 데이터베이스에 저장하기 위한 관계형 스키마의 생성이 더욱 중요해 지고 있다. 이 논문은 최근 W3C에 의해서 제안된 XML Schema로부터 관계형 스키마를 생성해 내는 기법 및 구현에 대해서 설명한다. 기존의 DTD기반 인라인 기법은 XML Schema에 적용될 수 없는데, 이유는 XML Schema에는 DTD에 존재하지 않는 새로운 특징들이 많이 있기 때문이다 즉, 다양한 데이타 타입, 상속, 다형성과 같은 요소들이 추가되어, XML Schema는 보다 강력해진 반면, 이로부터 관계형 스키마를 생성하는 일은 더욱 어렵게 되었다. 본 논문에서는 기존의 인라인 기법을 기반으로 XML Schema 인라인 기법을 제시하였다. XML Schema 인라인 기법은 먼저 XML Schema의 다양한 데이타 타입들을 관계형 데이터 베이스의 타입으로 매핑시키는 작업을 한 후, 타입과 엘리먼트 정보를 이용하여 스키마 그래프와 타입 그래프를 만들고, 이 그래프를 순회하면서 관계형 테이블들을 생성하게 된다. 그 외에도 xsi:type, 익명 타입들을 처리하기 위한 기법들을 소개하고 있으며, 시스템의 성능을 향상시키기 위한 몇몇 휴리스틱 기법에 대해서도 소개하였다. 마지막으로 이진 테이블 저장 방식과의 성능 비교 실험을 통하여 XML Schema 인라인 기법의 우수성을 보였다.
As more and more documents are published in XML, generating relational schemas to store XML documents in a relational database is also getting important. This paper describes a technique as well as its implementation to produce a relational schema from the XML Schema, a standard recently recommended by W3C. The DTD-based inlining technique cannot be applied to the XML Schema, because the XML Schema has many new features, which don't exist in the DTD. Various built-in data types, inheritance, and polymorphism, for example, strengthen the XML Schema, but make the generation of a relational schema from an XML Schema more difficult. We propose an XML Schema Inlining Technique, based on the previous work. The technique first maps various data types in the XML Schema to those of the relational database. After that, it construct the schema graph and the type graph from types and elements defined in the XML Schema. The relational schema is generated while traversing the type graphs. Besides, we describe techniques for handling xsi:type, used for the polymorphism, and the anon#moos type. We also propose a couple of heuristic methods for enhancing the performance of the system. Finally, we conducted experiments to show that our technique is better than the binary table approach.