SQL 2008’de XML’i rahatça kullanmak


Veritabanında XML kullanmanız gerekiyor ama kullanım şekli size rahat gelmediği için sıkıntı yaşıyorsanız, yalnız değilsiniz. Benzer durumda pek çok kişi var.

Microsoft SQL 2008’de tablolarda XML kullanımını hayli kolaylaştıran bir yöntem geliştirmiş. Biraz başka konular altında gizli bir bilgi gibi. Nasıl yapıldığını burada detaylı anlatmayacağım, ama konuyla ilgili kişilere yol gösterecek kadar ipucu vereceğim.

Öncelikle bir tablonuz var. Bu tabloda standart kolonlarınızın yanısıra, XML olarak tutulmasını istediğiniz kolonlar da var. XML olarak tutulmasını istediğiniz kolonları SPARSE olarak tanımlayın. Sonra da tabloda XML tipinde bir kolon tanımlayın ve buna COLUMN_SET FOR ALL_SPARSE_COLUMNS deyin.

Bu işlemler sonucunda neler elde ediyorsunuz:

– Sparse kolonlara her zamanki şekilde insert, update gibi işlemlerinizi yapabiliyorsunuz.
– Bu tabloya Select * ile başlayan bir sorgu çektiğinizde, sparse olmayan kolonlar sıralanıyor, sparse kolonlar ise sadece xml tek bir kolon gibi sıralanıyor.
– Tabloya for xml auto ile sorgu çektiğinizde, sparse olmayan kolonlar attribute olarak, sparse olan kolonlar ise embedded elementler olarak görüntüleniyor.

Veritabanında XML’le işiniz olmuyorsa, bu kadarcık bilgi genel kültür olarak bulunsun. Veritabanında XML’le işiniz oluyorsa, bu konuyu Books Online’dan hemen araştırın. Yukarıda yazdıklarım nelere bakmanız gerektiği ve ne elde edebileceğiniz konusunda umarım yeterince ipucu olmuştur.

Bu yazı SQL Server 2008 içinde yayınlandı. Kalıcı bağlantıyı yer imlerinize ekleyin.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google fotoğrafı

Google hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s