SQL’de View Yapısı

Furkan Alaybeg
3 min readJul 23, 2019

--

SQL programlama dilinde esas olarak bilinmesi gereken 4 tane yapı bulunmaktadır. Bu yazıda, bu dört yapıdan biri olan View yapısının ne olduğu, nerelerde kullanıldığı, view oluşturma, güncelleme, silme gibi işlemleri uygulamalı olarak anlatmaya çalışacağım.

Veritabanında birden fazla tabloyu JOIN yapısı ile birleştirip, istediğimiz kolonları getirmek için sorgular yazarız. Ancak elde ettiğimiz sorgu sonucunu ilerde tekrar kullanmak istediğimizde, aynı SQL sorgusunu tekrar yazmamız gerekmektedir. Bu nedenle, her ihtiyacımız olduğunda aynı SQL sorgusunu yazmamak için, View (sanal tablo) yapısı kullanılır.

  • View oluşturuken, sorgumuz doğru çalışıyor mu diye ilk defasında derlenir ve sonrasında sadece çağrılır.
  • Oluşturduğumuz View’lar veriyi içinde tutmaz. Her çağrıldığında sorguyu yeniden çalıştırır.
  • Oluşturulan View’lar normal SQL tablosu gibi çağrılır.
  • View oluştururken OrdeyBy kullanmak istersek, SELECT ifadesi ile birlikte TOP ifadesinin de kullanılması gerekir.

Nerelerde Kullanılır

  • Birden fazla tablodan bilgi görmek istediğimizde, karmaşık sorguları basitleştirmek için;
  • Göstermek istemediğimiz (Maaş, Kredi Kartı, Adres.. gibi) bilgiler için, erişimi engelleyip güvenlik sağlayabiliriz;
  • Karmaşık sorguyu bir defa yazıp, sonrasında normal tablo çağırır gibi sorgu süresini kısaltma gibi yerlerde kullanılmaktadır.

Uygulamalı Örnekler

Bu kısımda View yapısına ait uygulamalı örnekler, MSSQL ortamında NORTHWIND veritabanı kullanılarak gerçekleştirilmektedir.

View Oluşturma (Create View)

Yeni bir view oluşturmak istediğimizde, CREATE VİEW komutu ve View ismi yazılıp, sonrasında AS ifadesiyle View’da çalışmasını istediğimiz sorgu belirlenir. Böylece sorguyu çalıştırdığımızda yeni bir view oluşturmuş oluruz. Yukarıdaki örnekte Sipariş tablosundan istediğimiz kolonları seçip OrdersList isminde yeni view oluşturduk.

View Çağırma (Read View)

Oluşturduğumuz OrderList ismindeki View yapımızı, yukarıda bahsedilen normal SQL tablosu gibi SELECT ile çağırıyoruz.

View Güncelleme (Alter View)

View yapısında güncelleme gerçekleştirmek istendiğinde, ALTER ifadesi kullanılır. ALTER ifadesinden sonra, güncellenecek olan View ismi ve güncelleme sorgusu yazılır. Yukarıdaki örnekte oluşturduğumuz OrdersList View’ına Müşteri tablosunu da ekleyip “Hangi müşterinin hangi siparişi yaptığına dair” OrdersList View yapısını güncellemiş oluruz.

View Silme (Drop View)

Kullanılmayan View yapısının silinmesi istendiğinde, DROP ifadesi kullanılır. DROP ifadesinden sonra, View ismi yazılarak silme işlemi gerçekleştirilir.

Şifreli View Oluşturma (With Encryption)

View’ımızın düzenlenebilirliğini kapatmak için şifreleme işlemi uygulanır. Şifrelenen View’lar üzerinde, artık kendimiz dahi değişiklik yapamayız. Bunun için şifreli view oluştururken view kodlarının da yedeğini bir yerde saklamamız, ilerde değişiklik yapmak istediğimizde gerekli olabilir. Şifreli View, normal view oluşturur gibi View isminden sonra WİTH ENCRYPTIONifadesi eklenerek oluşturulur.

Umarım faydalı bir yazı olmuştur. Diğer yazılarda görüşmek dileğiyle.
İyi Çalışmalar…

--

--

Furkan Alaybeg

Big Data Engineer | SQL | PySpark | Hadoop | Apache Airflow | Apache Flink