You are on page 1of 6

VER TABANI YNETM SSTEMLER I

BLM 12 Alako BURMA

12. SQL de YNETMSEL FONKSYONLAR

12.1. VIEWS ( Tablo Grnm)

Tablo grnmleri veri tabannda tanm olan tablolardan sorgulama


sonucunda elde edilir. Tablolarn tersine fiziksel bir yer tutmazlar. Uygulamalarda pek
ok pratiklik salarlar.
Grnt oluturabilmek iin Select cmlesi kullanlmas gerekir. Bir grnt bir
yada daha fazla tablodan oluturulabilecei gibi bir baka grntden (view) de
oluturulabilir.
rnek-1) SQL> CREATE VIEW personel_maas AS
2 select a.sicilno, a.adi, a.soyadi, b.maas
3 from personel a, maaslar b
4 where a.sicilno=b.sicilno;
Personele ait sicilno, ad ve soyad bilgisi Personel tablosunda, maa bilgisi ise
maaslar tablosunda bulunmaktadr. Personele ait maalar listelenmek istenildiinde;
her seferinde sorgu yazlmas gerekmektedir. Bunun yerine bir view yaratlarak bu
view listelenirse her seferinde sorgu yazmaya gerek kalmaz. Bu view daha sonra
form veya rapor almnda da kullanlabilir ve burada olduu gibi byk kolaylk salar.

ekil 12.1.1. View Ekran-1


Personel_maas oluturulan view ismidir. As deyiminden, sonra view alanlarnn
hangi bilgilerden oluaca yazlr. Bu ise select komutu ile renilen klasik select
sorgusudur. Tablo grnmleri, tablolarda yaplan deiikliklerden etkilenmezler.
Tabloya yeni bir kaytn eklenmesi, kaytlarn silinmesi veya deitirilmesi, tabloya
viewde olmayan yeni bir kolonun eklenmesi veya silinmesi gibi bir deiiklik
viewlerin (grnmlerin) yapsn deitirmez.

rnek-2) SQL> SELECT * FROM personel_maas;


Personel ve personele ait maa bilgisi personel_maas grnmnden listelenmitir.

89
VER TABANI YNETM SSTEMLER I Alako BURMA

ekil 12.1.2. View Ekran-2

View ler tpk tablolar gibi ilem grrler. Ama fiziksel olarak diskte yer kaplamazlar.

Viewlerin faydalar aada sralanmtr.


1. Tablolardan deiik kullanc gruplarna uygun alanlarn ayrlmas salanr. Bu
da gvenlik asndan nemlidir.
2. Birka tablodan elde edilen srekli kullanlan karmak sorgulardan view
oluturularak srekli hazr tutulur ve her seferinde bu karmak sorgu yazlmak
yerine view den seim yaplr.
3. Karmak sorgular iin yada tabloda bulunan zel satrlar iin tablo
grnmleri oluturularak uygulamalarda pratiklik salanr.

90
VER TABANI YNETM SSTEMLER I Alako BURMA

12.2. CREATE TABLESPACE (Tablo Uzay = Veri Alan)

Kullanclara ait olan nesnelerin veritabannda mantksal olarak tutulduu yere


tablo uzay ismi verilir. Bir tablo uzay oluturulurken, bu tablo uzaynn verilerinin
hangi veri dosyasna konulaca ve bu dosyann dizini ile bykl bildirilmelidir.

CREATE TABLESPACE tbs_esef


DATAFILE 'c:\orasql\tbs_esef.dat' SIZE 10M
DEFAULT STORAGE (INITIAL 10K NEXT 50K
MINEXTENTS 1 MAXEXTENTS 999)
ONLINE;

Tbs_esef tablespace iin verilen isimdir. C:\orasql veri alannn yaratlaca


dizin ve tbs_esef.dat ise diskte grntlenecek olan veri alannn ismidir.
SIZE bilgisi veri dosyasnn diskte fiziksel olarak kaplayaca yeri belirler.
Burada 10M, 5K gibi deerler girilebilir. INITIAL bildirisi tablo uzay oluturulduunda,
ilk alaca genilemenin bykln belirler. Next tablo uzay oluturulduktan sonra
alaca genilemelerin bykln belirler. MINEXTENTS tablo uzay
oluturulduunda ilk olarak alaca minimum genileme saysnn belirtildii
blmdr. MAXEXTENTS bir tablo uzaynn ilk olarak ald genileme de dahil
olmak zere alabilecei maksimum genileme saysnn belirtildii blmdr.

12.3. CREATE USER (Kullanc)

Kullanc veritaban nesnelerinin sahibidir. Kullanclar, nesneleri oluturur,


kullanr ve silerler. Oracle veritaban ilk kurulduunda standart olarak kullanc
tanmlanr. Bunlardan bir SYS kullancsdr. SYS kullancs veri szlnn sahibi
olan kullancdr. Tm nesneleri oluturma hakkna sahiptir ve dier btn
kullanclarn nesnelerine eriebilir. SYS kullancsnn ilk ifresi change_on_install
olarak belirlenmitir. kinci kullanc SYSTEM kullancsdr. SYSTEM kullancs veri
szln kullanma hakkna sahiptir. nemli nesneleri oluturma hakkna da
sahiptir. lk ifresi manager olarak belirlenmitir. Dier kullanclarn nesnelerine
erime hakkna da sahiptir. nc kullanc SCOTT kullancsdr. SCOTT kullancs
veritabanna balangta yklenen demo tablolarn sahibidir. Bu kullancnn
nesneleri kullanlarak SQL denemeleri yaplabilir.
CREATE USER komutunu SYS ve SYSTEM kullanclar standart olarak
kullanabilir. Bu hak dier kullanclara da verilebilir. Her kullancnn nesnelerini
tutmak iin bir tablo uzay oluturmak sistemin performans asndan gereklidir.
Kullanc oluturulurken bu tablo uzay o kullancya atanr.

CREATE USER ogrenci


IDENTIFIED BY ogrenci1
DEFAULT TABLESPACE tbs_esef
QUOTA UNLIMITED ON tbs_esef

91
VER TABANI YNETM SSTEMLER I Alako BURMA

Yukardaki rnekte ogrenci adnda bir kullanc oluturulmutur. Kullancnn ifresi


IDENTIFIED BY ile ogrenci1 olarak belirtilmitir. Kullancnn kendi nesnelerini
oluturaca tablo uzay iin ise tbs_esef tablo uzay bildirilmitir. Kullancnn bu
tablo uzayndaki tm alan kullanabilecei QUOTA UNLIMITED ile belirlenmitir.

12.4. CREATE ROLE

Rol veritabanndaki haklarn toplanm haline denir. Veritaban yneticisi rolleri


kullanarak sistemin gvenliini daha kolay salayabilir. Roller Oracle tarafndan
nceden tanmlanm roller ve kullanc tanml roller olarak iki ekilde dnlebilir.
Oracle tarafndan nceden tanmlanan roller be tanedir:

Rol Atanm Haklar


ALTER SESSION,CREATE CLUSTER, CREATE
DATABASE LINK, CREATE SEQUENCE, CREATE
CONNECT SESION, CREATE SYNONYM, CREATE TABLE,
CREATE VIEW
CREATE CLUSTER, CREATE PROCEDURE, CREATE
RESOURCE
SEQUENCE, CREATE TABLE, CREATE TRIGGER
DBA WITH ADMIN OPTION ile birlikte btn sistem haklar
SELECT ANY TABLE, BACKUP ANY TABLE, SYS.INCVID,
EXP_FULL_DATABASE SYS.INCFIL ve SYS.INCEXP tablolarna INSERT, UPDATE
veDELETE hakk
IMP_FULL_DATABASE BECOME USER, WRITEDOWN

CREATE ROLE tablo_incele


GRANT SELECT ON personel TO tablo_incele

Yukardaki rnekte tablo_incele isimli bir rol oluturulmutur. Daha sonra bu role
personel tablosu zerinde listeleme ilemi yapma hakk verilmitir. Bylece bu roln
atand kullanc personel tablosu zerinde SELECT komutunu altrabilir. Bunun
dndaki insert, updatei delete vb. komutlar altramaz.

12.5. CREATE INDEX

Daha ncede bahsedildii gibi indeks tablodaki kaytlara daha hzl eriim iin
kullanlan nesnelerdir. Bir indeks oluturabilmek iin CREATE ANY INDEX sistem
hakkna sahip olmak gerekir. ndeks bir tablonun bir alan zerinde tanmlanabilecei
gibi birden fazla alan zerinde de tanmlanabilir.

CREATE INDEX indeks1 ON personel(sicilno)

Personel tablosu zerinde sicilno alan iin index1 isimli bir index yaratlmtr.

92
VER TABANI YNETM SSTEMLER I Alako BURMA

12.6. CREATE SEQUENCE

Sra, sral olarak artan alanlar iin veritabannda tutulan nesnedir. Sra
tekrarlamayan saysal bilgi elde etmek iin kullanlr. rnein sicil numaralar, rgenci
numaralar, abone numaralar, mteri numaralar gibi. rnein birden balayan ve
birer birer artan bir sra yaratmak iin:

CREATE SEQUENCE sicilno START WITH 1 INCREMENT BY 1

12.7. GRANT

Sistem ya da nesne haklarnn kullanclara veya rollere atanmas iin


kullanlan komuttur.

GRANT DELETE ON personel TO ogrenci

Yukardaki rnekte ogrenci kullancsna personel tablosunda silme yapma yetkisi


verilir.

12.8. REVOKE

Sistem ya da nesne haklarnn kullanclardan veya rollerden geri alnnmas


iin kullanlan komuttur.

REVOKE DELETE ON personel FROM ogrenci

Yukardaki rnekte ogrenci kullancsndan personel tablosunda silme yapma yetkisi


geri alnr.

93
VER TABANI YNETM SSTEMLER I Alako BURMA

KAYNAKLAR
Yaar Gzdereli, Veritaban Programlamaya Giri, Byte Dergisi Eitim Dizisi,
Temmuz 2003
Yaar Gzdereli, Veritaban Programlama II, Byte Dergisi Eitim Dizisi, ubat 2004
Osman Nihat en, Oracle, SQL, SQL*Plus, PL/SQL ve Veritaban Ynetimi, kinci
Bask, Beta Yaynlar, stanbul, 2000
Aydn ekihanov, Oracle8i A Practical Guide To SQL, PL/SQL, Developer 6, Atlm
University Publications, 2001
Oracle 8i Enterprice Edition Documentation
Bilkent niversitesi Bilgisayar Merkezi, Veri Taban Ynetim Sistemine Giri ve SQL,
Temmuz 1996
http://iletisim.marmara.edu.tr/bilisim/veri%20modelleri(csutcu%20dr%20tezinin%20bi
r%20bolumu).pdf
http://www.yazilimgrubu.com/dokuman.php?sayfa=2&no=%2010
http://www.yazilimgrubu.com/dokuman.php?sayfa=2&no=%2011
http://www.yazilimgrubu.com/dokuman.php?sayfa=2&no=%2012
http://www.farukcubukcu.com/downloads/sqlkomutlar.doc
http://www.farukcubukcu.com/downloads/sqlkomutlari.doc
http://www.bto.yildiz.edu.tr/dosyalar/ebt2_konu5.doc
http://www.bto.yildiz.edu.tr/dosyalar/ebt2_konu4.doc
http://www.verivizyon.com
http://www.verivizyon.com/detail.asp?cid=110
http://www.verivizyon.com/detail.asp?cid=96
http://cisn.odtu.edu.tr/2002-7/veritabani.php
http://serdar.ktg.com.tr/oracle.htm
http://www.geocities.com/cakmak_cengiz/
http://www.olgun.com/main_sql_destek.asp
www.oracle.com

94

You might also like