Basit VIEW'lar: Mantıksal Yeniden Kullanım
Karmaşık sorguları kapsüllemek, raporları basitleştirmek ve sütunların bir alt kümesine okuma erişimi vermek için VIEW'lar oluşturun.
Basit VIEW'lar: Mantıksal Yeniden Kullanım, CoddyKit'te ücretsiz bir SQL Academy dersidir. Bu, 4 dersinin 1. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, SQL Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. SQL Academy kursu toplamda 4 dersten oluşur.
Görünüm Nedir?
Bir görünüm, kaydedilmiş bir SELECT sorgusudur. Görünümü her sorguladığınızda, temel SELECT sorgusu çalıştırılır. JOIN işlemleri yapabileceğiniz, filtreleyebileceğiniz ve üzerinde toplulaştırma gerçekleştirebileceğiniz adlandırılmış bir sorgu gibidir.
CREATE VIEW active_users AS
SELECT id, email, full_name
FROM users
WHERE deleted_at IS NULL;Görünüm Kullanma
Herhangi bir tablo gibi sorgulayın:
SELECT COUNT(*) FROM active_users;
SELECT * FROM active_users WHERE email LIKE '%@gmail.com';Görünümler Saklanmış Sonuçlar Değildir
Görünüm tanımı saklanır, sonuç saklanmaz. Her sorgu görünümü genişletir ve temel SELECT sorgusunu çalıştırır. Aynı sorgu planı değerlendirmeleri geçerlidir.
Görünümler Neden Kullanılır?
- Yeniden kullanım — karmaşık bir sorguyu bir kez tanımlayın
- Soyutlama — uygulama ayrıntılarını gizleyin (3 tabloyu birleştirin → "active_users")
- Güvenlik — temel tabloları açığa çıkarmadan görünüm üzerinde SELECT izni verin
- Uyumluluk — şema değişikliklerinden sonra eski sorgu biçimlerinin çalışmasını sürdürün
CREATE OR REPLACE
Bir görünümü yerinde güncelleyin — ancak yalnızca sütun türleri ve sırası eşleşiyorsa:
CREATE OR REPLACE VIEW active_users AS
SELECT id, email, full_name, last_login
FROM users
WHERE deleted_at IS NULL;
-- ERROR if columns conflict; DROP VIEW + CREATE VIEW instead.JOIN İşlemleri ve Toplulaştırmalar İçeren Görünümler
Yaygın bir durum: kullanıcı başına toplu özet:
CREATE VIEW user_stats AS
SELECT u.id, u.email,
COUNT(o.id) AS order_count,
COALESCE(SUM(o.total), 0) AS revenue
FROM users u
LEFT JOIN orders o ON o.user_id = u.id
GROUP BY u.id, u.email;Güncellenebilir Görünümler
Basit görünümler (tek tablo, toplulaştırma yok, DISTINCT yok) güncellenebilirdir — bunlar üzerinden INSERT/UPDATE/DELETE çalıştırabilirsiniz. PostgreSQL, mümkün olduğunda bunları otomatik olarak günceller.
Şema Nitelikli Görünümler
Yardımcı görünümleri özel bir şemaya yerleştirin:
CREATE SCHEMA api;
CREATE VIEW api.users_public AS
SELECT id, email, full_name FROM users WHERE deleted_at IS NULL;
GRANT SELECT ON api.users_public TO app_reader;Görünümler ve İzinler
Varsayılan olarak bir görünüm, sorguyu yapan kullanıcının yetkileriyle çalışır — bu kullanıcının temel tablolar üzerinde yine de izni olması gerekir. Düşük yetkili bir kullanıcının hassas bir tabloyu sorgulamasına izin vermek için bunun yerine SECURITY DEFINER işlevlerini kullanın.
Performansla İlgili Hususlar
Planlayıcı, görünümleri genişletir ve olağan iyileştirmelerini uygular. Bazen bir görünümün GROUP BY ifadesi koşulların aşağı doğru itilebilmesini engeller — EXPLAIN bir sorun gösteriyorsa görünümü parçalara ayırın veya yeniden yazın.
Görünüm Bağımlılıkları
Bir temel tabloyu silme işlemi, bir görünüm ona bağlıysa engellenir. Yalnızca gerçekten istediğinizden eminseniz DROP TABLE ... CASCADE kullanın. Bağımlı nesneleri listeleyin:
SELECT * FROM pg_depend
WHERE refobjid = 'users'::REGCLASS;Özet
Görünümler yeniden kullanılabilir SELECT sorgularıdır.
- Bir kez tanımlayın, birçok kez sorgulayın
- Soyutlama ve güvenlik sağlar
- Basit olduklarında güncellenebilirdir
- Her sorguda yeniden çalıştırılır — yerleşik önbellekleme yoktur
Hızlı Kontrol
Bir görünümü sorgulamak, sonucunu saklar mı?
Sıkça Sorulan Sorular
“Basit VIEW'lar: Mantıksal Yeniden Kullanım” dersi ücretsiz mi?
Evet — “Basit VIEW'lar: Mantıksal Yeniden Kullanım” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve SQL Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. SQL Academy kursu toplamda 4 dersten oluşur.
“Basit VIEW'lar: Mantıksal Yeniden Kullanım” dersinde ne öğreneceğim?
Karmaşık sorguları kapsüllemek, raporları basitleştirmek ve sütunların bir alt kümesine okuma erişimi vermek için VIEW'lar oluşturun. SQL Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
SQL Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te SQL Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 1. dersidir.
“Basit VIEW'lar: Mantıksal Yeniden Kullanım” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu SQL Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her SQL Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Basit VIEW'lar: Mantıksal Yeniden Kullanım
- Güncellenebilir VIEW'lar ve INSTEAD OF Tetikleyicileri
- MATERIALIZED VIEW'lar ve REFRESH Stratejileri
- Önceden Toplama Ne Zaman Yapılmalı