XML giriş ve çıkışına genel bakış

Hem ilişkisel hem de XML verilerini yöneten Db2® veritabanı sunucusu, XML belgelerinin girişi ve çıkışı için çeşitli yöntemler sunar.

XML belgeleri, XML veri tipiyle tanımlanmış sütunlarda depolanır. Bir XML kolonunun her satırı, düzgün biçimlendirmiş tek bir XML belgesi bulundurur. Saklanan belge, XML veri modelini koruyarak hiyerarşik biçiminde tutulur; belge, metin olarak saklanmaz ya da farklı bir veri modelede eşlenmez.

XML kolonları, diğer tiplerin kolonlarını içeren, ilişkisel veri bulunduran ve tek bir çizelge için birden çok XML kolonu tanımlanabilen tablolarda tanımlanabilir.

Giriş

Şekil 1 , XML verilerinin veritabanı sistemine nasıl yerleştirebileceğinin çeşitli yollarını gösterir.
Şekil 1. XML verilerinin girişi için yöntemler
Araya ekleme, güncelleme, yükleme, içe aktarma ya da ayrışım yoluyla XML veri girişi gerçekleşir.

Hangi giriş yönteminin kullanacağınız, gerçekleştirmek istediğiniz göreve bağlıdır:

Ekle ya da güncelle
Doğru biçimli belgeler, INSERT SQL deyimini kullanarak XML kolonlarına eklenir. Bir belge başarıyla ayrıştırılabildiğinde doğru biçimlendirilir. Bir araya ekleme ya da güncelleme işlemi sırasında XML belgelerinin geçerlilik denetimi isteğe bağlıdır. Geçerlilik denetimi gerçekleştirilirse, XML şemasının önce XML şeması havuzuna (XSR) kaydettirilmesi gerekir. Belgeler UPDATE SQL deyimi kullanılarak ya da XQuery güncelleme ifadeleri kullanılarak güncelleştirilir.
Ek açıklamalı XML şeması ayrıştırma
XML belgelerindeki veriler, ek açıklamalı XML şeması ayrıştırması kullanılarak ayrıştırılabilir ya da ilişkisel ve XML kolonlarında saklanabilir. Ayrışım, XML şeması belgelerine eklenen ek açıklamalara göre sütunlardaki verileri depolar. Bu ek açıklamalar, XML belgelerindeki verileri tabloların sütunlarına eşler.

Ayrışım özelliğinin gönderme yaptığı XML şeması belgeleri, XML şeması havuzunda (XSR) saklanır.

Import (İçe Aktarma)
XML belgeleri, içe aktarma yardımcı programı kullanılarak XML kolonlarına aktarılabilir. İçe aktarılmakta olan XML belgelerinin geçerlilik denetimi isteğe bağlıdır. Geçerlilik denetimi gerçekleştirilirse, belgelerin doğrulandığı XML şemasının önce XML şeması havuzuna (XSR) kaydettirilmesi gerekir.
XML şeması havuzu (XSR) kaydı
XML şeması havuzu (XSR), XML belgelerinin doğrulanması ya da ayrıştırılması için kullanılan XML şemalarını saklar. XML şemalarının kaydedilmesi genellikle, bu şemalar üzerinde bağımlılığı olan XML belgelerinde gerçekleştirilen diğer görevler için bir önkoşuldur. XML şemaları, saklanmış yordamları ya da komutları kullanarak XSR ' ye kaydedilir.

Çıkış

Şekil 2 , XML verilerinin veritabanı sisteminden alınabileceği çeşitli yolları gösterir.
Şekil 2. XML verilerinin çıkışına ilişkin yöntemler
XML verileri, XQuery, SQL ya da dışa aktarma yardımcı programı ile alınır.

Hangi çıkış yönteminin kullanılacağını, gerçekleştirmek istediğiniz göreve bağlıdır:

XQuery
XQuery, XML belgeleri içinde sorgu gerçekleştirmenize olanak sağlayan bir dildir. Öngörülebilir bir yapı bekleyen ilişkisel verilerdeki sorgulardan farklı olarak, yapılarda yüksek düzeyde değişken olan XML verilerinin sorgulanması için belirli gereksinimleri ele alır.

XQuery kendi başına çağrılabilir ya da db2-fn:xmlcolumn ve db2-fn:sqlquery XQuery işlevleriyle, bir Db2 veritabanında saklanan XML 'i sorgulamak için SQL' i çağırabilirler. db2-fn:xmlcolumn , bir XML kolonunun tamamını alır; db2-fn:sqlquery , bir SQL tam seçimiyle (fullselect) temel alan XML değerlerini alır.

SQL
Bir SQL tam seçimi kullanılarak XML verileri sorgulanırken, sorgu kolon düzeyinde gerçekleşir. Bu nedenle, sorgudan yalnızca tüm XML belgeleri döndürülebilmektedir; yalnızca SQL kullanılarak bir XML belgesinin parçaları döndürülmesi olanaklı değildir. XML belgeleri içinde sorgu yapmak için XQuery kullanılmalıdır. XQuery, XMLQUERY ya da XMLTABLE SQL/XML işlevleri ya da XMLEXISTS koşullandırmaları kullanılarak SQL ' den çağrılabilir. XMLQUERY işlevi, XQuery ifadesinin bir XML sırası olarak sonucunu döndürür. XMLTABLE işlevi, bir XQuery ifadesinin sonucu çizelge olarak döndürür. XMLEXISTS SQL karşılaştırma belirtimi, XQuery ifadesinin boş olmayan bir sıra döndürip döndürmeyeceğini belirler.

Ayrıca, Db2 veritabanı sunucusunda saklanan XML verilerinden XML değerleri oluşturmak için bir dizi yayınlama işlevi de vardır. Bu yayınlama işlevleriyle oluşturulan XML değerleri, doğru biçimli XML belgeleri olmak zorunda değildir.

İhracat
XML belgeleri dışa aktarma yardımcı programı kullanılarak XML kolonlarından dışa aktarılabilir. Dışa aktarılan XML verileri, ana veri dosyasında dışa aktarılan ilişkisel verilerden ayrı olarak saklanır. Dışa aktarılan her XML belgesine ilişkin ayrıntılar doğrudan doğruya ana aktarılan veri dosyasında saklanmaz. Ayrıntılar, bir XML veri belirticisi (XDS) tarafından ana veri dosyasında gösterilmek yerine bulunur.