View'ler
Tablo gibi davranan veritabanı nesnesidir.
Özellikleri
1- Sadece bir adet select sorgusundan oluşur.
2- Tablo gibi sorgulanabilir.
3- Yeni kayıt eklenebilir. (Gruplama sorguları ve diğer bazı durumlar hariç)
4- Mevcut kayıtlar değiştirilebilir. (Gruplama sorguları ve diğer bazı durumlar hariç)
5- Kayıtlar silinebilir. (Gruplama sorguları ve diğer bazı durumlar hariç)
6- Bazı kolonlar hesaplama ile oluşabilir. Bu kolonlar güncellenemez.
7- Tablodaki kısıtlamalar view’leri de etkiler.
8- View’i oluşturan sorguda ORDER BY deyimi bulunamaz.
View’e veri eklediğimizde veri nereye yazılır?
Veri view’e yazılmaz, bağlı bulunduğu tabloya yazılır.
View’in oluşturulması, değiştirilmesi ve silinmesi
VIEW Oluşturma
CREATE VIEW viewAdı AS sorgu
Mevcut VIEW'i değiştirme
ALTER VIEW viewAdı AS sorgu
Mevcut VIEW'i silme
DROP VIEW viewAdı
View örnekleri
View’i örneklerle açıklayalım. Bunun için sipariş Detay isimli tabloyu kullanalım.
Örnekte kullanacağımız tablo
Soru : SiparisDetay tablosundan, tutar değerini de içeren vw_SiparisDetay isminde bir view oluşturunuz (tutar = miktar * fiyat)
1. Aşama : Viewin içine koyacağımız sorguyu yazalım.
SELECT *, miktar*fiyat FROM SiparisDetay
View’i örneklerle açıklayalım. Bunun için sipariş Detay isimli tabloyu kullanalım.
Yukarıdaki sorguda, kolon ismi olmadığı için view oluşturamayız. Sonuncu kolona Tutar ismini verelim.
SELECT *, miktar*fiyat as Tutar FROM SiparisDetay
2. Aşama :view’i oluşturalım.
CREATE VIEW vw_SiparisDetay AS
SELECT *, miktar*fiyat as Tutar FROM SiparisDetay
Örnek
vw_SiparisDetay view’ini sorgulayarak 4 nolu siparişin içeriğini listeleyiniz.
SELECT * FROM vw_SiparisDetay WHERE siparisno=4
Örnek
vw_SiparişDetay viewini sorgulayarak 4 nolu siparişte bulunun ürünlerin miktar toplamını ve tutar toplamını bulan sorgu yazınız.
SELECT sum(miktar) as ToplamMiktar,
sum(tutar) as ToplamTutar
FROM vw_SiparisDetay
WHERE siparisno=4