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

ISIM

       CREATE DOMAIN - yeni bir veri alani tanimlar

KULLANIM

       CREATE DOMAIN isim [AS] veri_t"ur"u
           [ DEFAULT ifade ]
           [ kisit [ ... ] ]

       burada kisit:

       [ CONSTRAINT kisit_ismi ]
       { NOT NULL | NULL | CHECK (ifade) }

A,CIKLAMA

       CREATE  DOMAIN  yeni  bir  veri  alani  tanimlar.   Yeni  veri  alanini
       tanimlayan kullanici o veri alaninin sahibi olur.

       Eger bir sema ismi belirtilmisse  (CREATE  DOMAIN     myschema.mydomain
       ...  gibi) veri alani bu sema icinde olusturulur. Aksi takdirde gecerli
       olan  semada  olusturulur.  Veri  alaninin  ismi  semanin  mevcut  veri
       alanlari ve veri turleri arasinda essiz olmalidir.

       Veri  alanlari  bakim  kolayligi  bakimindan  tablolar  arasinda  ortak
       alanlari tek bir  yerle  soyutlamak  icin  yararlidir.  Ornegin  eposta
       adresi    sutunu    cesitli    tablolarda   hepsi   ayni   ozelliklerle
       kullanilabilir. Bir veri alani tanimlayip her tablonun kisitlarini ayri
       ayri ayarlamaktan kurtulabilirsiniz.

PARAMETRELER

       isim   Olusturulacak veri alaninin ismi (sema nitelemeli olabilir).

       veri_t"ur"u
              Veri alaninin veri turu; dizi belirtecleri icerebilir.

       DEFAULT ifade
              Veri  alaninin  kullanildigi  sutunlar  icin bir ontanimli deger
              belirtir. Deger herhangi bir ifade olabilir  (altsorgulara  izin
              verilmez). Ontanimli ifadenin veri turu, veri alaninin veri turu
              ile ayni olmalidir.  Bir  ontanimli  deger  belirtilmezse,  NULL
              ontanimli olur.

              Ontanimli  ifade,  sutun  icin  deger  belirtilmeyen  veri girme
              islemlerinde kullanilacaktir. Bir sutun icin bir ontanimli deger
              zaten  varsa,  veri  alaninin  ontanimlisi  degil,  bu ontanimli
              kullanilir. Ancak, bir sutunun veri turunun  ontanimlisi  degil,
              veri alaninin ontanimlisi kullanilir.

       CONSTRAINT kisit_ismi
              Bir  kisitin  istege  bagli ismi. Belirtilmezse, sistem bir isim
              uretecektir.

       NOT NULL
              Veri alani degerinin NULL olamayacagini belirtir.

       NULL   Veri   alani   degerinin   NULL   olabilecegini   belirtir.   Bu
              ontanimlidir.

              Bu  sozcuk  standartdisi  SQL  veritabanlari  ile uyumluluk icin
              vardir. Yeni uygulamalarda kullanilmasa daha iyi olur.

       CHECK (ifade)
              Dogruluk kisitlarini ya da  veri  alani  degerlerinin  saglamasi
              gereken  sinamalari  belirtmek  icin  kullanilir.  Her kisit bir
              mantiksal sonuc ureten bir  ifade  olmalidir.  Sinanacak  degeri
              belirtmek icin isim olarak VALUE kullanilmalidir.

              Simdilik,  CHECK  ifadeleri  altsorgular  icerememekte  ve ifade
              icinde VALUE disinda degisken belirtilememektedir.

"ORNEKLER

       Bu ornekte us_postal_code veri alani  olusturulmakta  ve  bu  alan  bir
       tablo  taniminda  kullanilmaktadir.  Degerin  gecerli bir US posta kodu
       olup olmadigi bir duzenli ifade ile sinanmaktadir.

           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 standardiyla uyumludur.

ILGILI BELGELER

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

,CEVIREN

       Nilgun Belma Buguner <nilgun (at) belgeler.gen.tr>, Nisan 2005