SQL VE TSQL DERS 23: VIEWS

Adsız

/*
Viewler karmaşık sorguları basitleştirmek, sorgu süresini kısaltmak,
erişim izinlerini düzenlemek vb. nedenlerden dolayı kullanılan
sanal tablolardır.

Viewlerde order by kullanılamaz.
İsimsiz kolon bırakılamaz mesela Sum kullandık as ile başlık yazmamız gerekir.
Birden fazla sorgu yazılamaz yani sadece 1 adet select sorgusu çalıştırabilir.
Insert, Delete, Update kullanılamaz.
Parametre alıp, yollayamazlar.

Özellikle joinli yapılarda tercih edilirler. 
*/

create view vw_uyeKitap
As
( select uyeAdSoyad,kitapAd from uye,kitap,teslimat where uyeNo=uyeId and kitapNo=kitapId )

-- view oluşturma kodu (Üyeleri ve aldıkları kitapları listeler)

select * from vw_uyeKitap  -- view execute kodu

alter view vw_uyeKitap
as
( select uyeAdSoyad,kitapAd from uye,kitap,teslimat where uyeNo=uyeId and kitapNo=kitapId )
-- view güncelleme kodu, alter ile güncelleyebiliriz.

drop view vw_uyeKitap -- view silme kodu
-- Birde joinli view örneği yapalım

create view vw_yazarKitapJoin
as
(
select yazarAdSoyad,kitapAd from yazar left join kitap on yazarNo=yazarId 
)

select * from vw_yazarKitapJoin

VİEW ŞİFRELEME

alter view vw_uyeKitap With Encryption
as
( select uyeAdSoyad,kitapAd from uye,kitap,teslimat where uyeNo=uyeId and kitapNo=kitapId )

-- With Encryption ile viewi şifreleyebiliriz. Yani design açılmaz, gizleyebiliriz.