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

ISIM

       CREATE SCHEMA - yeni bir sema tanimlar

KULLANIM

       CREATE SCHEMA AUTHORIZATION kullanici_ismi [ ,sema_"ogesi [ ... ] ]
       CREATE SCHEMA ,sema_ismi
                 [ AUTHORIZATION kullanici_ismi ] [ ,sema_"ogesi [ ... ] ]

A,CIKLAMA

       CREATE SCHEMA o anki veritabaninda yeni bir sema olusturur. Sema ismi o
       anki veritabanindaki sema isimlerinden farkli olmalidir.

       Bir sema aslinda bir isim alanidir:  isimli  nesneler  (tablolar,  veri
       turleri,  islevler  ve islecler) icerir ve bu isimler diger semalardaki
       nesnelerin isimlerinin tekrari olabilir. Isimli nesnelere ya  isimlerin
       onune  sema  ismi  getirilerek  ya da istenen semalari iceren bir arama
       yolu atanarak erisilir. Bir CREATE  komutunda  nitelenmemis  bir  nesne
       isminin  belirtilmesiyle  nesne o anki semada olusturulur (o anki sema,
       current_schema islevi  ile  saptanabilen  ve  arama  yolunun  basindaki
       semadir).

       Istege  bagli  olarak,  CREATE  SCHEMA, yeni semada bulunacak nesneleri
       olusturacak alt komutlari icerebilir. Bu alt  komutlar,  aslinda,  sema
       olusturulduktan  sonra  verilmis komutlarmis gibi calistirilir. Yalniz,
       eger AUTHORIZATION deyimi  kullanilmissa,  olusturulan  tum  nesnelerin
       sahibi bu kullanici olur.

PARAMETRELER

       ,sema_ismi
              Olusturulacak  semanin  ismi.  Belirtilmezse,  sema  ismi olarak
              kullanici  ismi  kullanilir.  Isim,  sistem   sema   isimlerinin
              olusturulmasinda kullanilan pg_ oneki ile baslayamaz.

       kullanici_ismi
              Semanin  sahibi  olacak kullanicinin ismi. Belirtilmezse, komutu
              calistiran kullanicinin ismi  ontanimlidir.  Sadece  ayricalikli
              kullanicilar   kendileri   disinda   bir   kullanici  icin  sema
              olusturabilir.

       ,sema_"ogesi
              Sema icinde olusturulacak nesneyi  tanimlayan  bir  SQL  deyimi.
              Simdilik,   CREATE SCHEMA cumlesinde sadece CREATE TABLE, CREATE
              VIEW, CREATE INDEX, CREATE SEQUENCE,  CREATE  TRIGGER  ve  GRANT
              deyimleri   kullanilabilmektedir.  Diger  nesne  cesitleri  sema
              olusturulduktan ayri komutlarla olusturulabilir.

EK BILGI

       Bir semayi  olusturabilmek  icin,  kullanicinin  o  anki  veritabaninda
       CREATE yetkisi olmasi gerekir.

"ORNEKLER

       Bir semayi olusturmak icin:

           CREATE SCHEMA myschema;

       Semayi joe kullanicisi icin, kendi ismiyle olusturmak icin:

           CREATE SCHEMA AUTHORIZATION joe;

       Bir semanin, bir sanal ve bir gercek tabloyla olusturulmasi:

           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    komutlarin    sonunda   noktali   virgul
       kullanilmamistir.

       Asagidaki ornek de ayni 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 ettigi  alt  komutlarin  yaninda  SQL  standardi
       CREATE SCHEMA icinde DEFAULT CHARACTER SET deyimine de izin verir.

       SQL  standardi,  CREATE  SCHEMA  icinde  bu alt komutlarin herhangi bir
       sirada olabilecegini belirtir. PostgreSQL  gerceklemesi  simdilik,  alt
       komutlarda  ileri  yonde  basvurular tum durumlarda elde edememektedir;
       ileri yonde basvurulardan kacinmak icin bazan  alt  komutlarin  yeniden
       siralanmasi gerekli olabilmektedir.

       SQL  standardina  gore  bir semanin sahibi daima icindeki tum nenelerin
       sahibidir.  PostgreSQL  ise,  semanin   icinde   baska   kullanicilarin
       nesnelerine  de  izin  verir.  Bu  sadece  eger  sema  sahibi semasinda
       baskalarina CREATE yetkisi verirse mumkun olur.

ILGILI BELGELER

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

,CEVIREN

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