.\" http://belgeler.org \- 2009\-10\-29T15:35:50+02:00 .TH "CREATE VIEW" 7 "" "PostgreSQL" "SQL \- Dil Deyimleri" .nh .PD 0 .SH İSİM CREATE VIEW \- yeni bir sanal tablo tanımlar .SH KULLANIM .nf \fBCREATE\fR [ \fBOR REPLACE\fR ] \fBVIEW\fR \fIisim\fR [ ( \fIsütun_ismi\fR [, ...] ) ] \fBAS\fR \fIsorgu\fR .fi .SH AÇIKLAMA \fBCREATE VIEW\fR bir sorgudan yeni bir sanal tablo tanımlar. Sanal tablo fiziken mevcut değildir. Her seferinde sorgu yeniden çalıştırılıp sanal tablo oluşturulur. \fBCREATE OR REPLACE VIEW\fR de hemen hemen aynıdır, farklı olarak, aynı isimde bir sanal tablo zaten varsa, yeniden oluşturulur. Böyle bir sanal tabloyu yeni bir sorgudan yeniden, sadece aynı sütun isimleri ve veri türleriyle oluşturabilirsiniz. \fBCREATE VIEW myschema.myview ...\fR gibi bir şema nitelemeli isim kullanırsanız, sanal tablo belirtilen şemada oluşturulur. Aksi takdirde, o anki şemada oluşturulur. Sanal tablonun ismi aynı şemada bulunan tablo, kayıt listesi, indeks ve sanal tablo isimlerinden farklı olmalıdır. .SH PARAMETRELER .br .ns .TP \fIisim\fR Oluşturulacak sanal tablonun ismi (şema nitelemeli olabilir). .TP \fIsütun_ismi\fR Sanal tablonun isteğe bağlı sütun isimleri. Belirtilmezse, sütun isimleri sorgudan saptanır. .TP \fIsorgu\fR Sanal tablonun satır ve sütunlarının elde edileceği sorgu (bu bir \fBSELECT\fR cümlesidir). Sorgular hakkında bilgi edinmek için \fBSELECT\fR [select(7)] kılavuz sayfasına bakınız. .PP .SH EK BİLGİ Şimdilik, sanal tablolar salt okunurdur: sistem, veri girme, veri silme ve güncelleme işlemlerine izin vermez. Güncellenebilir bir sanal tabloyu, diğer tablolardaki veri girme, veri silme veya güncelleme işlemlerini yeniden yazan kurallar oluşturarak elde edebilirsiniz. Daha fazla bilgi için \fBCREATE RULE\fR [create_rule(7)] kılavuz sayfasına bakınız. Sanal tabloyu kaldırmak için \fBDROP VIEW\fR kullanın. Sanal tablonun sütunlarının isim ve veri türlerinin sizin istediğiniz şekilde atanmasını sağlamalısınız. Örneğin, .nf CREATE VIEW vista AS SELECT \N'39'Hello World\N'39'; .fi şeklinde bir cümle iki bakımdan kötüdür: sütun isimleri için ?column?, sütun veri türleri için ise unknown öntanımlıdır. Bu cümleyi şöyle yazarsanız, sanal tablodan ne isteyeceğinizi de bilirsiniz: .RS 4 .nf CREATE VIEW vista AS SELECT text \N'39'Hello World\N'39' AS hello; .fi .RE Sanal tablonun oluşturulduğu tablolara erişim, sanal tablonun sahibine göre belirlenir. Ancak, sanal tabloda çağrılan işlevler, doğrudan sorgudan çağılmış gibi ele alınır. Bu yüzden, sanal tablo kullanıcısının sanal tablo tarafından çağrılan tüm işlevleri çağıracak izinlerinin olması gerekir. .SH ÖRNEKLER Tamamı komedi filmlerinden oluşan bir sanal tablonun oluşturulması: .RS 4 .nf CREATE VIEW komediler AS \ SELECT * \ FROM filmler \ WHERE cinsi = \N'39'Komedi\N'39'; .fi .RE .SH UYUMLULUK SQL standardı \fBCREATE VIEW\fR deyimi için bazı ek yetenekler belirtir: .nf \fBCREATE VIEW\fR \fIisim\fR [ ( \fIsütun\fR [, ...] ) ] \ \fBAS\fR sorgu \ [ \fBWITH\fR [ \fBCASCADE\fR | \fBLOCAL\fR ] \fBCHECK OPTION\fR ] .fi Burada isteğe bağlı deyimler şunlardır: .br .ns .TP \fBCHECK OPTION\fR Güncellenebilir sanal tablolar yapar. Sanal tablo üzerindeki tüm \fBINSERT\fR ve \fBUPDATE\fR komutlarının sanal tablo tanımlama koşullarına uygunluğu sınanacaktır (yani, yeni verinin sanal tablo üzerinden görünür olması gerekir). Sınama başarısız olursa, güncelleme reddedilecektir. .TP \fBLOCAL\fR Sanal tablonun kendi bütünlüğü sınanır. .TP \fBCASCADE\fR Sanal tablonun diğer sanal tablolarla bütünlük içinde olup olmadığı sınanır. Ne \fBCASCADE\fR ne de \fBLOCAL\fR belirtilmişse, \fBCASCADE\fR öntanımlıdır. .PP \fBCREATE OR REPLACE VIEW\fR ise bir PostgreSQL oluşumudur. .SH İLGİLİ BELGELER \fBDROP VIEW\fR [drop_view(7)]. .SH ÇEVİREN Nilgün Belma Bugüner , Nisan 2005