Yazılım 27 Ağustos 2026 20 okunma

SQL View Nedir?

SQL View Nedir?

SQL View'lar: Veritabanı Yönetimini Sadeleştirmenin ve Güçlendirmenin Yolu

Veritabanları, modern uygulamaların kalbidir. Ancak veriler büyüdükçe ve ilişkiler karmaşıklaştıkça, bu verilere erişmek ve onları yönetmek zorlaşabilir. İşte tam bu noktada, SQL View'lar (Görünümler) devreye girer. Bir View, karmaşık sorguları basitleştirmenize, veri güvenliğini sağlamanıza ve uygulamalarınızı veritabanı yapısındaki değişikliklerden yalıtmanıza olanak tanıyan "sanal" bir tablodur.

Bu makalede, SQL View'un ne olduğunu, neden kullanıldığını, nasıl oluşturulduğunu ve sağladığı temel faydaları inceleyeceğiz.

1. SQL View Nedir? (Sanal Bir Tablo)

En basit tanımıyla, bir SQL View, fiziksel bir tablo gibi görünen ve davranan, ancak aslında veritabanında kendi başına veri depolamayan bir sanal tablodur. View, bir veya daha fazla temel tabloyu (fiziksel tabloyu) sorgulayan bir SQL ifadesinin (özellikle SELECT sorgusunun) sonucunu temsil eder.

  • Sanal Tablo: View, bir SQL sorgusunun "adlandırılmış" bir sonucudur. Veri, her çağrıldığında temel tablolardan anında çekilir. Bu, verinin her zaman güncel kalmasını sağlar.

  • Gizleme Mekanizması: Temel tabloların karmaşık yapısını ve ilişkilerini, kullanıcıya tek bir basit tablo gibi sunarak gizler.

2. Neden SQL View Kullanmalıyız? (Faydaları)

SQL View'lar, veritabanı mimarisinde stratejik bir rol oynar ve birçok önemli avantaj sunar:

a. Karmaşıklığı Gizleme ve Sadeleştirme

Uygulamanızın sık sık birden fazla tabloyu birleştiren (JOIN), filtreleyen ve gruplayan karmaşık sorgular çalıştırması gerekiyorsa, bu sorguyu bir View içinde tanımlayabilirsiniz. Uygulama, karmaşık sorguyu yeniden yazmak yerine, tıpkı basit bir tabloyu sorguluyormuş gibi SELECT * FROM BenimViewm; komutunu kullanır. Bu, kodun okunabilirliğini ve bakımını büyük ölçüde artırır.

b. Veri Güvenliği (Sütun ve Satır Düzeyinde)

En kritik kullanım alanlarından biridir. Bir kullanıcıya temel tabloların tamamına doğrudan erişim vermek yerine, sadece belirli sütunları (sütun düzeyinde) veya belirli koşulları sağlayan satırları (satır düzeyinde) gösteren bir View üzerinden erişim verebilirsiniz.

  • Örnek: Maaş bilgilerini içeren Calisanlar tablosundan, maaş sütunu çıkarılmış bir CalisanListesi view'ı oluşturarak, insan kaynakları personeli dışındaki kişilerin hassas verilere erişimini engelleyebilirsiniz.

c. Veri Tutarlılığı ve Soyutlama (Data Abstraction)

View'lar, uygulama ile temel tablo yapıları arasında bir soyutlama katmanı oluşturur. Eğer temel tablo yapısını değiştirirseniz (örneğin bir sütunun adını değiştirir veya bir tabloyu bölerseniz), uygulamayı güncellemek yerine sadece View tanımını güncelleyerek uygulamanın çalışmaya devam etmesini sağlayabilirsiniz. Bu, uygulamanın veritabanı değişikliklerinden etkilenmesini minimize eder.

d. Veri Raporlama ve Formatlama

Raporlama araçları veya son kullanıcılar için verileri önceden birleştirilmiş, temizlenmiş, hesaplanmış sütunlar eklenmiş ve formatlanmış şekilde sunmak için view'lar idealdir.

e. Performans (Materialized Views)

Bazı gelişmiş veritabanı sistemlerinde (Oracle, SQL Server gibi) "Materialized View"lar kullanılabilir. Bu view'lar, sorgu sonucunu fiziksel olarak depolar ve düzenli olarak günceller. Karmaşık ve sık çalıştırılan sorgularda okuma performansını dramatik şekilde artırır, ancak veri tutarlılığı konusunda dikkat gerektirir.

3. SQL View Nasıl Oluşturulur? (Sözdizimi ve Örnek)

View oluşturmak için CREATE VIEW komutu kullanılır. Temel sözdizimi şöyledir:



Adım Adım Örnek:

Hayali bir e-ticaret veritabanında iki tablomuz olsun: Musteriler ve Siparisler.

  • Musteriler Tablosu: | MusteriID | Ad | Soyad | Sehir | | :--- | :--- | :--- | :--- | | 1 | Ali | Yılmaz | İstanbul | | 2 | Ayşe | Demir | Ankara |

  • Siparisler Tablosu: | SiparisID | MusteriID | SiparisTarihi | Tutar | | :--- | :--- | :--- | :--- | | 101 | 1 | 2023-10-01 | 150.00 | | 102 | 1 | 2023-10-05 | 200.00 | | 103 | 2 | 2023-10-03 | 350.00 |

Amacımız: Müşteri adı, sipariş tarihi ve sipariş tutarını gösteren bir özet view oluşturmak.


Artık bu View'ı tıpkı bir tablo gibi sorgulayabiliriz:



Sonuç:

AdSoyadSiparisTarihiTutar
AliYılmaz2023-10-01150.00
AliYılmaz2023-10-05200.00
AyşeDemir2023-10-03350.00

Gördüğünüz gibi, uygulama karmaşık JOIN işlemini bilmek zorunda kalmadan sadece MusteriSiparisOzeti view'ını sorguladı.

4. Gelişmiş Özellikler ve Kısıtlamalar

  • Güncellenebilir View'lar (Updatable Views): Bazı basit view'lar üzerinden temel tablolardaki verileri INSERT, UPDATE veya DELETE komutlarıyla değiştirebilirsiniz. Ancak, view karmaşık JOIN'ler, gruplama veya hesaplanmış sütunlar içeriyorsa genellikle güncellenemez.

  • WITH CHECK OPTION: Güncellenebilir view'larda, WITH CHECK OPTION ifadesi ekleyerek, sadece view'ın kendi filtreleme koşullarına uyan veri değişikliklerine izin verebilirsiniz. Bu, veri bütünlüğünü sağlar.


Etiketler: Sql Sql Sorgu SQL View

0 Yorum

Henüz yorum yapılmamış. İlk yorumu siz yapın!

Bir Yorum Bırakın