Aracılığıyla paylaş


SQL Server XML anlama

Bu konuda neden, kullanılması gereken XML nedenleri açıklanırSQL Server.Ayrıca yerel XML depolama XML görünümü teknoloji arasında seçim yapma yönergeleri verilmiştir ve veri modelleme öneriler sunar.

İlişkili veya XML veri modeli

If your data is highly structured with known schema, the relational model is likely to work best for data storage.SQL Server provides the required functionality and tools you may need.Öte yandan, yapı semi-structured yapılandırılmamış veya bilinmeyen, modelleme gibi veriler için dikkat etmeniz gereken vermek sahip.

Yapısal ve semantik biçimlendirme kullanarak veri taşınabilirliği sağlamak için bir platformdan bağımsız modeli isterseniz XML iyi bir seçimdir.Ayrıca, aşağıdaki özelliklerden bazıları yerine, uygun bir seçenek şöyledir:

  • Verilerinizi seyrek verinin yapısını biliyor veya veri yapısı gelecekte önemli ölçüde değişebilir.

  • Verilerinizi başvuruları, varlıklar arasındaki yerine içerik hiyerarşisini temsil eder ve yinelemeli olabilir.

  • Verilerinizin içerdiği sıradır.

  • Verileri sorgulamak veya bölümleri, kendi yapısında güncelleştirmek istiyorsunuz.

Bu koşullardan hiçbiri yerine, ilişkisel veri modeli kullanmanız gerekir.Verileri XML biçiminde olsa da uygulamanızın yalnızca depolama ve verileri almak için veritabanı kullanır, örneğin, bir[n]varchar(max)sütundur gereksinim duyduğunuz tüm.Verileri bir XML sütun depolayarak ek yararları vardır.Bu veriler iyi biçimlendirilmemiş ya da geçerli ve hassas sorgu ve güncelleştirme desteği XML verileri de içeren alt yapısı olan içerir.

SQL Server XML verilerini depolama nedenleri

Aşağıda, bazı nedenleri kullanımı yerel XML özellikleriSQL Serverdosya sisteminde, XML verilerini yönetmek yerine:

  • Paylaşımı, sorgu ve verimli ve işlenen bir şekilde, XML verilerini değiştirmek istiyorsunuz.Hassas veri erişim uygulamanız için önemlidir.Örneğin, bazı bölümlerde bir XML belgesi içindeki çıkarmak isteyebilirsiniz veya tüm belgeyi değiştirmeden yeni bir bölüm eklemek isteyebilirsiniz.

  • İlişkisel veri ve XML verilerini kullandığınız ve her ikisi de ilişkisel arasındaki birlikte işlerlik istiyorsanız ve XML verilerini uygulamanız içinde.

  • Etki alanları arası uygulamalar için sorgu ve veri değişikliği için dil desteği gerekir.

  • Sunucunun veri iyi biçimlendirilmiş garanti ve ayrıca isteğe bağlı olarak, verileri XML şemaları doğrulamak istediğiniz.

  • Etkin sorgu işleme ve iyi bir ölçeklenebilirlik ve first-rate sorgu iyileştirici XML verilerinin dizin istediğiniz.

  • ADO.NET, SOAP, istediğiniz ve OLE DB, XML verilerine erişebilirsiniz.

  • İstediğiniz veritabanı sunucusunun yönetim işlevleri, XML verilerini yönetmek için kullanın.Örneğin, bu yedek, Kurtarma ve çoğaltma olacaktır.

Bu koşullardan hiçbiri yerine, onu olabilir gibi bir non-XML olarak büyük nesne türü, veri depolama daha iyi[n]varchar(max)orvarbinary(max).

XML depolama Seçenekleri

XML depolama seçenekleriSQL Serverşunları içerir:

  • Yerel depolama alanı olarakxmlveri türü

    Verileri, verileri XML içeriğini korur dahili bir gösterim depolanır.Bu iç gösterim içerik hiyerarşisi, belge düzeni ve öðe ve öznitelik değerleri hakkında bilgi içerir.Özellikle, XML verilerini InfoSet içeriği korunur.InfoSet, daha fazla bilgi için ziyaret edinhttp://www.w3.org/TR/XML-infoset.The InfoSet içerik için aşağıdaki bilgileri korunmaz XML metni aynı bir kopyası olmayabilir: anlamsız boşluk, niteliklerini, ad alaný önekleri ve XML bildirim.

    İçin yazılanxml veri türü, birxmlveri türüne bağlı XML şemalarını post-schema doğrulama InfoSet (PSVI) the InfoSet türü bilgilerini ekler ve kodlanmış iç gösterimi.Bu ayrıştırma hızını önemli ölçüde artırır.Daha fazla bilgi için adresindeki W3C XML şema özellikleri Bkz:http://www.w3.org/TR/XMLSchema-1 ve http://www.w3.org/TR/xmlschema-2 .

  • XML ve ilişkili depolama arasındaki eşlemeyi

    Bir metin notlu XML şeması (AXSD) kullanarak, XML bir veya daha fazla tablolardaki sütunlara decomposed.Bu düzeyde ilişkisel veri kalitesini korur.Sonuç olarak, öğeler arasında sırasını göz ardı edilir, ancak hiyerarşik yapısı korunur.Yinelenen şema olamaz.

  • Büyük nesne depolama[n]varchar(max)vevarbinary(max)

    Benzer bir kopyası depolanır.Bu, yasal belgeler gibi özel amaçlı uygulamalar için kullanışlıdır.Çoğu uygulama, tam bir kopyasını gerektirir ve XML içeriğiyle (InfoSet doğruluk) memnun.

Genellikle bu yaklaşımlardan birleşimini kullanmanız gerekebilir.XML verilerinizi saklamak isteyebilirsiniz örneğin, birxmlveri sütunu girin ve yükseltme özelliklerini, ilişkili sütun.Eşleme teknoloji yinelenmeyen bölümlerinde olmayan XML sütunlar ve yalnızca yinelenen bölümlerini depolamak için kullanmak istediğinizxml veri türü sütun.

XML teknolojisi seçimi

Seçim XML teknolojisi, yerel XML ve XML görünümü, genellikle aşağıdaki etkenlere bağlıdır:

  • Depolama Seçenekleri

    XML verileri (örneğin, bir ürün Kılavuzu), büyük nesne depolama için daha uygun olabilir veya depolama ortamına (örneğin, bir satır öğesi XML biçimine dönüştürülen) ilişkili sütundaki daha amenable.Her bir depolama seçeneği farklı ölçüde belge kalitesini korur.

  • Sorgu özellikleri

    Bir depolama seçeneği başka çok daha uygun yapısı, sorguların ve XML verilerinizi sorgu kapsam bulabilirsiniz.XML verileri, XML düğümlerinde, koşul değerlendirme hassas sorgusu için değişen derecelerde iki depolama seçenekleri desteklenmektedir.

  • XML verilerini dizin oluşturma

    XML verilerinin XML sorgu performansını hızlandırmak için dizin oluşturmak isteyebilirsiniz.Dizin oluşturma seçenekleri ile depolama seçenekleri değişir; iş yükünüzü en iyi duruma getirmek için uygun seçim yapmanız gerekir.

  • Veri değiştirme özellikleri

    Bazı iş yükleri, XML veri hassas değişikliğini içerir.Örneğin, bu gibi Web içeriğini, diğer iş yükleri yoktur ancak bir belge içinde yeni bir bölüm eklemek olabilir.Veri değiştirme dili desteği, uygulamanız için önemli olabilir.

  • Şema desteği

    XML verileri bir XML şema belgesi olmayabilir veya bir şema tarafından açıklanan.XML teknolojisini şemaya bağlı XML desteğine bağlıdır.

Farklı seçenekler farklı performans özellikleri de vardır.

Yerel XML depolama

, XML verilerinizi depoladığınız birxmlveri türü sütun. enAşağıdakiler uygulanır, uygun bir seçimdir:

  • İstediğiniz sunucuda XML verileri depolamak ve aynı zamanda, belge düzenini ve korumak için basit bir yol yapısını.

  • Edebilir veya bir şema, XML verileri olmayabilir.

  • Sorgu ve XML verileri değiştirmek istiyorsunuz.

  • XML verilerini daha hızlı sorgu işleme için dizin oluşturmak istediğiniz.

  • XML verileri ve XML şemalarını yönetmek için sistem katalog görünümlerini uygulamanız gerekir.

XML belgelerinin yapılarını bir dizi olan varsa, yerel XML depolama yararlıdır ve ilişkisel yapılarına eşlemek için çok zor olan farklı veya karmaşık şemaları uygun XML belgeleri olması.

Örnek: XML verileri kullanarak xml veri türü modelleme

Ürün el ile her konu için ayrı bir bölüm oluşur ve her bölüm içinde birden çok bölüm içeren XML biçiminde göz önünde bulundurun.Alt bölüm içerebilir.Sonuçta,<bölüm>yinelenen bir öğe.Karışık içerik, Diyagram ve teknik malzemeleri büyük miktarda ürün kılavuzlarını içerir; veri semi-structured.Kullanıcılar, "kümelenmiş dizin" bölümüne arama gibi ilgi konularına kavramsal bir arama yapmak bu bölümün "dizin" ve sorgu teknik miktarları içinde isteyebilirler.

Bir XML belgeleri için uygun depolama modeli birxmlveri türü sütununu tıklatın.Bu, XML verilerini InfoSet içeriğini korur.XML dizin oluşturma performansını sütun yararları sorgular.

Örnek: XML verilerini tam kopya koruma

Gösterim amacıyla devlet düzenlemeleri, tam metin, XML belgelerinin kopyalarını korumak gerekli olduğunu varsayalım.Örneğin, bu imzalı belge, yasal belgeler veya hisse senedi işlem emirleri içerebilir.Belgelerinizi saklamak istediğiniz bir[n]varchar(max)sütun.

Dönüştürme verileri, sorgulamak içinxmlveri türü çalışma saat ve Xquery üzerinde it.Belge özellikle büyük çalıştırma dönüştürme, pahalı olabilir.Gereğinden sık sorgularsanız, belgeleri saklayabilir birxmlveri sütunu girin ve tam belge kopyaları arasında iade ederken dizin[n]varchar(max)sütun.

The XML sütuna göre hesaplanan bir sütun olabilir[n]varchar(max)sütun.Bununla birlikte, hesaplanan, bir XML sütun üzerinde XML dizin oluşturamıyor veya XML dizin olarak oluşturulmuş[n]varchar(max) orvarbinary(max)sütun.

XML görünüm teknolojisi

Bir veritabanı, XML şemaları ve tablolar arasında bir eşleme tanımlayarak, bir "XML", sürekli verilerin görünümünü oluşturun.Toplu yükleme XML, XML görünümü kullanarak temel tabloların doldurmak için kullanılabilir.XML görünüm XPath 1.0 sürüm kullanarak sorgu yürütebilir; sorgu tabloları SQL sorgularını çevrilir.Benzer şekilde, güncelleştirmeler için bu tabloları yayılır.

Bu teknoloji aşağıdaki durumlarda yararlıdır:

  • Varolan ilişkisel veri üzerinde XML görünümlerini kullanarak bir XML merkezli programlama modeli olmasını istiyorsanız.

  • Bir dış ortak sağlanan XML veri için bir şema (XSD, XDR) var.

  • Özyinelemeli sorgu tablosu veri değil sırası, verilerinizi önemli değildir veya maximal özyineleme derinliği önceden bilinir.

  • Sorgu ve XPath 1.0 sürüm kullanarak verileri XML görünümü ile değiştirmek istiyorsunuz.

  • İstediğiniz toplu yükleme XML verileri ve temel tablolara kullanarak decompose XML görünümü.

İlişkisel veri XML olarak veri değişimi ve Web Hizmetleri ve sabit bir şema XML verileriyle gösterilen örnek verilebilir.Daha fazla bilgi için bkz:MSDN Çevrimiçi Kitaplığı.

Örnek: Bir metin notlu XML şeması (AXSD) kullanarak veri modelleme

Örnek için Müşteriler, siparişler ve XML olarak işlemek istediğiniz satır öğesi gibi varolan ilişkisel veri olduğunu varsayalım.İlişkisel veri AXSD kullanarak bir XML görünümünü tanımlayın.XML görünümü, yığın, tablo ve sorgu XML verilerini yüklemek ve XML görünümünü kullanarak ilişkisel veri güncelleştirme sağlar.Bu modelde, SQL uygulamalarınızı kesintiye uğramadan çalışmanız sırasında diğer uygulamaları ile XML biçimlendirmesi içeren bir veri varsa yararlıdır.

Karma model

Sık sık bir arada ilişkisel vexml veri türü sütunlarındaki için modelleme.Bazı XML veri değerleri, ilişkili sütun ve kalan depolanabilir veya tüm XML değeri bir XML sütununda depolanır.Kilitleme özellikleri ve ilişkili sütunlar üzerinde dizinler üzerinde daha fazla denetiminiz vardır, bu daha iyi performans sağlayan.

İlişkili sütun saklamak için değerleri iş yükünüzü bağlıdır.Yol ifadesi /Customer/@CustId, temel XML değerleri almak için değeri örneğin, yükseltmeCustId öznitelik, ilişkili sütun ve dizin, verim daha hızlı sorgu performansı.Diğer taraftan, ilişkili sütuna nonredundantly ve yaygın olarak, XML verilerini decomposed, yeniden derleme maliyeti önemli olabilir.

Yapılandırılmış XML verileri, tablo içeriğini XML'e dönüştürülmüş; tüm ilişkili sütun eşleme ve büyük olasılıkla XML görüntüleme teknolojisini kullanır.

XML veri taneciklik

The granularity of the XML data stored in an XML column is very important for locking and, to a lesser degree, it is also important for updates.SQL Server uses the same locking mechanism for both XML and non-XML data.Bu nedenle, satır düzeyinde kilitleme XML hepsinin kilitlenmesine satır olur.taneciklik büyük olduğunda büyük XML örneği güncelleştirmeleri kilitleme çok kullanıcılı bir senaryoda reddetmek üretilen iş sağlar.Öte yandan, önemli decomposition Nesne Kapsülleme kaybeder ve yeniden birleştirme maliyeti artırır.

Veri modelleme gereksinimleri ve kilitleme ve güncelleştirme özellikleri arasında bir denge iyi tasarım için önemlidir.AncakSQL Server, gerçek depolanan XML örneklerinin boyutunu da önemli değildir.

Örneğin, bir XML örnek güncelleştirmeleri varolan depolanan XML örnek, sürümle karşılaştırılır kısmi ikili büyük nesne (BLOB) ve kısmi dizin güncelleştirmeleri için yeni desteğini kullanarak gerçekleştirilir.Kısmi ikili büyük nesne (BLOB) güncelleştirmesi iki XML örneği arasında fark bir karşılaştırma gerçekleştirir ve yalnızca farklar güncelleştirir.Kısmi dizin güncelleştirmeleri XML dizin değiştirilen satırları değiştirin.

Bu Bölümde

Konu

Açıklama

XML verisi yükleniyor

XML verilerini içe aktarmak nasıl açıklarSQL Server.

Iş mantığı ekleme

XML verilerini nasıl iş mantığı açıklar.

See Also

Other Resources