PostgreSQL Örnekle Görünüm Oluştur

⚡ Akıllı Özet

PostgreSQL Görünümler, saklanmış bir SELECT sorgusundan oluşturulan sözde tablolardır ve karmaşık veya sık kullanılan sorguları, sıradan bir tablo gibi okuyabileceğiniz, güncelleyebileceğiniz veya silebileceğiniz tek bir adın arkasına sarmanıza olanak tanır.

  • 🗂️ Sahte Tablo: Bir görünüm veri değil, sorgu depolar; ancak onu bir tablo gibi seçersiniz.
  • ️ Yaratmak: CREATE VIEW komutu, birden fazla temel tabloyu kapsasa bile, SELECT sorgusuna kolay yeniden kullanım için isim verir.
  • ♻️ Değiştirin: CREATE OR REPLACE VIEW komutu, sürükle bırak işlemi yapmadan bir görünümü değiştirir.ping bunu.
  • 🗑️ Düşürmek: DROP VIEW bir görünümü kaldırır ve IF EXISTS bir hatayı önler.
  • 🤖 Yapay Zeka Yardımı: Yapay zekâ asistanları görünüm tanımları oluşturur ve hangi sorguların sarmalanması gerektiğini önerir.

PostgreSQL Görünüm Oluştur

Nedir? PostgreSQL Görüş?

In PostgreSQLgörünüm bir sözde tablodur. Bu, görünümün gerçek bir tablo olmadığı anlamına gelir. Ancak sıradan bir tablo olarak SEÇEBİLİRİZ. Bir görünüm tablo sütunlarının tümüne veya bir kısmına sahip olabilir. Bir görünüm birden fazla tablonun temsili de olabilir.

Tablolar temel tablolar olarak adlandırılır. Bir görünüm oluştururken, sadece bir sorgu oluşturmanız ve ona bir ad vermeniz yeterlidir; bu da onu sarmalama için kullanışlı bir araç haline getirir.ping Karmaşık ve yaygın olarak kullanılan sorgular.

Oluşturma PostgreSQL Görünümler

Bir oluşturmak için PostgreSQL view'ı görüntülemek için CREATE VIEW deyimini kullanırız. İşte bu ifadenin sözdizimi:

CREATE [OR REPLACE] VIEW view-name AS
  SELECT column(s)
  FROM table(s)
  [WHERE condition(s)];

OR REPLACE parametresi, zaten mevcutsa görünümün yerini alacaktır. Atlanırsa ve görünüm zaten mevcutsa bir hata döndürülür.

view-name parametresi, oluşturmanız gereken görünümün adıdır.

WHERE koşulları isteğe bağlıdır ve herhangi bir kaydın görünüme eklenmesi için bu koşulların karşılanması gerekir.

Aşağıda verilen Fiyat tablosunu göz önünde bulundurun:

Fiyat:

Oluşturma PostgreSQL Görünümler

Yukarıdaki tablodan bir görünüm oluşturalım:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

Yukarıdaki komut, aşağıdakileri temel alan bir görünüm oluşturacaktır: SELECT ifadesi. Sadece fiyatı 200'den büyük olan kayıtlar görünüme eklenecektir. Görünüme Price_View adı verildi. İçeriğini görmek için sorgulayalım:

SELECT *
FROM Price_View;

Bu, aşağıdakileri döndürür:

Oluşturma PostgreSQL Görünümler

Temel tabloda 4 kayıt olmasına rağmen görünüme yalnızca 2 kayıt eklendi.

Burada görünüme yalnızca bir sütun ekleyebiliriz. Fiyat tablosunun yalnızca bir sütununu içeren bir görünüm oluşturalım:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

Görünüme Price_View2 adı verilmiştir ve yalnızca Fiyat tablosunun fiyat sütununu içerir. İçeriğini görmek için görünümü sorgulayalım:

SELECT *
FROM Price_View2;

Bu, aşağıdakileri döndürür:

Oluşturma PostgreSQL Görünümler

Değiştirme PostgreSQL Görünümler

Bir görünümün tanımı, onu bırakmaya gerek kalmadan değiştirilebilir. Bu, CREATE OR REPLACE VIEW deyimi kullanılarak yapılır.

Bunu Price_View2 adlı view'ı güncelleyerek gösterelim.

Price_View2:

Değiştirme PostgreSQL Görünümler

Kitap tablosu aşağıdaki gibidir:

Kitap:

Değiştirme PostgreSQL Görünümler

Fiyat tablosu şu şekilde:

Fiyat:

Değiştirme PostgreSQL Görünümler

Aşağıdaki sorgu Price_View2 görünümünü güncellememize yardımcı olacaktır:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

Şimdi içeriğini görmek için görünümü sorgulayalım:

Değiştirme PostgreSQL Görünümler

Görünüm değiştirildi ve artık iki farklı tablodan iki sütunumuz var. Bu, JOIN ifadesi kullanılarak başarılmıştır.

silme PostgreSQL Görünümler

Ne zaman bir şeyi silmeniz gerekirse PostgreSQL Görünümü silmek için DROP VIEW ifadesini kullanabilirsiniz. İfadenin sözdizimi şu şekildedir:

DROP VIEW [IF EXISTS] view-name;

view-name parametresi silinecek görünümün adıdır.

Bu sözdiziminde, IF EXISTS isteğe bağlıdır. Bunu belirtmezseniz ve mevcut olmayan bir görünümü silmeye çalışırsanız, hata alırsınız.

Örneğin Price_View2 isimli görünümü bırakmak için aşağıdaki ifadeyi çalıştırabiliriz:

DROP VIEW Price_View2;

Görünüm silinecek.

pgAdmin'i kullanma

Şimdi bu işlemlerin pgAdmin kullanılarak nasıl gerçekleştirilebileceğine bakalım.

Oluşturma PostgreSQL Görünümler

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  • Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  • Demo'yu tıklayın.

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

CREATE VIEW Price_View AS
  SELECT id, price
  FROM Price
  WHERE price > 200;

) 4 Adım Yürüt düğmesine tıklayın.

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

) 5 Adım Görünümün içeriğini görüntülemek için aşağıdakileri yapın:

  • Sorgu düzenleyicisine aşağıdaki komutu yazın:
SELECT *
FROM Price_View;
  • Yürüt düğmesine tıklayın.

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

Aşağıdakini döndürecektir:

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

Price_View2 görünümünü oluşturmak için aşağıdakileri yapın:

) 1 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:

CREATE VIEW Price_View2 AS
  SELECT price
  FROM Price
  WHERE price > 200;

) 2 Adım Yürüt düğmesine tıklayın.

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

) 3 Adım Görünümün içeriğini görmek için aşağıdakileri yapın:

  • Sorgu düzenleyicisine aşağıdaki sorguyu yazın:
SELECT *
FROM Price_View2;
  • Yürüt düğmesine tıklayın.

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

Aşağıdakini döndürecektir:

Oluşturma PostgreSQL pgAdmin Kullanarak Görünümler

Değiştirme PostgreSQL Görünümler

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  • Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  • Demo'yu tıklayın.

Değiştirme PostgreSQL pgAdmin Kullanarak Görünümler

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

CREATE or REPLACE VIEW Price_View2 AS
  SELECT price, name
  FROM Book
  INNER JOIN Price
  ON Book.id = Price.id
  WHERE price > 200;

) 4 Adım Yürüt düğmesine tıklayın.

Değiştirme PostgreSQL pgAdmin Kullanarak Görünümler

) 5 Adım Sorgu düzenleyicisine aşağıdaki sorguyu yazın:

SELECT *
FROM Price_View2;

Aşağıdakini döndürecektir:

Değiştirme PostgreSQL pgAdmin Kullanarak Görünümler

silme PostgreSQL Görünümler

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  • Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  • Demo'yu tıklayın.

silme PostgreSQL pgAdmin Kullanarak Görünümler

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

DROP VIEW Price_View2;

) 4 Adım Yürüt düğmesine tıklayın.

silme PostgreSQL pgAdmin Kullanarak Görünümler

Görünüm silinecek.

Bu Eğitimde kullanılan Veritabanını İndirin

SSS

Bir tablo, verileri fiziksel olarak diskte saklar. Bir görünüm ise yalnızca bir SELECT sorgusu saklar; bu nedenle, görünümü sorgulamak bu sorguyu yeniden çalıştırır ve temel tablolardan güncel verileri döndürür.

Maddeselleştirilmiş görünüm, sorgu sonucunu diskte önbelleğe alır. Düz görünüme göre daha hızlı okunur, ancak yeni verileri göstermek için REFRESH MATERIALIZED VIEW komutuna ihtiyaç duyar.

Standart bir görünüm, sorgusunu her seferinde çalıştırarak canlı verileri gösterir. Somutlaştırılmış bir görünüm ise hız için sonuçları diske kaydeder ancak yenilenene kadar güncelliğini yitirebilir.

Bazen. Toplama işlemi içermeyen basit, tek tablolu bir görünüm otomatik olarak güncellenebilir, bu nedenle INSERT, UPDATE ve DELETE işlemleri doğrudan çalışır. Karmaşık görünümler ise INSTEAD OF tetikleyicilerine ihtiyaç duyar.

Kataloğu sorgulayın: SELECT table_name FROM information_schema.views WHERE table_schema = 'public'. pgAdmin'de, bir şema altındaki Görünümler düğümünü genişletebilirsiniz.

Yapay zekâ asistanları, sade bir dildeki isteği bir CREATE VIEW ifadesine dönüştürür, görünümü adlandırır ve doğru WHERE ve JOIN koşullarını ekleyerek sık kullandığınız sorguları hızlandırır.

Evet. Uzun bir SELECT sorgusu yapıştırın ve yapay zeka asistanı bunu CREATE OR REPLACE VIEW içine sarar, bir ad önerir ve yinelenen adlardan kaçınmak için takma ad gerektiren sütunları işaretler.

Normal bir görünüm, SELECT sorgusu her seferinde çalıştığı için sorguları hızlandırmaz. Daha hızlı tekrarlanan okuma işlemleri için, sonuçları yenilenene kadar diskte saklayan somutlaştırılmış bir görünüm kullanın.

Bu yazıyı şu şekilde özetleyin: