Excel Eğitimleri

SQL’de views (görünümler), bir veya birden fazla tablodan gelen verilerin belirli bir düzen içinde sanal olarak görüntülenmesini sağlayan yapılar olarak kullanılır. Görünümler, fiziksel bir tablo değil, sorguların sonuçlarına dayanan sanal tablolardır ve karmaşık veri analizlerini basitleştirerek veritabanı yönetiminde önemli bir rol oynar. Bu yazıda, SQL’de görünümler (views) oluşturma ve kullanma tekniklerini detaylı bir şekilde ele alacağız.

sql views görünümler kullanımı

Views Oluşturma

Görünümler, genellikle veritabanı üzerinde karmaşık sorguları sadeleştirmek, verileri daha kullanıcı dostu hale getirmek veya güvenlik amacıyla belirli veri parçalarını kullanıcıdan gizlemek için kullanılır. Görünümler oluşturulduğunda, bunlar tablo gibi davranır, ancak aslında tabloyu temel alan bir sorgudur.

CREATE VIEW Komutu

CREATE VIEW komutu, yeni bir görünüm oluşturmak için kullanılır. Bir görünüm oluşturduğunuzda, veritabanındaki bir veya birden fazla tablodan alınan belirli sütun ve satırlar seçilerek, belirlenen formatta bir sanal tablo yaratılır. Komutun genel yapısı şu şekildedir:

CREATE VIEW view_adı AS

SELECT sütun1, sütun2 

FROM tablo_adı

WHERE koşul;

Örneğin, bir çalışanlar tablosundaki satış departmanına ait çalışanları listeleyen bir görünüm oluşturmak için şu sorgu kullanılabilir:

CREATE VIEW satış_departmanı AS

SELECT isim, pozisyon, maaş

FROM çalışanlar

WHERE departman = ‘Satış’;

Bu komut, çalışanlar tablosundan satış departmanında çalışan kişilerin isim, pozisyon ve maaş bilgilerini içeren bir görünüm oluşturur.

SELECT İfadesi

CREATE VIEW komutunun içinde yer alan SELECT ifadesi, görünümün hangi verileri içereceğini belirler. Bu ifade, tablolardaki belirli sütunları ve satırları seçer ve görünümün temelini oluşturur. Karmaşık sorguların yer aldığı JOIN, GROUP BY, HAVING gibi ifadeler de bu sorguda kullanılabilir.

Örneğin, maaşı 5000’den fazla olan çalışanları listeleyen bir görünüm şu şekilde oluşturulabilir:

CREATE VIEW yüksek_maaşlılar AS

SELECT isim, maaş 

FROM çalışanlar

WHERE maaş > 5000;

Views Kullanma

Bir görünüm oluşturulduktan sonra, bu görünümü bir tablo gibi sorgulayabilirsiniz. Görünümler, arka planda tanımlı olan sorguyu her çalıştırıldığında otomatik olarak günceller ve verilerin en güncel halini döndürür.

View Kullanımı

Bir görünümden veri çekmek, bir tablodan veri çekmeye oldukça benzer. SELECT komutu ile oluşturduğunuz görünümü sorgulayabilirsiniz:

SELECT * 

FROM satış_departmanı;

Bu komut, satış_departmanı görünümünden tüm verileri döndürür. Görünümler, tablolar gibi sorgulanabilir, filtrelenebilir ve hatta birleştirilebilir.

View Güncelleme

Bir görünüm, temel aldığı tablo ya da tablolardaki veriler değiştirildiğinde otomatik olarak güncellenir. Yani, görünümde yer alan veriler her zaman güncel tutulur. Örneğin, çalışanlar tablosuna yeni bir çalışan eklendiğinde veya mevcut çalışanların maaşları güncellendiğinde, görünümde de bu değişiklikler otomatik olarak yansır. Görünümün kendisi sabit bir veri içermez, sadece tablolardan gelen verilerin bir yansımasıdır.

Views ile İleri Kullanım

Görünümler, SQL’de sadece basit veri görüntüleme için değil, aynı zamanda karmaşık işlemleri yönetmek ve veritabanı güvenliğini artırmak için de kullanılabilir.

Karmaşık Sorgular

Sıklıkla kullanılan karmaşık sorguları bir görünüm haline getirerek, bu sorguları tekrar tekrar yazmak zorunda kalmadan kullanabilirsiniz. Bu, SQL sorgularını daha modüler ve yönetilebilir hale getirir. Özellikle birden fazla tabloyu birleştiren (JOIN) sorgular veya grup fonksiyonları (GROUP BY) içeren sorgular, görünüm kullanılarak sadeleştirilebilir.

Örneğin, farklı tabloları birleştiren bir görünüm oluşturabilirsiniz:

CREATE VIEW müşteri_siparişleri AS

SELECT müşteriler.isim, siparişler.sipariş_tarihi, siparişler.toplam_tutar

FROM müşteriler

JOIN siparişler ON müşteriler.müşteri_id = siparişler.müşteri_id;

Bu görünüm, müşteriler ve siparişler tablolarını birleştirerek, müşterilerin isimleri ve sipariş bilgilerini tek bir yapı içinde sunar.

Veri Güvenliği

Görünümler, veritabanı güvenliğini artırmak ve hassas verilerin yetkisiz kişiler tarafından görüntülenmesini engellemek amacıyla da kullanılabilir. Örneğin, veritabanındaki tüm bilgilere erişim izni olmayan bir kullanıcıya, sadece belirli sütunlar veya koşullara göre filtrelenmiş verileri göstermek için görünüm kullanılabilir.

Örneğin, maaş bilgilerini gizleyen bir görünüm şu şekilde oluşturulabilir:

CREATE VIEW çalışan_bilgileri AS

SELECT isim, departman, pozisyon

FROM çalışanlar;

Bu görünüm, kullanıcıların çalışanların maaş bilgilerine erişimlerini engeller ve sadece isim, departman ve pozisyon bilgilerini gösterir.

Views ile Performans ve Sınırlamalar

Görünümler, veri yönetimini ve sorgulama işlemlerini kolaylaştırırken bazı performans ve sınırlamalara da sahiptir.

Performans

Görünümler, temel tablolar üzerinde yapılan sorgulara bağlı olduğundan, özellikle çok büyük veri kümeleri üzerinde karmaşık sorgular barındıran görünümler performans sorunlarına yol açabilir. Bir görünüm sorgulandığında, arka plandaki SELECT sorgusu her seferinde yeniden çalıştırılır. Bu, çok sayıda tabloyu birleştiren veya yoğun hesaplama gerektiren görünümler için sorgulama süresini uzatabilir.

Sınırlamalar

Görünümler, bazı SQL komutlarını doğrudan desteklemez. Örneğin, bir görünüm üzerinden INSERT, UPDATE veya DELETE işlemleri her zaman mümkün olmayabilir. Görünüm, karmaşık bir sorgu veya birden fazla tabloyu içeriyorsa, verilerin güncellenmesi veya silinmesi mümkün olmayabilir. Ayrıca, bazı veritabanı yönetim sistemlerinde, görünümler üzerinde indeksleme yapılamaz, bu da performansı etkileyebilir.

Views (görünümler), SQL’de verilerin yönetimini ve görüntülenmesini basitleştiren güçlü araçlardır. Görünümler, karmaşık sorguları sadeleştirir, veri güvenliğini artırır ve kullanıcıların veritabanına daha düzenli bir şekilde erişmesini sağlar. Siz de SQL eğitimi ile teknikleri öğrenerek, veritabanı yönetimini daha esnek, güvenli ve performanslı hale getirebilirsiniz. Ancak, performans ve sınırlamaları göz önünde bulundurarak doğru senaryolarda kullanılmaları önemlidir.