MySQL'de View Oluşturma ve Kullanma

MySQL'de View Oluşturma ve Kullanma

VIEW, MySQL veritabanında birden fazla tablonun veya sorgunun birleştirilmesiyle oluşturulan sanal bir tablodur Bu, sorguların tekrar tekrar yazılmasını ve birkaç farklı sorgunun bir araya getirilmesini gerektirmediğinden, sorguların daha basit ve hatasız olmasını sağlar VIEW, CREATE VIEW ifadesi kullanılarak oluşturulur ve özel bir sorgu oluşturulur Daha sonra, bu oluşturulan VIEW, SELECT ifadesi kullanılarak normal bir tablo gibi kullanılabilir VIEW, sadece bir sorgu olarak kaydedilir ve hiçbir zaman gerçek bir tablo olarak kaydedilmez VIEW oluşturmak ve kullanmak oldukça basittir ve veriler daha etkili bir şekilde kullanılabilir hale gelir DROP VIEW ifadesi kullanılarak, gereksiz veya yanlış VIEW'ler veritabanından silinebilir

MySQL'de View Oluşturma ve Kullanma

MySQL veritabanında VIEW, birden fazla tabloya veya sorguya dayalı bir sanal tablodur. Bu, benzer sorguların tekrar tekrar yazılmasını ve birkaç farklı sorgunun bir araya getirilmesini gerektirmediğinden, sorguların daha basit ve hatasız olmasını sağlar.

VIEW, CREATE VIEW ifadesi kullanılarak oluşturulur ve özel bir sorgu oluşturulur. Daha sonra, bu oluşturulan VIEW, SELECT ifadesi kullanılarak normal bir tablo gibi kullanılabilir. Bununla birlikte, VIEW’ler hiçbir zaman gerçek bir tablo olarak kaydedilmez, yalnızca bir sorgu olarak kaydedilir.


VIEW Nedir?

VIEW Nedir?

VIEW, birden fazla tablo veya sorgunun birleştirilmesiyle oluşturulan sanal bir tablodur. VIEW, bir tablodaki bilgileri daha kolay anlayabilmek, sorguları basitleştirmek ve okunurluğunu artırmak için kullanılır. Aynı zamanda birden fazla tablonun birleştirilmesiyle oluşturulduğu için sorgu yazarken farklı tabloların içerisinde arama yapmak yerine tek bir tablo üzerinden arama yapılabilmesini sağlar.

VIEW oluşturulurken, gerçek tabloların verileri değişmez, sadece sanal bir tablo oluşturulur. VIEW’lar sorgu gibi kullanılabilir ve bu yöntem sayesinde tablolar birbiriyle ilişkilendirilir, aralarında bağlantılar kurulur ve veriler daha etkili bir şekilde kullanılabilir hale gelir.


VIEW Nasıl Oluşturulur?

MySQL veritabanında VIEW oluşturmak oldukça basittir. VIEW oluşturmak için CREATE VIEW ifadesi kullanılır ve özel bir sorgu oluşturulur. Yapılan sorgu, bir VIEW olarak kaydedilir ve tekrar kullanılabilir hale gelir.

Aşağıdaki örnek, bir VIEW'in nasıl oluşturulacağını gösterir. Örnekte, Siparişler tablosu ve Müşteriler tablosu INNER JOIN ile birleştirilir ve tarihi '2005-09-08' olan belirli bir tarihte yapılan Siparişler ve Müşteriler tablosu sorgusu oluşturulur. Sorgu, customer_info adlı bir VIEW olarak saklanır.

Örnek Sorgu
CREATE VIEW customer_info AS SELECT customers.customerName, orders.orderDate FROM customers INNER JOIN orders ON customers.customerID = orders.customerID WHERE orders.orderDate='2005-09-08';

Yukarıdaki örnekte, customer_info adlı bir VIEW oluşturulur ve SELECT ifadesinin ardından, customers.customerName ve orders.orderDate sütunları belirtilir. FROM ifadesi ile Müşteriler ve Siparişler tabloları INNER JOIN ile birleştirilir ve WHERE ifadesi, belirli bir tarihte yer alan Siparişleri sorgulamak için kullanılır.

VIEW, SELECT ifadesi kullanarak yalnızca belirli sütunları görüntülemek için de kullanılabilir. Bu, veritabanında belirli verilere erişimi sınırlandırmak için kullanışlı bir yöntemdir.


VIEW Oluşturma Örneği

VIEW oluşturmak belli bir amaç için tasarlanmış yolculuk gibidir. CREATE VIEW ifadesi kullanılarak bir VIEW oluşturulabilir. Aşağıda bulunan tablo, VIEW oluşturmak için CREATE VIEW ifadesi kullanılarak oluşturulan örnek sorgudur.

ifade tanımı
CREATE VIEW Yeni bir VIEW oluşturur.
view_name Yeni VIEW'in ismi.
AS Bir VIEW'e dayalı ayrıntıları belirtir.
SELECT column_name(s) Tüm tablo sütunları veya belirli sütun(lar) belirtir.
FROM table_name VIEW'in alacağı tabloyu belirtir.
WHERE condition; Tablodan belirlenen verileri VIEW'e taşır.

CREATE VIEW ifadesi kullanılarak oluşturulan VIEW, veritabanındaki orijinal tablolardan farklı değildir ve aynı şekilde sorgulanabilir.


Örnek Sorgu

Bu örnek sorguda, customers ve orders tabloları ilişkilendirilmiştir. Sorgu, customer_info adlı bir VIEW oluşturur ve müşteri adı ve sipariş tarihi sütunlarını içerir. Sadece 2005-09-08 tarihindeki siparişler listelenir.

Tablo Adı Sütun Adı
customers customerName
orders orderDate

Bu sorgu, JOIN ifadesi ile yapılır. customers ve orders tabloları arasında bir inner join yapılarak ilişkilendirilir. SELECT ifadesi kullanılarak istenen sütunlarda filtreler uygulanır. İlgili VIEW oluşturulur ve bu sanal tabloya SELECT * FROM customer_info sorgusu ile erişilir.

  • CREATE VIEW ifadesi kullanarak VIEW oluşturulur
  • SELECT ifadesi ile sütunlar belirlenir
  • FROM ifadesi ile tablolar ilişkilendirilir
  • WHERE ifadesi ile filtreleme yapılır

VIEW Silme İşlemi

Bir VIEW'i veritabanından silmenin yolu, DROP VIEW ifadesini kullanmaktır. Bu ifade, VIEW'i silmek için kullanılır ve VIEW'in veritabanında yerini alabilecek benzer bir tablo şeklinde düşünülebilir.

DROP VIEW ifadesi kullanılarak, VIEW'in yerini alacak yeni bir tablo oluşturulabilir veya mevcut bir tablo düzenlenebilir. Bu, veritabanınızı daha iyi yönetmenize ve depolamanız için daha fazla alan sağlamana yardımcı olur. DROP VIEW ifadesi ayrıca, bir VIEW'in artık gereksiz ya da yanlış olduğu zaman kullanışlıdır.

Örneğin, belirli bir tarihte sipariş veren müşterilerin bilgilerini gösteren bir VIEW'in artık gereksiz olduğunu düşündüğünüzde, DROP VIEW ifadesini kullanarak bu VIEW'i veritabanından silebilirsiniz.


VIEW Kullanma Örneği

VIEW'lerin en önemli avantajlarından biri, farklı sorgulardaki tabloların görünümlerini bir araya getirerek karmaşık sorguları basitleştirmeleridir. VIEW'leri kullanarak SELECT sorguları yazmak son derece kolaydır. İlgili VIEW'ı seçmeniz yeterlidir ve ilgili tablolardaki sütunları ve satırları görüntüleyebilirsiniz.

Bu örnekte, "view_name" adlı bir VIEW oluşturduk. Artık bu VIEW'ı kullanarak, veritabanındaki ilgili sütunları ve satırları gösterebiliriz.

Örnek olarak, "customer_info" VIEW'ını oluşturalım ve müşteri adı ve sipariş tarihlerini görüntüleyelim. İlk olarak, aşağıdaki sorguyu kullanarak VIEW oluşturulacaktır:

CREATE VIEW customer_info AS SELECT customers.customerName, orders.orderDate FROM customers INNER JOIN orders ON customers.customerID = orders.customerID WHERE orders.orderDate='2005-09-08';

VIEW başarıyla oluşturulduktan sonra, aşağıdaki sorgu kullanılarak VIEW'daki tüm sütunları ve satırları görüntüleyebilirsiniz:

SELECT * FROM customer_info;

Bu örnek, VIEW'leri kullanarak SQL sorgularını nasıl basitleştirebileceğinizi gösterir. Bu şekilde, VIEW'lerin sunduğu kolaylıklar sayesinde, veritabanı sorgularınız daha da etkili ve verimli hale gelecektir.


VIEW Avantajları Nelerdir?

VIEW oluşturma ve kullanmanın birçok avantajı vardır. İşte bazıları:

  • Daha kolay sorgular yazma: VIEW, birden fazla tabloda yapılan sorguları tek bir yerde birleştirmek için kullanılır. Bu, daha az kod yazmanızı ve sorgularda daha kolay yönetilebilirliği sağlar.
  • Kompleks sorguları basitleştirme: VIEW, karmaşık sorguların daha basit hale getirilmesine yardımcı olur. VIEW oluşturarak, veritabanındaki birçok kaynağı tek bir yerde birleştirerek, kullanıcılara veritabanında daha az işlem yapma imkanı sağlar.
  • Güvenliği artırma: VIEW, veritabanındaki özel bilgilerin güvenliğini artırmak için kullanılır. Kullanıcılara yalnızca belirli sütunları veya satırları gösterme seçeneği sunularak, veritabanı güvenliği artırılır.

VIEW'ın sahip olduğu bu avantajlar, kullanıcıların sorgu yazma süreçlerini daha kolay, daha hızlı ve daha güvenli hale getirir.


Güvenliği Artırma Örneği

Veritabanına erişimi olan kullanıcılar, tüm verileri görüntüleyebilirler. Ancak, bazı durumlarda, bazı bilgilerin sadece belirli kişiler tarafından görünmesi gerekmektedir. Bu gibi durumlarda VIEW kullanımı veritabanı güvenliğini artırmaya yardımcı olabilir.

Örneğin, bir şirketin çalışanları, çalışanların maaş bilgilerine erişemez. Bunun için, VIEW kullanarak, sadece yöneticilerin maaş bilgilerini görebileceği bir sorgu oluşturulabilir. Bu sayede, çalışanların maaş bilgileri güvence altında tutulabilir.

Kullanıcı Adı Adı Soyadı Maaş
johndoe John Doe 5000
janedoe Jane Doe 6000

Yukarıdaki tabloyu ele alalım. Bir yetkisiz kullanıcı tarafından erişilmesi gereken sadece belirli sütunlardır. Yöneticiler, maaş bilgilerini görmek için diğer kullanıcılardan daha fazla yetkiye sahip olabilirler. Böylelikle, bankalarda müşteri bilgi güvenliği gibi hassas veriler de VIEW kullanarak korunabilir.


VIEW Dezavantajları Nelerdir?

Her teknolojinin kendine özgü avantajları ve dezavantajları vardır. VIEW’ın avantajlarını öğrendikten sonra şimdi de dezavantajlarına göz atalım.

  • Performans Sorunları: VIEW sorguları, yığınla işlem yaparak çalışan veritabanlarına ek bir yük getirebilir. Sürdürülebilir performansı sağlamak için veritabanının fazla yüklenmeden önce iyi tasarlanması gerekir.
  • Güncellenememe: Bir VIEW güncellenemez. VIEW’da yapılan değişiklikler, tablodaki bilgileri güncellemezler. Bunun için, VIEW tekrar oluşturulmalıdır.
  • Karmaşık Sorguların Olamayışı: VIEW’lar bir sorgudan oluştuklarından, bazı daha karmaşık sorgular VIEW’lar ile oluşturulamaz.Örneğin, GROUP BY veya HAVING gibi sorgular kullanarak bazı sonuçlar elde etmek mümkün değildir.