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

İSİM

       CREATE SCHEMA - yeni bir şema tanımlar

KULLANIM

       CREATE SCHEMA AUTHORIZATION kullanc_ismi [ ema_esi [ ... ] ]
       CREATE SCHEMA ema_ismi
                 [ AUTHORIZATION kullanc_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.

       kullanc_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