DBAtlas · Veritabanı operasyon atlası

View oluştur / değiştir

Oracle

CREATE OR REPLACE VIEW aktif_musteri AS
SELECT id, ad, email FROM musteri WHERE durum = 'AKTIF';

-- Kaldır
DROP VIEW aktif_musteri;

CREATE OR REPLACE VIEW ile hem oluşturma hem değiştirme yapılır. Belirli koşullarda güncellenebilir view'lar için WITH CHECK OPTION eklenebilir.

PostgreSQL

CREATE OR REPLACE VIEW aktif_musteri AS
SELECT id, ad, email FROM musteri WHERE durum = 'AKTIF';

DROP VIEW aktif_musteri;

CREATE OR REPLACE ile yeni kolon ancak sona eklenebilir; kolon tipini/sırasını değiştirmek için önce DROP gerekir. Basit view'lar otomatik güncellenebilir.

MySQL

CREATE OR REPLACE VIEW aktif_musteri AS
SELECT id, ad, email FROM musteri WHERE durum = 'AKTIF';

-- Değiştir
ALTER VIEW aktif_musteri AS SELECT id, ad FROM musteri;
DROP VIEW aktif_musteri;

CREATE OR REPLACE VIEW veya ALTER VIEW ile tanım güncellenir. ALGORITHM = MERGE/TEMPTABLE ile çalışma biçimi ayarlanabilir; WITH CHECK OPTION güncellenebilir view'ları korur.

SQL Server

CREATE OR ALTER VIEW aktif_musteri AS
SELECT id, ad, email FROM musteri WHERE durum = 'AKTIF';

DROP VIEW aktif_musteri;

CREATE OR ALTER VIEW (2016 SP1+) tek komutta oluşturur/değiştirir. Eski sürümlerde önce CREATE, sonra ALTER VIEW kullanılır. View ifadesi batch'in ilk deyimi olmalıdır.

MongoDB

// Read-only view (aggregation pipeline üzerine)
db.createView("aktif_musteri", "musteri", [ { $match: { durum: "AKTIF" } }, { $project: { ad: 1, email: 1 } } ]);

db.aktif_musteri.drop();

db.createView ile kaynak koleksiyon ve aggregation pipeline üzerinden salt-okunur view oluşturulur. View'a yazılamaz; tanımı değiştirmek için drop edip yeniden oluşturun (veya collMod).

Redis

# Uygulanamaz: Redis'te view kavramı yoktur; türetilmiş görünümler uygulama
# tarafında ya da RedisJSON/RediSearch indeksleriyle sağlanır.

Sorgu üzerine tanımlı view desteği yoktur. Benzer ihtiyaç için önceden hesaplanmış anahtarlar tutulur veya RediSearch ile aranabilir index kurulur.

Elasticsearch

# Alias ile filtreli mantıksal görünüm
POST _aliases
{ "actions": [ { "add": { "index": "musteri", "alias": "aktif_musteri",
  "filter": { "term": { "durum": "AKTIF" } } } } ] }

Klasik SQL view yoktur; filtreli alias en yakın karşılıktır ve sorgulara otomatik filtre uygular. Kolon seçimi için sorguda _source filtreleme kullanılır.

DBAtlas'ta aç →