XQuery

개념
XQuery의 정의 - XML 기반의 데이터베이스를 조회하기 위한 쿼리 언어 - XML 파일들로부터 마치 데이터베이스를 사용하는 것같이 원하는 정보를 추출해 낼 수 있게 하는 쿼리 언어

I. XML기반의 데이터베이스 정보 추출 도구, XML 질의언어(XQuery)의 개요

가. XQuery의 정의

- XML 기반의 데이터베이스를 조회하기 위한 쿼리 언어

- XML 파일들로부터 마치 데이터베이스를 사용하는 것같이 원하는 정보를 추출해 낼 수 있게 하는 쿼리 언어

 

나. XQuery의 특징

구분

설명

기술중립적

W3C기반의 XQuery1.0을 기준으로 표준화된 기술

XML기반의 질의어

- XML을 통한 데이터 조회 및 저장 기술

- Quilt 라는 XML질의어에서 시작된 언어로서 XPath 식을 포함

- XQuery로 표현된 질의문의 결과는 XML문서가 아니라 트리 구조를 나타내는 노드들의 리스트가 됨

간편하고 쉽게 구현

For, let, where, return(FLWR)등의 SQL과 유사한 문법으로 쉽게 구현 가능

 

II. XQuery를 이용한 데이터베이스와의 매핑(Mapping)관계

가. XQuery기반의 데이터베이스 질의 구조 및 문법

- XQuery를 파서가 파싱을 한 후 이를 데이터베이스의 XML파일에 적용하여 필요한 데이터를 조회

- XPath를 기준으로 파일을 접근

 

나. XQuery의 기본 문법 구조(FLWOR)

문법

설명

사례

For

개별 노드(원소)에 속박되는 반복 변수

3명보다 많은 Employee가

WorksOn에 일하는 DeptId검색

FOR $x IN

doc(www.company.com/info.xml)

/Company/Employee/DeptId

LET $y:=

doc(www.company.com/info.xml)

Company/WorksOn[DeptId=$x]

WHERE COUNT($y) > 3

   Return <res>$x <res>

Let

변수를 선언하고, 여기에 값을 할당

Where

쿼리 결과의 필터링 기준 설정(FOR 와 LET에 대한 선택 조건)

Order by

결과의 정렬 순서를 설정

return

질의 결과의 명세

 

다. XQuery기반의 데이터베이스 매핑(Mapping)관계

- 객체지향 데이터베이스(ODB)에는 OQL(Object Query Language)로 변환 후 질의

- XML 데이터베이스에는 XQuery를 그대로 질의

- 관계형 데이터베이스(RDB)에는 SQL로 변환 후 질의(아래 사례 참조)

 

 

III. XQuery의 활용 분야

- XML DB및 XML파일에 대한 질의 처리 시 XQuery언어를 사용하여 직접 조회 가능

- 관계형 데이터베이스 및 객체지향 데이터베이스에 저장된 XML파일에 대한 조회 시 간편하게 활용 가능

댓글