다음을 통해 공유


주석이 추가된 XSD 스키마 소개(SQLXML 4.0)

적용 대상: SQL ServerAzure SQL Database

XSD(XML 스키마 정의) 언어를 사용하여 관계형 데이터의 XML 뷰를 만들 수 있습니다. 그런 다음 XPath(XML 경로 언어) 쿼리를 사용하여 이러한 뷰를 쿼리할 수 있습니다. CREATE VIEW 문을 사용한 다음 뷰에 대해 SQL 쿼리를 지정하여 뷰를 만드는 것과 비슷합니다.

XML 스키마는 XML 문서의 구조를 설명하고 문서의 데이터에 대한 다양한 제약 조건에 대해서도 설명합니다. 스키마에 대해 XPath 쿼리를 지정하면 반환되는 XML 문서의 구조는 XPath 쿼리가 실행되는 스키마에 의해 결정됩니다.

XSD 스키마<에서 xsd:schema> 요소는 전체 스키마를 묶습니다. 모든 요소 선언은 xsd:schema> 요소 내에 <포함되어야 합니다. 스키마가 있는 네임스페이스와 스키마에서 xsd:schema> 요소의 <속성으로 사용되는 네임스페이스를 정의하는 특성을 설명할 수 있습니다.

유효한 XSD 스키마에는 다음과 같이 정의된 xsd:schema> 요소가 포함되어<야 합니다.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">  
<!-- additional schema definitions here -->  
</xsd:schema>  

<xsd:schema> 요소는 XML 스키마 네임스페이스 사양에서 http://www.w3.org/2001/XMLSchema파생됩니다.

XSD 스키마에 대한 주석

데이터베이스에 대한 매핑을 설명하는 주석과 함께 XSD 스키마를 사용하고, 데이터베이스를 쿼리하고, 결과를 XML 문서 형식으로 반환할 수 있습니다. XSD 스키마를 데이터베이스 테이블 및 열에 매핑하기 위한 주석이 제공됩니다. XPath 쿼리는 XSD 스키마에서 만든 XML 뷰에 대해 지정하여 데이터베이스를 쿼리하고 결과를 XML로 가져올 수 있습니다.

참고 항목

Microsoft SQLXML 4.0에서 XSD 스키마 언어는 SQL Server 2000(8.x)에서 주석이 추가된 XDR(XML-Data Reduced) 스키마 언어로 도입된 주석을 지원합니다. 주석이 추가된 XDR은 SQLXML 4.0에서 더 이상 사용되지 않습니다.

관계형 데이터베이스 컨텍스트에서는 임의의 XSD 스키마를 관계형 저장소에 매핑하는 것이 유용합니다. 이 작업을 수행하는 한 가지 방법은 XSD 스키마에 주석을 추가하는 것입니다. 주석이 있는 XSD 스키마를 매핑 스키마라고 하며, 이 스키마는 XML 데이터를 관계형 저장소에 매핑하는 방법과 관련된 정보를 제공합니다. 매핑 스키마는 궁극적으로 관계형 데이터에 대한 XML 뷰로 생각할 수 있습니다. 이러한 매핑을 사용하여 관계형 데이터를 XML 문서로 검색할 수 있습니다.

주석에 대한 네임스페이스

XSD 스키마에서 주석은 네임스페이스 urn:schemas-microsoft-com:mapping-schema를 사용하여 지정됩니다. 다음 예제와 같이 네임스페이스를 지정하는 가장 쉬운 방법은 xsd:schema> 태그에 <지정하는 것입니다.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"   
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">  
...  
</xsd:schema>  

사용되는 네임스페이스 접두사는 임의입니다. 이 설명서 에서 sql 접두사는 주석 네임스페이스를 나타내고 이 네임스페이스의 주석을 다른 네임스페이스의 주석과 구분하는 데 사용됩니다.

주석이 추가된 XSD 스키마의 예

다음 예제에서 XSD 스키마는 Person.Contact> 요소로 <구성됩니다. <Employee> 요소에는 ContactID 특성과 <FirstName> 및< LastName> 자식 요소가 있습니다.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">  
  <xsd:element name="Contact" >  
   <xsd:complexType>  
     <xsd:sequence>  
        <xsd:element name="FName"    
                     type="xsd:string" />   
        <xsd:element name="LName"  
                     type="xsd:string" />  
     </xsd:sequence>  
        <xsd:attribute name="ConID" type="xsd:integer" />  
    </xsd:complexType>  
  </xsd:element>  
</xsd:schema>  

이 XSD 스키마에 주석이 추가되어 해당 요소와 특성을 데이터베이스 테이블 및 열에 매핑합니다.

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"  
            xmlns:sql="urn:schemas-microsoft-com:mapping-schema">  
  <xsd:element name="Contact" sql:relation="Person.Contact" >  
   <xsd:complexType>  
     <xsd:sequence>  
        <xsd:element name="FName"  
                     sql:field="FirstName"   
                     type="xsd:string" />   
        <xsd:element name="LName"    
                     sql:field="LastName"    
                     type="xsd:string" />  
     </xsd:sequence>  
        <xsd:attribute name="ConID"   
                       sql:field="ContactID"   
                       type="xsd:integer" />  
    </xsd:complexType>  
  </xsd:element>  
</xsd:schema>  

매핑 스키마<에서 Contact> 요소는 sql:relation 주석을 사용하여 샘플 AdventureWorks2022 데이터베이스의 Person.Contact 테이블에 매핑됩니다. ConID, FName 및 LName 특성은 sql:field 주석을 사용하여 Person.Contact 테이블의 ContactID, FirstName 및 LastName 열에 매핑됩니다.

주석이 추가된 이 XSD 스키마는 관계형 데이터의 XML 보기를 제공합니다. 이 XML 뷰는 XPath 언어를 사용하여 쿼리할 수 있습니다. XPath 쿼리는 SQL 쿼리에서 반환되는 행 집합 대신 XML 문서를 반환합니다.

참고 항목

매핑 스키마에서 지정된 관계형 값(예: 테이블 이름 및 열 이름)에 대한 대/소문자 구분은 SQL Server에서 대/소문자를 구분하는 데이터 정렬 설정을 사용하는 경우에 따라 달라집니다. 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하십시오.

기타 리소스

다음 웹 사이트에서 XSD(XML 스키마 정의 언어), XPath(XML 경로 언어) 및 XSLT(Extensible Stylesheet Language Transformations)에 대한 자세한 내용을 확인할 수 있습니다.

참고 항목

주석이 추가된 스키마 보안 고려 사항(SQLXML 4.0)
주석이 추가된 XDR 스키마(SQLXML 4.0에서는 사용되지 않음)