T-SQL View Yapısı

View’ler, sanal tablolar olarak düşünülebilecek T-SQL nesneleridir. Temelde bir veya daha fazla tablodan seçilen verileri sanki bir tabloymuş gibi göstermek için kullanılırlar.

Kullanıcıların doğrudan tablolara erişimi yerine, sadece belirli sütunları gösteren view’lere erişim sağlanabilir.

Karmaşık sorguları view’ler içinde saklayarak, basit SELECT ifadeleriyle bu karmaşıklığı gizleyebilirsiniz. Farklı veritabanlarındaki veya sunuculardaki tabloları birleştirmek için kullanılabilir.

View’ler veri içermez, sadece bir tanım içerir. Her çağrıldığında temel tablolardan veriyi çeker. View’ler doğrudan parametre alamaz, ancak WHERE koşullarında değişkenler kullanılabilir.

View içerisinde INSERT/UPDATE/DELETE işlemlerine izin verilir. View içerisinde yapılan bu işlemler gerçek tabloya yansıltılmaktadır.

Normal de view yapıları sanal tablolar olduğu için üzerinde bir index yapısı oluşturulduğunda view yapımız gerçek bir tablo şekline bürünmektedir. Sayfamızdaki indexed view makalesinde detaylı bir şekilde öğrenilebilir.

Temel Sözdizimi:

Create

Create view ViewTable
as
--Çalıştırılacak Komutlar..

Aşağıdaki komutla Tablomuzda belirli bir kolonu view aracılığıyla çekebiliriz. View her çalıştırıldığında tablo üzerinden verileri anlık çekilmektedir.

Create view ViewKullanicilar
as
select AdSoyad from Kullanicilar

View üzerinde where komutuyla filtreleme işlemi yapılır. Order by ifadesi view içeriğinde kullanılmaz view çağrıldıktan sonra sıralanmaktadır. View içerisinde order by ifadesinin kullanılması için TOP ifadesinin kullanılması gerekmektedir.

select*from ViewKullanicilar where AdSoyad like 'Ali%'
select*from ViewKullanicilar order by AdSoyad 

Top ifadesi kullanılmazsa hata mesajıyla karşılaşmaktadır.

Create view ViewKullanicilar2
as
select top 5 *from Kullanicilar order by AdSoyad

Veritabanı altında view sekmesi altında görülmektedir.

Sql serverda herhangi bir view’in içerisinde hangi sorgunun olduğunu kısa yoldan kontrol etmek için aşağıdaki komut kullanılmaktadır.

sp_helptext 'view_name'

Oluşturduğumuz view üzerinde insert işlemi yapıldığında gerçek tablomuz üzerinde yapılmaktadı. Aynı işlem update delete ifadeleri içinde geçerlidir.

insert ViewKullanicilar3(KullaniciID,AdSoyad)values(31,'FURKAN')
delete from ViewKullanicilar3 where KullaniciID=31
update ViewKullanicilar3 set AdSoyad='KADIRR' where KullaniciID=30

Olurturulan view yapısına sağ tıklayıp design dersek kaynak tablomuzu görebiliriz.

WITH CHECK OPTIONWITH: View üzerinden yapılan değişikliklerin view’in WHERE koşuluna uymasını sağlar. Aşağıdaki resimde view şart ifadesinde belirtildiği gibi a ile başlıyan karakterleri insert edilebilirken a harfi ile başlamayan ifadeleri aşağıdaki resimde görüldüğü gibi hata mesajı vermektedir.

Bu makalede view konusunu detaylı bir şekilde görmüş olduk. Başka makalede görüşmek dileğiyle..

“Şüphesiz güçlükle beraber bir kolaylık vardır. Gerçekten, güçlükle beraber bir kolaylık vardır.” İnşirah Suresi 5-6

Author: Yunus YÜCEL

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir