초록
최근에 데이타베이스에 저장된 XML문서의 변경에 대한 여러 연구들이 수행되었다[1-3]. 이 연구들은 우선 변경 연산들을 정의하고 이 연산들을 수행할 때 발생하는 의미적 문제들을 해결하는 방법을 제안하였다. 이러한 연구들에서는 변경 연산을 수행한 후에 검증을 수행하기 때문에 여러 가지 충돌 문제가 발생한다. 이러한 충돌문제를 해결하기 위해서는 XML데이타베이스 시스템이 변경 연산을 수행하기 전에 이 연산이 DTD에 따르는지 즉시 검증할 수 있어야 한다. 또한 지금까지의 연구들은 변경된 XML문서를 검증할 때 변경된 부분을 검증하지 않고 문서 전체를 검증한다. 따라서 많은 응용프로그램들이 XML문서를 변경한다면 이 연산에 대한 검증 과정 때문에 심각한 성능 저하를 가져올 것이다. 이 연구에서는 이 두 가지 문제점을 해결하기 위한 방법을 제안한다. 우선 DTD정보를 추출하여 데이타베이스에 저장하고 데이타베이스에 저장된 XML문서를 변경할 때 이 저장된 DTD정보를 이용하여 변경 연산의 유효성을 검증함으로써 항상 유효한 XML문서를 데이타베이스에 유지하도록 한다. 이를 위해 유효성 검증을 변경 연산이 수행되기 전에 즉시 수행하고 검증 범위 또한 변경된 부분으로 한정시키는 메카니즘을 고안하였다.
Recently, several works have been proposed for updating XML documents[l-3] stored in databases. These researches defined update operations and resolved some semantic problems. Because the update operations are usually validated after execution, several conflicts nay occur. For solving these conflicts, XML database systems must be able to validate an update operation immediately according to DTD before the update operation is executed. Furthermore, in many studies for updating, they just validate whole XML documents and can't validate parts of them. If updates are very frequent, validating whole XML documents will cause performance degradation. In this paper, we propose solutions for these two problems. We extract and store DTD information. Then, when an XML document stored in the database is updated, we verifies whether the update is valid or not by using the information. Consequently, XML database systems can always maintain valid XML documents. The validity of update operations is checked immediately before the actual update operation is applied to the database and the validation is performed on only updated parts of an XML document in the database.