7
뇌뇌 뇌뇌뇌뇌 SQL Server 2005 15 뇌 . XML

뇌를 자극하는 SQL Server 2005

  • Upload
    oralee

  • View
    67

  • Download
    0

Embed Size (px)

DESCRIPTION

뇌를 자극하는 SQL Server 2005. 15 장 . XML. XML 의 기본적 구조. 개요 XML(eXtensible Markup Language) 은 HTML 과 같은 마크업 언어의 한 종류이며 데이터를 어떻게 표현할 지를 나타내는 방식 XML 은 운영체제나 하드웨어 플랫폼 , 프로그래밍 언어에 종속되지 않는 중립적인 위치를 하게 됨 다양한 운영체제와 어플리케이션간의 데이터를 주고 받는 역할 HTML 과 비슷하지만 , 훨씬 엄격한 문법을 지켜서 작성됨 . 간단한 XML 의 예 - PowerPoint PPT Presentation

Citation preview

Page 1: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는

SQL Server 2005

15 장 . XML

Page 2: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

15 장 . XML

2 / 7

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>

Page 3: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

15 장 . XML

3 / 7

XML 데이터 형식

• 개요 SQL Server 2005 부터 XML 데이터 형식을 지원함 . 이전 버전에서는 TEXT 또는 VARCHAR 형식을 사용했음 .

▫ 실습 목표 XML 데이터 형식에 대해서 이해한다 . XML 변수에 대해서 익힌다 .

▫ 사용 SQL 문 예DECLARE @x XMLSET @x = N'<userTbl name=" 안정환 " birthYear="1979" addr=" 강원

" />'PRINT CAST(@x AS NVARCHAR(MAX))

< 실습 1> XML 데이터 형식

Page 4: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

15 장 . XML

4 / 7

형식화된 XML 과 XML 스키마

• 개요 형식화된 XML(Typed XML) 을 사용하려면 XML 스키마 (Schema)

를 지정해야 함 . XML 스키마란 XML 데이터를 저장할 형식을 규정한 데이터를 말함 .

▫ 실습 목표 XML 스키마를 정의한다 . 형식화된 XML 에 대해서 이해한다 .

▫ 사용 SQL 문 예SELECT * FROM userTbl FOR XML RAW, ELEMENTS, XMLSCHEMA

< 실습 2> 형식화된 XML

Page 5: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

15 장 . XML

5 / 7

XML 인덱스

• 개요 XML 데이터형식에도 인덱스를 생성할 수 있음 기본 XML 인덱스와 보조 XML 인덱스가 있음 .

▫ 실습 목표 XML 인덱스를 이해하고 사용해 본다 .

▫ 사용 SQL 문 예 (XML 인덱스 생성 )CREATE PRIMARY XML INDEX xmlIdx_indexXmlTbl_xmlInfo

ON indexXmlTbl (xmlInfo);

< 실습 3> XML 인덱스

Page 6: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

15 장 . XML

6 / 7

쿼리의 결과를 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 절

Page 7: 뇌를 자극하는  SQL Server 2005

뇌를 자극하는 SQL Server 2005

15 장 . XML

7 / 7

XML 데이터 일반 쿼리의 결과 (OPENXML)

• 처리 순서1. XML 데이터를 구문 분석 (sp_xml_preparedocument 프로시

저 )2. OPENXML 함수를 사용해서 문서의 행 집합을 생성3. 메모리 해제 (sp_xml_removedocument)

▫ 실습 목표 OPENXML 의 사용법을 확인해 본다 .

▫ 사용 SQL 문 예SELECT * FROM OPENXML(@handle, '/root/userTbl',0)

WITH (userId nchar(8), name nvarchar(10), addr nchar(4) ); -- 표 형태로 데이터 처리

< 실습 5> XML 데이터를 일반쿼리로 변경