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

PostgreSQL                                                                                      CREATE SCHEMA(7)