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