2.10. Database
Nesnelerinin Oluşturulması
2.11.1. Tablo Oluşturma ( CREATE TABLE )
Bir tablo oluşturabilmek için “CREATE TABLE” veya “CREATE ANY TABLE” sistem haklarına sahip olmak gerekir.
Komutun Yapısı :
CREATE TABLE <tablo ismi>
( <sütun ismi> veri tipi,
<sütun ismi> veri tipi,
[<tablo kısıtlaması>]
);
Burada kullanılan ifadelerin anlamları:
Tablo ismi : Oluşturulacak olan tabloya verilecek isimdir.
Sütün ismi : Tablonun sütunlarına verilecek isimlerdir.
Veri tipi : Tablo sütunlarına ait veri tipleridir.
Tablo kısıtlaması: Bir tablo oluşturulurken, tablo tanımlamasının en altına yazılan kısıtlamadır(Table Constraint).Genel Yapısı :
CONSTRAINT <kıstlama ismi>
[UNIQUE | PRIMARY KEY (<sütun ismi>,...)]
[FOREIGN KEY (<sütun ismi>,...)]
REFERANCES <tablo ismi>(<sütun ismi>)
Örnek :
create table envanter_bilg(
serino varchar2(20),
tipkodu varchar2(6),
markodu varchar2(6),
modkodu varchar2(6),
firma varchar2(6),
alis_tar date,
tutar number(7),
kdv number(2),
dov_tip varchar2(6),
aciklama varchar2(30),
creuser varchar2(10),
credate date,
moduser varchar2(10),
moddate date,
constraint pk_serino primary key(serino),
constraint fk_tipkodu foreign key(tipkodu) references stok_tip(kod),
constraint fk_markodu foreign key(markodu) references stok_marka(kod),
constraint fk_modkodu foreign key(modkodu) references stok_model(kod),
constraint fk_firma foreign key(firma) references firma(kod),
constraint fk_doviz_tip
foreign key(dov_tip)
references doviz(kod) );
2.11.2. Görüntü
Oluşturma ( CREATE VIEW)
Görüntü, veritabanının tablolarındaki bilgilerin görülebildiği penceredir. Görüntü, veritabanında sadece “SELECT” cümlesi olarak kaydedilmektedir.
Komut Yapısı :
CREATE [OR REPLACE] [FORCE | NONFORCE] VIEW <görüntü ismi>
( <alias>,...)
AS altsorgu
[WITH [ CHECK OPTION | CHECK OPTION CONSTRAINT <kısıtlama ismi>]]
Yukarıdaki yapıda kullanılan ifadelerin açıklamaları :
OR REPLACE : Eğer, bu isimde bir view varsa onu düşürmeden(drop) yeniden aynı isimde yeni bir view oluşturulabilir.
FORCE : Görüntüyü oluşturacak tablo olmasa dahi görüntünün oluşturulmasını sağlar.
NONFORCE : Görüntüyü oluşturacak tablo olmadan görüntünün oluşturulmasına izin vermez. Eğer belirtilmese dahi standart olarak
alias : Görüntüyü oluşturan SELECT ifadesindeki sütunlara görüntüde yeni bir isim vermeyi sağlar.
altsorgu : Görüntüyü oluşturan SQL sorgusudur.
WITH CHECK OPTION : Görüntü ile yapılan ekleme ve değiştirme işlemlerinin görüntünün SQL cümlesindeki şarta uygunluğunu kontrolü
CONSTRAINT : “WITH CHECK OPTION” ile belirtilen kontrolün bir kısıtlama olarak belirtilmesini sağlayan bölümdür.
Örnek :
create or replace view deneme
as select adi,soyadi,e.serino UrunNo from users,envanter_user e
where users.kod=e.kullanici(+);
Select adi
from deneme;
ADI
---------------
Ali
Ali
Ali
nahit
n
a
atakan
sercan
8 satırları seçildi.
2.11.3.
Tablespace Oluşturma ( CREATE TABLESPACE )
Daha önceki kısımlarda da aktarıldığı gibi tablespace, kullanıcılara ait olan nesnelerin veritabanındaki mantıksal olarak tutulduğu yerdir.
Tablespace oluşturmak için, “CREATE TABLESPACE” sistem hakkına sahip olmak gerekir. Kullanımı şu şekildedir:
CREATE TABLESPACE <tablespace ismi>
DATAFILE <dosya ismi>
SIZE sayı
K|M [AUTOEXTEND OFF | {AUTIOEXTEND
ON | NEXT sayı
K|M | MAXSIZE UNLIMITED | sayi
K|M |}
[ONLINE | OFFLINE ]
[PERMANENT | TEMPORARY ]
Kullanılan ifadelerin açıklamaları :
Tablespace ismi : Oluşturulacak tablespace verilecek addır.
DATAFILE : Tablespace’i oluşturan veri dosyasının tanımlandığı bölümdür.
Dosya ismi : DATAFILE’ın path’ini belirtildiği bölümdür.
AUTOEXTEND OFF : Datafile otomatik artışını iptal etmekte kullanılan komuttur.
AUTOEXTEND ON : Datafile otomatik artışını sağlayan komuttur.
NEXT : Datafile’ ın genişleme miktarı.
MAXSIZE : Datafile’ın genişleyebileceği en son miktardır.
UNLIMITED : Datafile’ın sınırsız büyüyebileceğini göstermektedir. Belirtilmese dahi standart olarak seçilidir.
ONLINE : Tablespace’i oluşturduktan hemen sonra aktif olacağını belirten bölümdür. Standart olarak seçilidir.
OFFLINE : Tablespace’i oluşturduktan hemen sonra pasif olacağını belirten bölümdür.
PERMANENT : Tablespace içinde tutulacak olan nesnelerin kalıcı olarak saklanacağını belirten bölümdür. Standart olarak seçilidir.
TEMPORARY : Tablespace’te geçici nesnelerin tutulacağının belirtildiği bölümdür.
NOT : Tablespace
oluşturmak ve yönetmek için STORAGE MANAGER kullanılmasını tavsiye ederiz.
Örnek : Datafile’ ı belirtilen yerde ve isimde DENEME isminde ve 20M büyüklüğünde bir tablespace oluşturma.
CREATE TABLESPACE deneme
DATAFILE ‘c:\orant\deneme.dbf’ SIZE 20M;
2.11.4.
Kullanıcı Oluşturma ( CREATE USER )
Kullanıcı oluşturabilmek için “CREATE USER” sistem hakkına sahip olmak gerekmektedir. Kullanımı şu şekildedir:
CREATE USER <kullanıcı ismi>
{IDENTIFIED BY <şifre>
|EXTERNALLY }
[DEFAULT TABLESPACE <tablespace ismi>]
[TEMPORARY TABLESPACE <tablespace ismi>
]
[QUOTA UNLIMITED | (sayi K|M )
ON <tablespace ismi>
]
[PROFILE <parametre dosyası>
]
Burada kullanılan ifadelerin açıklamaları :
Kullanıcı ismi : Oluşturulacak olan kullanıcının ismidir.
IDENTIFIED BY şifre : Oluşturulacak olan kullanıcıya verilecek şifredir.
IDENTIFIED EXTERNALLY : Oluşturulacak olan kullanıcıya verilecek şifrenin işletim sistemi tarafından belirleneceğini söyler.
DEFAULT TABLESPACE : Kullanıcını oluşturduğu nesnelerin yerini belirtir. Eğer belirtilmezse “SYSTEM” tablespace’ini kullanır.
TEMPORARY TABLESPACE : Kullanıcının geçici parçalarının saklanacağı yeri ifade eder. Eğer belirtilmezse “SYSTEM” tablespace’ini kullanır.
QUOTA : Kullanıcının belirtilen tablespace’te kullanacağı yer miktarını belirtir.
PROFILE : Kullanıcının değişik özelliklerini belirten parametre dosyasıdır.
Örnek: “ali” isminde ve şifresi de “ali” olan, tablespace’i “user_data” olan, geçici tablespace’i “temp” ve “user_data” tablespace üzerinde sınırsız yer kullanım hakkına sahip olan
bir kullanıcı oluşturmak.
CREATE USER ali
IDENTIFIED BY ali
DEFAULT TABLESPACE user_data
TEMPORARY TABLESPACE temp QUOTA unlimited ON user_data;
2.11.5. Rol
Oluşturma ( CREATE ROLE )
Rol, veritabanındaki hakların toplanmış halidir. Rollerle, DBA ( Database Administrator ) işini daha kolay gerçekleştirebilmektedir. Rol
oluşturabilmek için “CREATE ROLE” sistem hakkına sahip olmak gerekmektedir. Komutun genel kullanımı şöyledir :
CREATE ROLE <rol ismi>
[NOT IDENTIFIED | ( IDENTIFIED BY <şifre> | IDENTIFIED EXTERNALLY)]
Burada yer alan ifadelerin açıklamaları :
NOT IDENTIFIED : Kendisine bu rol hak olarak verildiğinde kullanıcı rolü alınca, aldığına dair onaylamasının gerek kalmadığı durumlarda kullanılır. Standart olarak seçilidir.
IDENTIFIED BY şifre : Kendisine bu rol hak olarak verilen kullanıcı bu rollü aktif hale getirmesi için şifre belirtmesi gerektiği durumlarda kullanılır.
IDENTIFIED EXTERNALLY : Şifrenin işletim sistemi tarafından kontrol edildiği durumlarda kullanılır.
Örnek : Şifresi “sifre” olan “deneme” isminde bir rol oluşturma.
Create rol deneme Identified by sifre;
2.11.6. Hak Atama (GRANT): Oracle’da iki çeşit hak bulunmaktadır. Nesne Hakları ve Sistem Hakları’dır.
Nesne Hakları:
Ø Select : Table ve view içindeki kayıtlara görebilme hakkıdır.
Ø Insert : Table ve view kayıt ekleme hakkıdır.
Ø Update : Table ve view içindeki kayıtları değiştirme hakkıdır.
Ø Delete : Table ve view içindeki kayıtları silme hakkıdır.
Ø Alter : Nesnelerin özelliklerini değiştirme hakkıdır.
Ø Index : Table ve view index tanımlayabilme hakkıdır.
Ø Execute : Procedure ve Function çalıştırabilme hakkı.
Ø References : Forign key tanımlayabilme hakkı.
Ø All : Bu hakkların tümünün yerini tuttar.
GRANT ‘ın Kullanımı:
Grant nesne_hakları On nesne_ismi To kullanıcı_ismi
Bu kullanım şekli ile belirtilen kullanıcıya, belirtilen nesne üzerinde, belirtilen haklar verilmektedir.
Grant [hak][,.......],[rol][,...]
To [kullanıcı][,.....],[Rol][,...]
Bu kullanım şekli ise belirtilen kullanıcı veya rolle, belirtilen hak veya rolü atar.
2.11.7. Hakları
Geri Alma(Revoke)
Bir kullanıcıya verilen hakları geri almak için kullanılan komuttur.
Kullanımı:
Revoke nesne_hakları
On nesne_ismi
From kullanıcı_ismi;
2.11.8. İndeks
Oluşturma ( CREATE INDEX )
İndex, tablodaki bilgilere daha hızlı bir erişim için kullanılan nesnelerdir. Index oluşturmak için “CREATE ANY INDEX” sistem haklarına sahip olmak
gerekir. Komutun genel kullanımı şöyledir :
CREATE [UNIQUE] INDEX <index ismi>
ON {<tablo ismi>(<sütun ismi>,...[ASC |DESC])}
[INITRANS sayi]
[MAXTRANS sayi]
[TABLESPACE <tablespace ismi>]
[PCTFREE sayi]
[NOSORT]
[RECOVERABLE | UNRECOVERABLE ]
Ø UNIQUE : İndekslenecek alanın tekil olacağını belirten bölümümdür.
Ø İndex ismi : Oluşturulacak indekse verilecek isimdir.
Ø Tablo ismi : İndeksin tanımlanacağı tablo ismidir.
Ø Sütun ismi : İndeksin oluşturulacağı sütunlardır.
Ø ASC : İndeksin artan olacağını belirten bölümdür.
Ø DESC : İndeksin azalan olacağını belirten böümdür.
Ø INITRANS : İndeks üzerinde aynı anda ilk olarak kaç tane işlem yapılacağının belirtildiği bölümdür.
Ø MAXTRANS : İndeks üzerinde aynı anda en fazla kaç işlem yapılacağının belirtildiği bölümdür.
Ø TABLESPACE : İndeksin hangi tablespace üzerinde oluşturulacağının belirtildiği bölümdür.
Ø PCTFREE : Sonradan yapılacak ekleme ve değiştirmeler için boş olarak ayrılacak yerin bloğa göre yüzdesinin belirtildiği kısımdır.
Ø NOSORT : Kayıtlar veritabanında sıralı olarak yer alıyorsa, indeks kayıtlarının tekrar sıralanmaması için kullanılan ifadedir.
Ø RECOVERABLE: İndeks için yapılan işlemlerin geri alma ihtimaline kaydedilmesini belirten bölümdür.
Ø
UNRECOVERABLE: İndeks için yapılan işlemlerde geri alma işlemi olmayacağının belirtildiği bölümdür.
Örnek 1: “users” tablosunda “username, adi, soyadi” alanlarına göre index oluşturma işlemi.
create index idx_users on users(username,adi,soyadi);
Örnek 2: “firma” tablosunda “adi, yetkili” alanlarına göre index oluşturma.
create index idx_firma on firma(adi,yetkili);
2.11.9. Sıra
Oluşturma ( CREATE SEQUENCE )
Sequence, sıralı olarak artan alanlar için veritabanında saklanan bir nesnedir. Sequence oluşturabilmek için “CREATE SEQUENCE” veya “CREATE ANY
SEQUENCE” haklarına sahip olmak gerekmektedir. Kullanımı aşağıdaki gibidir :
CREATE SEQUENCE <sira ismi>
[INCREMENT BY sayi]
[START WITH sayi]
[MINVALUE sayi
| NOMINVALUE]
[MAXVALUE sayi
| NOMAXVALUE]
[CYCLE | NOCYCLE ]
[CACHE sayi
| NOCACHE]
[ORDER | NOORDER]
Yukarıda belirtilen ifadelerin anlamları :
Ø INCREMENT BY : Sequence’in artış sırasını belirtir.
Ø MINVALUE : Sequence’in alabileceği minimum değeri belirtir.
Ø
NOMINVALUE : Sequence’te artan sıralar için minimum değerin 1, azalan sıralar için ise minimum değerin -
olduğu belirtir. Standart olarak seçilidir.
Ø MAXVALUE : Sequence’in alabileceği maksimum değeri belirtir.
Ø
NOMAXVALUE : Sequence’te artan sıralar için minimum değerin
, azalan sıralar için ise minimum değerin -1 olduğu belirtir.
Standart olarak seçilidir.
Ø START WITH : Sequence’in başlangıç değerini belirtir.
Ø CYCLE : Sequence’in minimum veya maksimum değerlerine ulaşınca sayı üretmeye devam edeceğini belirtir.
Ø NOCYCLE : Sequence’in minimum veya maksimum değerlerine ulaşınca sayı üretmeye devam etmeyeceğini belirtir. Standart olarak seçilidir.
Ø CACHE : Sequence erişmek için hafızaya alınan sequence miktarını gösterir.
Ø NOCACHE : Hafızaya, sequence alınmayacağını belirtir.
Ø ORDER : Sequence numaralarının sıralı olacağını belirtir.
Ø
NOORDER : Sequence numaralarının sıralı olarak gelmeyeceğini belirtir. Standart olarak seçilidir.
Örnek: 1’den başlayıp 1’er 1’er artan arz_detay_seq isminde bir sequence oluşturma.
CREATE SEQUENCE arz_detay_seq
START WITH 1
INCREMENT BY 1
ORDER;
2.11.10.
TETİKLEYİCİ OLUŞTURMA ( CREATE TRIGGER )
Trigger oluşturma komutudur. Bu komutu kullanabilmek için “CREATE TRIGGER” veya “CREATE ANY TRIGGER” sistem haklarına sahip olmak gerekmektedir.
Komutun genel yapısı :
CREATE [OR REPLACE ] TRIGGER <trigger ismi>
[BEFORE | AFTER ] { [DELETE] or [INSERT] or [UPDATE ] } on <tablo ismi>
FOR EACH ROW
< pl/sql program parçası>
Kullanılar ifadelerin açıklamaları :
Ø OR REPLACE : Eğer trigger daha önceden oluşturulmuş ise yeniden oluşturulacağını belirtir.
Ø Trigger ismi : Trigger’ a verilecek isimdir.
Ø BEFORE : Belirtilen işlemlerden önce trigger’ın çalıştırılacağını belirtir.
Ø AFTER : Belirtilen işlemlerden sonra trigger’ın çalıştırılacağını belirtir.
Ø DELETE : Tabloda bir kayıt silme işlemi gerçekleştirildikten veya gerçekleştirilmeden trigger’ın çalışacağını belirtir.
Ø INSERT : Tabloda bir kayıt ekleme işlemi gerçekleştirildikten veya gerçekleştirilmeden trigger’ın çalışacağını belirtir.
Ø UPDATE : Tabloda bir kayıt güncelleme işlemi gerçekleştirildikten veya gerçekleştirilmeden trigger’ın çalışacağını belirtir.
Ø ON <tablo ismi> : Trigger’ın oluşturulacağı tablonun isminin belirtildiği kısımdır.
Ø FOR EACH ROW : Trigger’ın her bir kayıt satırı için ayrı ayrı çalışıtırılacağını belirtir.
Ø
pl/sql program parçası : Tetikleme işleminin tanımlandığı kısımdır. Yani trigger çalıştığı zaman ne gibi işlemlerin yapılacağının belirtiliği bölümdür.
Örnek : Aşağıdaki trigger yapısının açıklaması : “users” tablosunda “insert, update, delete” işlemlerinden önce çalışan ve “inserting” durumunda “creuser ve credate” alanlarına otomatik değer atayan ve de “statu” alanına
girilen değerin “tek veya kul” olup olmaddığı kontrol eden, “updating” durumunda da “moduser ve moddate” alanlarına otomatik değer atayan, “deleting” durumunda da silinecek kayıdın diğer tablolarla ilişkisi olup olmadığını kontrol
eden ve ilişkisi var ise bu ilişki ortadan kalkmadığı taktirde silme işlemine izin vermeyen bir trigger.
create or replace trigger users_tgr before insert or update or delete on users
for each row
declare say integer;
begin
if inserting then
:new.creuser:=user;
:new.credate:=sysdate;
if :new.statu != 'tek' then
if :new.statu != 'kul' then
raise_application_error(-20001,'Lütfen Statu Kısmına tek veya kul Kelimelerini Giriniz!!');
end if;
end if;
end if;
if updating then
:new.moduser:=user;
:new.moddate:=sysdate;
end if;
if deleting then
select count(*) into say from envanter_user,ariza_log
where envanter_user.kullanici=:old.kod or ariza_log.kullanici=:old.kod;
if (say>0)then
raise_application_error(-20001,'Envanter_User veya Ariza_Log Table larında iligili kayıtlar bulunduğu için silme işlemini gerçekleştiremezsiniz!');
end if;
end if;
end;
2.12.
Veritabanı Nesneleri Üzerinde Değişiklik Yapma
2.12.1.
ALTER INDEX
Bir index’in kayıt parametrelerini değiştirmeye yarayan komuttur. Genel kullanımı aşağıdaki gibidir:
ALTER INDEX <index ismi>
[PCTFREE sayi]
[INITRANS sayi]
[MAXTRANS sayi]
[DEALLOCATE UNUSED [KEEP sayi K | M ]]
Buradaki ifadelerin açıklamaları :
Ø İndex ismi : Değiştirileccek olan index ismini gösterir.
Ø PCTFREE : Index’în her bloğunda sonradan yapılacak olan değişiklikler için ayrılan boş alanı ifade eder.
Ø INITRANS : Her veri bloğunda olması gereken en az transaction sayısını belirtir.
Ø MAXTRANS : Her veri bloğunda olabilecek en fazla transaction sayısını gösterir.
Ø DEALLOCATE UNUSED : Index’in sonunda boş kalan yerin bırakılmasını sağlamaktadır.
Ø KEEP : Boş alanın bırakılmasından sonra ayrıca kalmsı istenen byte sayısının belirtildiği kısımdır.
Örnek_1: İndex ismini değiştirme işlemi.
ALTER INDEX idx_firma RENAME TO indx_firma;
2.12.2.
ALTER ROLE
Bir role erişim haklarını değiştirme işlemlerinde kullanılan komuttur.Genel kullanımı aşağıdaki gibidir:
ALTER ROLE <rol ismi>
[NOT IDENTIFIED ] | [IDENTIFEID [BY <şifre>] |EXTERNALLY]]
Burada kullanılan ifadelerin anlamları :
NOT IDENTIFIED : Rolün şifresiz oluşturulmasını sağlamaktadır.
IDENTIFIED : Rol için şifrenin belirtildiği kısımdır.
Örnek :”deneme “ isminde ve şifreis “deneme” olan rolün şifresini “dene” şeklinde değiştirme işlemi.
alter role deneme identified by dene
2.12.3. ALTER SEQUENCE
Bir sıra için numara üretme işlemini yeniden tanımlama komutudur.Genel kullanımı aşağıdaki gibidir:
ALTER SEQUENCE <sira ismi>
{ INCREMENT BY sayi }
[MINVALUE sayi
| NOMINVALUE]
[MAXVALUE sayi
| NOMAXVALUE]
[CYCLE | NOCYCLE ]
[CACHE sayi
| NOCACHE]
[ORDER | NOORDER]
Yukarıda belirtilen ifadelerin anlamları :
Ø INCREMENT BY : Sequence’in artış sırasını belirtir.
Ø MINVALUE : Sequence’in alabileceği minimum değeri belirtir.
Ø
NOMINVALUE : Sequence’te artan sıralar için minimum değerin 1, azalan sıralar için ise minimum değerin -
olduğu belirtir. Standart olarak
seçilidir.
Ø MAXVALUE : Sequence’in alabileceği maksimum değeri belirtir.
Ø
NOMAXVALUE : Sequence’te artan sıralar için minimum değerin
, azalan sıralar için ise minimum değerin -1 olduğu belirtir.
Standart olarak seçilidir.
Ø START WITH : Sequence’in başlangıç değerini belirtir.
Ø CYCLE : Sequence’in minimum veya maksimum değerlerine ulaşınca sayı üretmeye devam edeceğini belirtir.
Ø NOCYCLE : Sequence’in minimum veya maksimum değerlerine ulaşınca sayı üretmeye devam etmeyeceğini belirtir. Standart olarak seçilidir.
Ø CACHE : Sequence erişmek için hafızaya alınan sequence miktarını gösterir.
Ø NOCACHE : Hafızaya, sequence alınmayacağını belirtir.
Ø ORDER : Sequence numaralarının sıralı olacağını belirtir.
Ø
NOORDER : Sequence numaralarının sıralı olarak gelmeyeceğini belirtir. Standart olarak seçilidir.
Örnek:”arz_detay_seq” ismindeki sequence’in alabileceği en büyük sayıyı 2000 yapamak.
alter sequence arz_detay_seq
maxvalue 2000;
2.12.4.
ALTER TABLE
Bu komutla bir tabloda , sütun ekleme, sütun kısıtlaması, tablo üzerindeki tüm tetiklemeleri(trigger) açma/kapama, bir kısıtlamayı
açma/kapama ve düşürme işlemleri yapılabilmektedir.
Genel kullanımı:
ALTER TABLE
[ADD (<sütun ismi> <veri tipi> [DEFAULT <değer>],...)]
[MODIFY (<sütun ismi>
[<veri tipi>] [DEFAULT <değer>],...)]
Buradaki ifadelerin açıklamaları :
Ø ADD : Bir sütun veya kısıtlama eklemesinin yapıldığı bölümdür.
Ø
MODIFY : Bir sütunun özelliklerini değiştirmeye yarayan bölümdür.
Örnek: “firma” tablosuna “fax” isminde yeni bir sütun ekleme.
alter table firma ( fax varchar2(11));
2.12.5.
ALTER TABLESPACE
Bu komutla, veri dosyası eklenebilmektedir, veri dosyasının ismi, kayıt parametreleri değiştirilebilir. Tablespace’i açma/kapama işlemleri
yapılabilir. Genel kullanımı aşağıdaki gibidir:
ALTER TABLESPACE <tablespace ismi>
[ADD datafile {<dosya bölümü>,..}
[autoextend |OFF |
| ON next sayi K|M [MAXSIZE [UNLIMITED | sayi K|M|
]]
[ONLINE]
[OFFLINE]
[RENAME DATAFILE {<dosya ismi>,..} TO {<dosya ismi>,...}]
2.12.6.
ALTER TRIGGER
Bir veritabanında bulunan tetiklemenin(trigger) açma/kapama/derleme kopmutudur. Genel kullanımı:
ALTER TRIGGER <tetikleme ismi> [ENABLE] [DISABLE] [COMPILE]
Burada kullanılan ifadelerin açıklamaları:
Ø Tetikleme ismi : Değiştirilecek olan tetikleme(trigger) ismidir.
Ø ENABLE : Trigger’ı aktif hale getirir.
Ø
DISABLE : Trigger’ı pasif hale getirir.
2.12.7.
ALTER USER
Bir kullanıcının şifresini , standart tablespace’ini , geçici tablespace’ini , tablespace kullanma haklarını ve standart rollerini değiştirme
komutudur.
ALTER USER <kullanıcı ismi>
[ IDENTIFIED [ BY <şifre>] | [EXTERNALLY]]
[ DEFAULT TABLESPACE <tablespace ismi>]
[ TEMPORARY TABLESPACE <tablespace ismi>]
[DEFAULT ROLE [ {<rol ismi> , ... }]| [ALL [EXCEPT (<rol ismi>)]] | [NONE]]]
Buradaki ifadelerin açıklaması :
Ø IDENTIFIED BY şifre : Kullanıcının şifresinin değiştirildiği bölümdür.
Ø IDENTIFIED EXTERNALLY : Kullanıcının işletim sisteminin şifresini kullanacağının belirtildiği bölümdür.
Ø DEFAULT TABLESPACE : Kullanıcını oluşturduğu nesnelerin yerini belirtir. Eğer belirtilmezse “SYSTEM” tablespace’ini kullanır.
Ø TEMPORARY TABLESPACE : Kullanıcının geçici parçalarının saklanacağı yeri ifade eder. Eğer belirtilmezse “SYSTEM” tablespace’ini kullanır.
Ø DEFAULT ROLE : Kullanıcı için standart olarak rol tanımlama bölümüdür.
Ø ALL : Kullanıcı için bütün rolleri standart olarak tanımlama bölümüdür.
Ø
NONE : Kullanıcı için standart olarak rol tanımlamama bölümüdür.
2.12.8.
ALTER VIEW
Bir görüntüyü (view) yeniden derleme komutudur. Genel kullanımı aşağıdaki gibidir:
ALTER VIEW <görüntü ismi> COMPILE
2.13. VERİTABANI NESNELERİNİN DÜŞÜRÜLMESİ (DROP)
2.13.1.
DROP INDEX
Index düşürme (drop) komutudur.
DROP INDEX <index ismi>
2.13.2.
DROP ROLE
Rol düşürme komutudur.
DROP ROLE <rol ismi>
2.13.3.
DROP SEQUENCE
Sıra düşürme komutudur.
DROP SEQUENCE <sıra ismi>
2.13.4.
DROP TABLE
Table düşürme komutudur.
DROP TABLE <table ismi> [CASCADE CONSTRAINTS]
Ø
CASCADE CONSTRAINTS : Düşürülecek tablo ile ilgili olan bütün kısıtlamaların da düşürülmesini sağlar. Eğer , bir tablonun kısıtlamalarına başka bir tablodan referanslar var ise
veritabanı bu referanslar mevcut iken tabloyu düşüremez. Bu durumda bu seçeneğin seçilmesi gerekmektedir.
2.13.5. DROP
TABLESPACE
Tablespace’i düşürme komutudur.
DROP TABLESPACE <tablespace ismi>
[ INCLUDING CONTENTS [ CASCADE CONSTRAINTS]]
Ø INCLUDING CONTENTS : Tablespace’in bütün içeriğinin de boşaltılacağını belirtir.
Ø
CASCADE CONSTRAINTS : Tablespace içerisindeki tablolarla diğer tablespacelerdeki tablolarda olan bütün kısıtlamaların da düşürülmesini sağlar.
2.13.6.
DROP TRIGGER
Trigger’ı düşürme komutudur.
DROP TRIGGER <tetikleme ismi>
2.13.7.
DROP USER
User düşürme komutudur.
DROP USER <user ismi> [CASCADE]
Ø
CASCADE : Kullanıcıya ait bütün nesnelerin de düşürüleceğini belirtir.
DROP VIEW
Görüntü düşürme komutudur.
DROP VIEW <görüntü ismi>