Provided by: manpages-tr_1.0.5.1-2_all bug

İSİM

       CREATE DOMAIN - yeni bir veri alanı tanımlar

KULLANIM

       CREATE DOMAIN isim [AS] veri_türü
           [ DEFAULT ifade ]
           [ kısıt [ ... ] ]

       burada kısıt:

       [ CONSTRAINT kısıt_ismi ]
       { NOT NULL | NULL | CHECK (ifade) }

AÇIKLAMA

       CREATE DOMAIN yeni bir veri alanı tanımlar.  Yeni veri alanını tanımlayan kullanıcı o veri
       alanının sahibi olur.

       Eğer bir şema ismi belirtilmişse (CREATE DOMAIN    myschema.mydomain ... gibi) veri  alanı
       bu  şema  içinde oluşturulur. Aksi takdirde geçerli olan şemada oluşturulur. Veri alanının
       ismi şemanın mevcut veri alanları ve veri türleri arasında eşsiz olmalıdır.

       Veri alanları bakım kolaylığı bakımından tablolar arasında ortak alanları  tek  bir  yerle
       soyutlamak  için  yararlıdır.  Örneğin  eposta adresi sütunu çeşitli tablolarda hepsi aynı
       özelliklerle kullanılabilir. Bir veri alanı tanımlayıp her tablonun kısıtlarını ayrı  ayrı
       ayarlamaktan kurtulabilirsiniz.

PARAMETRELER

       isim   Oluşturulacak veri alanının ismi (şema nitelemeli olabilir).

       veri_türü
              Veri alanının veri türü; dizi belirteçleri içerebilir.

       DEFAULT ifade
              Veri  alanının  kullanıldığı  sütunlar  için  bir  öntanımlı  değer belirtir. Değer
              herhangi bir ifade olabilir (altsorgulara izin verilmez). Öntanımlı  ifadenin  veri
              türü,   veri   alanının   veri   türü  ile  aynı  olmalıdır.  Bir  öntanımlı  değer
              belirtilmezse, NULL öntanımlı olur.

              Öntanımlı  ifade,  sütun  için  değer   belirtilmeyen   veri   girme   işlemlerinde
              kullanılacaktır.  Bir  sütun  için  bir  öntanımlı değer zaten varsa, veri alanının
              öntanımlısı değil,  bu  öntanımlı  kullanılır.  Ancak,  bir  sütunun  veri  türünün
              öntanımlısı değil, veri alanının öntanımlısı kullanılır.

       CONSTRAINT kısıt_ismi
              Bir kısıtın isteğe bağlı ismi. Belirtilmezse, sistem bir isim üretecektir.

       NOT NULL
              Veri alanı değerinin NULL olamayacağını belirtir.

       NULL   Veri alanı değerinin NULL olabileceğini belirtir. Bu öntanımlıdır.

              Bu   sözcük   standartdışı  SQL  veritabanları  ile  uyumluluk  için  vardır.  Yeni
              uygulamalarda kullanılmasa daha iyi olur.

       CHECK (ifade)
              Doğruluk kısıtlarını ya da veri alanı  değerlerinin  sağlaması  gereken  sınamaları
              belirtmek  için  kullanılır.  Her  kısıt  bir  mantıksal  sonuç  üreten  bir  ifade
              olmalıdır. Sınanacak değeri belirtmek için isim olarak VALUE kullanılmalıdır.

              Şimdilik, CHECK ifadeleri altsorgular içerememekte ve ifade  içinde  VALUE  dışında
              değişken belirtilememektedir.

ÖRNEKLER

       Bu  örnekte  us_postal_code  veri  alanı  oluşturulmakta  ve  bu  alan bir tablo tanımında
       kullanılmaktadır. Değerin geçerli bir US posta kodu olup olmadığı bir  düzenli  ifade  ile
       sınanmaktadır.

           CREATE DOMAIN us_postal_code AS TEXT
           CHECK(
                VALUE ~ '^\d{5}$'
             OR VALUE ~ '^\d{5}-\d{4}$'
           );

           CREATE TABLE us_snail_addy (
             address_id SERIAL NOT NULL PRIMARY KEY
           , street1 TEXT NOT NULL
           , street2 TEXT
           , street3 TEXT
           , city TEXT NOT NULL
           , postal us_postal_code NOT NULL
           );

UYUMLULUK

       CREATE DOMAIN SQL standardıyla uyumludur.

İLGİLİ BELGELER

       ALTER DOMAIN [alter_domain(7)], DROP DOMAIN [drop_domain(7)].

ÇEVİREN

       Nilgün Belma Bugüner <nilgun (at) belgeler·gen·tr>, Nisan 2005