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

İSİM

       CREATE DOMAIN - yeni bir veri alanı tanımlar

KULLANIM

       CREATE DOMAIN isim [AS] veri_tr
           [ DEFAULT ifade ]
           [ kst [ ... ] ]

       burada kst:

       [ CONSTRAINT kst_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_tr
              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 kst_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