Provided by:
manpages-tr_1.0.5.1-1.1_all 
İ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