70 likes | 300 Views
뇌를 자극하는 SQL Server 2005. 15 장 . XML. XML 의 기본적 구조. 개요 XML(eXtensible Markup Language) 은 HTML 과 같은 마크업 언어의 한 종류이며 데이터를 어떻게 표현할 지를 나타내는 방식 XML 은 운영체제나 하드웨어 플랫폼 , 프로그래밍 언어에 종속되지 않는 중립적인 위치를 하게 됨 다양한 운영체제와 어플리케이션간의 데이터를 주고 받는 역할 HTML 과 비슷하지만 , 훨씬 엄격한 문법을 지켜서 작성됨 . 간단한 XML 의 예
E N D
뇌를 자극하는 SQL Server 2005 15장. XML
XML의 기본적 구조 • 개요 • XML(eXtensible Markup Language)은 HTML과 같은 마크업 언어의 한 종류이며 데이터를 어떻게 표현할 지를 나타내는 방식 • XML은 운영체제나 하드웨어 플랫폼, 프로그래밍 언어에 종속되지 않는 중립적인 위치를 하게 됨 • 다양한 운영체제와 어플리케이션간의 데이터를 주고 받는 역할 • HTML과 비슷하지만, 훨씬 엄격한 문법을 지켜서 작성됨. • 간단한 XML의 예 <?xml version="1.0" ?> <document> <userTbl name="안정환" birthYear="1979" addr="강원 " /> <userTbl name="최진철" birthYear="1975" addr="제주 " /> <userTbl name="조재진" birthYear="1986" addr="충북 " /> <userTbl name="김남일" birthYear="1977" addr="경북 " /> </document>
XML 데이터 형식 • 개요 • SQL Server 2005부터 XML 데이터 형식을 지원함. • 이전 버전에서는 TEXT 또는 VARCHAR 형식을 사용했음. • 실습 목표 • XML 데이터 형식에 대해서 이해한다. • XML 변수에 대해서 익힌다. • 사용 SQL문 예 DECLARE @x XML SET @x = N'<userTbl name="안정환" birthYear="1979" addr="강원 " />' PRINT CAST(@x AS NVARCHAR(MAX)) <실습1> XML 데이터 형식
형식화된 XML과 XML 스키마 • 개요 • 형식화된 XML(Typed XML)을 사용하려면 XML 스키마(Schema)를 지정해야 함. • XML 스키마란 XML 데이터를 저장할 형식을 규정한 데이터를 말함. • 실습 목표 • XML 스키마를 정의한다. • 형식화된 XML에 대해서 이해한다. • 사용 SQL문 예 SELECT * FROM userTbl FOR XML RAW, ELEMENTS, XMLSCHEMA <실습2> 형식화된 XML
XML 인덱스 • 개요 • XML 데이터형식에도 인덱스를 생성할 수 있음 • 기본 XML 인덱스와 보조 XML 인덱스가 있음. • 실습 목표 • XML 인덱스를 이해하고 사용해 본다. • 사용 SQL문 예 (XML 인덱스 생성) CREATE PRIMARY XML INDEX xmlIdx_indexXmlTbl_xmlInfo ON indexXmlTbl (xmlInfo); <실습3> XML 인덱스
쿼리의 결과를 XML로 (FOR XML절) • 개요 • SELECT의 결과인 표형태르 XML문서로 변환할 수 있음 • FOR XML절을 사용 • 실습 목표 • FOR XML절의 다용한 활용을 확인한다. • 사용 SQL문 예 SELECT userId,name,addr,height FROM userTbl WHERE height > 180 FOR XML RAW; • 결과 값 <row userId="AJH " name="안정환" addr="강원 " height="182" /> <row userId="CJC " name="최진철" addr="제주 " height="185" /> <row userId="KNI " name="김남일" addr="경북 " height="183" /> <row userId="PJS " name="박지성" addr="서울 " height="181" /> <row userId="SKH " name="설기현" addr="서울 " height="182" /> <실습4> FOR XML절
XML 데이터 일반 쿼리의 결과 (OPENXML) • 처리 순서 • XML 데이터를 구문 분석 (sp_xml_preparedocument 프로시저) • OPENXML 함수를 사용해서 문서의 행 집합을 생성 • 메모리 해제 (sp_xml_removedocument) • 실습 목표 • OPENXML의 사용법을 확인해 본다. • 사용 SQL문 예 SELECT * FROM OPENXML(@handle, '/root/userTbl',0) WITH (userId nchar(8), name nvarchar(10), addr nchar(4) ); -- 표 형태로 데이터 처리 <실습5> XML 데이터를 일반쿼리로 변경