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>