Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:SQL Server
Azure SQL Veritabanı
İlişkisel verilerin XML görünümlerini XML olarak oluşturabilirsiniz; XML Şema Tanımı (XSD) dilini kullanarak. Bu görünümler daha sonra XML Yol Dili (XPath) sorguları kullanılarak sorgulanabilir. Bu, CREATE VIEW ifadeleri kullanılarak görünüm oluşturmak ve ardından görünüme karşı SQL sorguları belirtmek gibi bir şeydir.
Bir XML şeması, bir XML belgesinin yapısını tanımlar ve belgedeki veri üzerindeki çeşitli kısıtlamaları da tanımlar. Şema karşısında XPath sorguları belirttiğinizde, döndürülen XML belgesinin yapısı, XPath sorgusunun yürütüldiği şema tarafından belirlenir.
Bir XSD şemasında <xsd:şema> elemanı tüm şemayı kapsar; tüm eleman bildirimleri xsd:şema< öğesi> içinde yer almalıdır. Şemanın bulunduğu isim alanını ve şemada kullanılan isim alanlarını xsd:şema< öğesinin özellikleri> olarak tanımlayabilirsiniz.
Geçerli bir XSD şeması, aşağıdaki şekilde tanımlanan <xsd:şema> elemanı içermelidir:
<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:şema< elemanı,> XML Şema isim alanı spesifikasyonundan türetilmiştir.http://www.w3.org/2001/XMLSchema
XSD Şemasına Açıklamalar
XSD şemasını kullanarak eşlemeyi bir veritabanına tanımlayan, veritabanını sorgulayan ve sonuçları bir XML belgesi şeklinde döndüren açıklamalar içeren bir şema kullanabilirsiniz. XSD şemasını veritabanı tabloları ve sütunlarına eşlemek için açıklamalar sağlanır. XPath sorguları, veritabanını sorgulamak ve sonuçları XML olarak almak için XSD şeması tarafından oluşturulan XML görünümüne karşı tanımlanabilir.
Uyarı
Microsoft SQLXML 4.0'da, XSD şema dili, SQL Server 2000 (8.x)'de açıklamalı XML-Data Azaltılmış (XDR) şema dili ile getirilen açıklamaları destekler. Annotated XDR, SQLXML 4.0'da kullanımdan kaldırılmıştır.
İlişkisel veritabanı bağlamında, keyfi XSD şemasını ilişkisel bir depoya eşlemek faydalıdır. Bunu başarmanın bir yolu XSD şemasını notlama etmektir. Açıklamalarla birlikte bir XSD şeması, XML verilerinin ilişkisel depoya nasıl eşleneceğine dair bilgi sağlayan bir eşleme şeması olarak adlandırılır. Bir eşleme şeması, aslında ilişkisel verinin XML görünümüdür. Bu eşlemeler, ilişkisel verileri XML belgesi olarak almak için kullanılabilir.
Açıklamalar için isim alanı
Bir XSD şemasında açıklamalar, urn:schemas-microsoft-com:mapping-schema adlı isim alanı kullanılarak belirtilir. Aşağıdaki örnekte gösterildiği gibi, isim alanını belirtmenin en kolay yolu bunu xsd:şema< etiketinde belirtmektir>.
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:sql="urn:schemas-microsoft-com:mapping-schema">
...
</xsd:schema>
Kullanılan isim alanı öneki keyfidir. Bu dokümantasyonda, sql öneki annotasyon isim alanını belirtmek ve bu ad alanındaki açıklamaları diğer isim alanlarındakilerden ayırmak için kullanılır.
Annotasyonlu XSD şemasına örnek
Aşağıdaki örnekte, XSD şeması bir <Person.Contact> öğesinden oluşur. Çalışan< öğesinin>bir ContactID özniteliği ve <Birinci> Adı ile <Soyadadı> alt öğeleri vardır:
<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>
Bu XSD şemasına açıklamalar eklenerek elemanlarını ve niteliklerini veritabanı tabloları ve sütunlarına eşlemektedir:
<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>
Eşleme şemasında, <Contact> öğesi örnek veritabanındaki AdventureWorks2025 Person.Contact tablosuna sql:relation açıklaması kullanılarak eşlenir. ConID, FName ve LName öznitelikleri, sql:alan açıklamaları kullanılarak Person.Contact tablosunda ContactID, FirstName ve Soyadı sütunlarına eşlenir.
Bu açıklamalı XSD şeması, ilişkisel verilerin XML görünümünü sağlar. Bu XML görünümü XPath dili kullanılarak sorgulanabilir. Bir XPath sorgusu, SQL sorgularının döndürdüğü sıra kümesi yerine bir XML belgesi döndürür.
Uyarı
Eşleme şemasında, belirtilen ilişkisel değerler (örneğin tablo adı ve sütun adı) için büyük harf hassasiyeti, SQL Server'ın beker-beve duyarlı derleme ayarlarını kullanıp kullanmadığına bağlıdır. Daha fazla bilgi için bkz. Harmanlama ve Unicode Desteği.
Diğer Kaynaklar
XML Şema Tanım Dili (XSD), XML Yol Dili (XPath) ve Genişletilebilir Stil Sayfası Dil Dönüşümleri (XSLT) hakkında daha fazla bilgiyi aşağıdaki web sitelerinde bulabilirsiniz:
XML Şeması Bölüm 0: Primer, W3C Tavsiyesi (https://www.w3.org/TR/xmlschema-0/)
XML Şeması Bölüm 1: Yapılar, W3C Tavsiyesi (https://www.w3.org/TR/xmlschema-1/)
XML Şeması Bölüm 2:Veri tipleri, W3C Önerisi (https://www.w3.org/TR/xmlschema-2/)
XML Yol Dili (XPath) (https://www.w3.org/TR/xpath)
XSL Dönüşümleri (XSLT) (https://www.w3.org/TR/xslt)
Ayrıca Bkz.
Annotated Schema Security Considerations (SQLXML 4.0)
Annotated XDR şemaları (SQLXML 4.0'da kullanımdan kaldırılmıştır)