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

İSİM

       CREATE SCHEMA - yeni bir şema tanımlar

KULLANIM

       CREATE SCHEMA AUTHORIZATION kullanıcı_ismi [ şema_öğesi [ ... ] ]
       CREATE SCHEMA şema_ismi
                 [ AUTHORIZATION kullanıcı_ismi ] [ şema_öğesi [ ... ] ]

AÇIKLAMA

       CREATE   SCHEMA   o  anki  veritabanında  yeni  bir  şema  oluşturur.  Şema  ismi  o  anki
       veritabanındaki şema isimlerinden farklı olmalıdır.

       Bir şema aslında bir isim alanıdır: isimli nesneler (tablolar, veri türleri,  işlevler  ve
       işleçler)  içerir ve bu isimler diğer şemalardaki nesnelerin isimlerinin tekrarı olabilir.
       İsimli nesnelere ya isimlerin önüne şema ismi getirilerek ya da  istenen  şemaları  içeren
       bir  arama  yolu  atanarak  erişilir.  Bir CREATE komutunda nitelenmemiş bir nesne isminin
       belirtilmesiyle nesne o anki şemada oluşturulur (o anki şema,  current_schema  işlevi  ile
       saptanabilen ve arama yolunun başındaki şemadır).

       İsteğe  bağlı  olarak,  CREATE  SCHEMA,  yeni  şemada  bulunacak nesneleri oluşturacak alt
       komutları içerebilir. Bu  alt  komutlar,  aslında,  şema  oluşturulduktan  sonra  verilmiş
       komutlarmış   gibi   çalıştırılır.   Yalnız,   eğer  AUTHORIZATION  deyimi  kullanılmışsa,
       oluşturulan tüm nesnelerin sahibi bu kullanıcı olur.

PARAMETRELER

       şema_ismi
              Oluşturulacak  şemanın  ismi.  Belirtilmezse,  şema  ismi  olarak  kullanıcı   ismi
              kullanılır. İsim, sistem şema isimlerinin oluşturulmasında kullanılan pg_ öneki ile
              başlayamaz.

       kullanıcı_ismi
              Şemanın  sahibi  olacak  kullanıcının  ismi.   Belirtilmezse,   komutu   çalıştıran
              kullanıcının  ismi  öntanımlıdır. Sadece ayrıcalıklı kullanıcılar kendileri dışında
              bir kullanıcı için şema oluşturabilir.

       şema_öğesi
              Şema içinde oluşturulacak nesneyi tanımlayan  bir  SQL  deyimi.  Şimdilik,   CREATE
              SCHEMA  cümlesinde sadece CREATE TABLE, CREATE VIEW, CREATE INDEX, CREATE SEQUENCE,
              CREATE TRIGGER ve GRANT deyimleri kullanılabilmektedir. Diğer nesne çeşitleri  şema
              oluşturulduktan ayrı komutlarla oluşturulabilir.

EK BİLGİ

       Bir  şemayı  oluşturabilmek  için, kullanıcının o anki veritabanında CREATE yetkisi olması
       gerekir.

ÖRNEKLER

       Bir şemayı oluşturmak için:

           CREATE SCHEMA myschema;

       Şemayı joe kullanıcısı için, kendi ismiyle oluşturmak için:

           CREATE SCHEMA AUTHORIZATION joe;

       Bir şemanın, bir sanal ve bir gerçek tabloyla oluşturulması:

           CREATE SCHEMA hollywood
               CREATE TABLE films (title text, release date, awards text[])
               CREATE VIEW winners AS
                   SELECT title, release FROM films WHERE awards IS NOT NULL;

       Dikkat ederseniz, alt komutların sonunda noktalı virgül kullanılmamıştır.

       Aşağıdaki örnek de aynı sonucu verir:

        CREATE SCHEMA hollywood;
        CREATE TABLE hollywood.films (title text, release date, awards text[]);
        CREATE VIEW hollywood.winners AS
          SELECT title, release FROM hollywood.films WHERE awards IS NOT NULL;

UYUMLULUK

       PostgreSQL'in de kabul ettiği alt komutların yanında SQL standardı  CREATE  SCHEMA  içinde
       DEFAULT CHARACTER SET deyimine de izin verir.

       SQL  standardı,  CREATE  SCHEMA içinde bu alt komutların herhangi bir sırada olabileceğini
       belirtir. PostgreSQL gerçeklemesi şimdilik, alt  komutlarda  ileri  yönde  başvurular  tüm
       durumlarda   elde  edememektedir;  ileri  yönde  başvurulardan  kaçınmak  için  bazan  alt
       komutların yeniden sıralanması gerekli olabilmektedir.

       SQL standardına göre bir şemanın sahibi daima içindeki tüm nenelerin sahibidir. PostgreSQL
       ise,  şemanın  içinde  başka kullanıcıların nesnelerine de izin verir. Bu sadece eğer şema
       sahibi şemasında başkalarına CREATE yetkisi verirse mümkün olur.

İLGİLİ BELGELER

       ALTER SCHEMA [alter_schema(7)], DROP SCHEMA [drop_schema(7)].

ÇEVİREN

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