Professional Documents
Culture Documents
RNEK: 1) Btn bilgileri personel tablosundan koulsuz olarak listele. SELECT * FROM personel SE * GEL personel
RNEK:2) Personel tablosundan SE komutuyla istenen stun adlarn belirt. SELECT sicil,sosy_g_no,ad,soyad,dog_tar, adres,cins,brt,bl_no,yn_s_g_n FROM personel; SE sicil,sosy_g_no,ad,soyad,dog_tar, adres,cins,brt,bl_no,yn_s_g_n GEL personel;
RNEK:3)Personel tablosundan istenen stn balklarn listele. SELECT sicil,ad,soyad,brt FROM personel; SE sicil,ad,soyad,brt GEL personel;
DISTINCT
TEKRARSIZ
TANIM:SQLde tablo iinde birbirinin ayn datalar bulunabilir.Ayn satrlarn listeleme esnasnda bir kez yazlmas RNEK: 1)Par _sat dosyasndan sat_nolar tekrarsz olarak listelenecektir. SELECT DISTINCT sat_no FROM par_sat; SE TEKRARSIZ sat_no GEL par_sat;
TANIM:Tablodaki stunlardan ,belirli bir stuna gre listelemek iin SE komutuna ,SIRALA eklenir. RNEK: 1)Personel dosyasndan,sicil,ad,soyad,brt stunlarn se ve brt(maaa)gre bykten ke srala. SELECT sicil,ad,soyad,brt FROM personel
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
22 11 2013
RNEK 2)Personel tablosundan seili stunlar ncelik adda olmak zere (B-K) ad bozmadan soyad (K-B) sral listeler. SELECT sicil,ad,soyad,brt FROM personel ORDER BY ad ASC,soyad DESC, brt ASC; veya; SELECT sicil,ad,soyad,brt FROM personel ORDER BY ad,soyad DESC,brt; SE sicil,ad,soyad,brt GEL personel SIRALA ad,soyad K-B,brt; SE sicil,ad,soyad,brt GEL personel SIRALA ad B-K,soyad K-B, brt B-K;
TANIM:Verilen koulu salayanlar listelenir.ki veri birbiriyle karlatrlmaktadr. Karlatrlan verilerin tr ayn olmaldr. SELECT * FROM personel WHERE brt > 5000000; SE * GEL personel OLAN brt > 5000000;
KARILATIRMA OPERATRLER:
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm 2/20
22 11 2013
ANLAMI ...den daha kk ...den daha byk Eit Kk veya eit Byk veya eit Eit deil Eit deil ...den kk deil ...den byk deil
22 11 2013
listele. SELECT * FROM personel WHERE cins = .T.; SE * GEL personel OLAN cins =.D.;
RNEK:Maa 5000000dan fazla olan ve cinsiyeti erkek olan personelin listelenmesi istenir yani iki koul verilmektedir ve ikisininde olmas istenir. SELECT * FROM personel WHERE brt >5000000 AND cins =.T.; NOT OR DEL VEYA SE * GEL personel OLAN brt > 5000000 AND cins =.D.
RNEKLER: i)Doum tarihi 1960dan nce olan maa 6000000 10000000 arasndaki bayan personelin listele. SELECT * FROM dog_tar < {01/01/60} AND brt > = 6000000 AND brt < =10000000 AND cins = .F.; SE * GEL dog_tar < {01/01/60} VE brt > = 6000000 VE brt < =10000000 VE cins =.Y.;
)Sat blmyle muhasebe blmndekiler kimlerdir? (Sat blmnn bl_nosunun 1 ve muhasebe blmnn bl_nosunun 2 olduu varsaylmaktadr.) SELECT * FROM personel WHERE bol_no =1 OR bol_no = 2; SE * GEL personel OLAN bol_no = 1 VEYA bol_no =2;
)Blm Sat yada Muhasebe olamayan 1960dan sonra domu bayan personeli listele. 1.YAZILIM: SELECT *
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
SE *
4/20
22 11 2013
FROM personel WHERE NOT (bl_no =1 OR bl_no =2) AND dog_tar > ={01/01/60} AND cins =.F.; 2.YAZILIM: SELECT * FROM personel WHERE bl_no <> 1 AND bl_no <> 2 AND dog_tar > ={01/01/60} AND cins =.F.;
GEL personel OLAN DEL (bl_no =1 VEYA bl_no =2)VE dog_tar >={01/01/60} VE cins=.Y.;
SE * FROM personel OLAN bl_no <> 1 VE bl_no <> 2 AND dog_tar > = {01/01/60} VE cins =.Y.;
RNEK:i) Blm 1,2,3 olmayan personel kimlerden olumaktadr? SELECT * FROM personel WHERE bol_no NOT IN (1,2,3); SE * GEL personel OLAN bl_no DEL NDE (1,2,3);
RNEK:ii) Bl_nosu 1,2 yada 3 olan personeli listele. SELECT * FROM personel WHERE bl_no = 1 OR bl_no= 2 OR bl_no = 3; SE * GEL personel OLAN bl_no =1 VEYA bl_no =2 VEYA bl_no = 3;
Bu rnein IN ile yaplm ekli daha ksadr. SELECT * FROM personel WHERE NOT bl_no IN (1,2,3); SE * GEL personel OLAN DEL bl_no NDE (1,2,3);
SE * GEL personel
5/20
22 11 2013
Adres LIKE %TAKSM% ifadesi adres iinde her hangi bir yerde TAKSM yazan yerde oturan personeli listeleyecektir. LIKE szcn ,alt izgi (-) sembol ile birlikte kullanmakta mmkndr. SELECT * FROM personel WHERE ad LIKE Mehmet -----; SE * GEL personel OLAN ad BULUNAN Mehmet ----;
ekildeki komut ile ad alan Mehmet ile balayan ve ad alan uzunluu 10 karakter olan isimlere sahip personeli listeleyecektir.Mehmet Ali,Mehmet Can- Mehmetcik gibi isimler listeleyecektir.Anlalaca gibi - sembol , tek karakterlik bir bilgiyi temsil etmektedir. SQLDE ARTMETKSEL FADELER VE FNKSYONLAR : KME FONKSYONLARI: SUM FONKSYONU: SUM TOPLA
Fonksiyonun argman olarak belirtilen stun ile ilikili olana toplama ilemini gerekletirir. RNEK:letmedeki personelin brt maalar toplam ne kadardr? SELECT SUM (brt) FROM personel; SE TOPLA(brt) GEL personel;
6/20
22 11 2013
Aritmetiksel ortalama (average) hesaplamak iin kullanlr. SELECT AVG(brt) FROM personel; MAX FONKSYONU: MAX ST SE ORT (brt) GEL personel;
Tablo iinde ,belirtilen sutun (alan)iindeki en byk deeri bulur. RNEK:letme iindeki en yksek maa ne kadardr? SELECT MAX (brt) FROM personel; SE ST (brt) GEL personel;
Tablo iinde,belirlenen sutun alan iindeki en kk deeri bulur. RNEK:letme iinde 4 Mays 1970den nce doanlar iin,asgari cret nedir? SELECT MIN(brt) FROM personel WHERE dog_tar < {05/04/70}; COUNT FONKSYONU: COUNT SAY SE ALT(brt) GEL personel OLAN dog_tar < {05/04/70};
Tablo iinde ,her hangi bir sayma ilemi gerekletirmek iin kullanlr. RNEK:creti 6000000dan olan personel says nedir? SELECT COUNT (*) FROM personel WHERE brt > 6000000; SE SAY(*) GEL personel OLAN brt > 6000000;
COUNT (SAY) fonksiyonu DISTINCT (TEKRARSIZ)szc ile de kullanlr. RNEK:Personel tablosunda mevcut personelin iletme iinde ka tane farkl blmde altn bul.
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm 7/20
22 11 2013
RNEK: Her blmdeki ortalama maa nedir? SELECT bl_no,AVG (brt) FROM personel GOUP BY bl_no; HAVING: HAVING SAHP SE bl_no GEL personel GRUPLA bl_no;
Gruplandrarak kmeleme fonksiyonunu uygularken koulda verilebilir.Bu durumda grup zerindeki hesaplamalarla ilgili koul belirtilirken HAVING (SAHP) szc kullanlr. RNEK:En yksek maan 9000000dan fazla olduu blmlerdeki personele ait ortalama maalar listele. SELECT bl_no,AVG (brt) SE bl_no, ORT(brt) FROM personel GEL personel GROUP BY bl_no GRUPLA bl_no HAVING AVG(brt)> 9000000; SAHP ORT(brt)> 9000000; HAVING(SAHP) szc SELECT(SE) konusunda GROUP BY(GRUPLA) bulunmad zaman geersizdir.HAVING(SAHP) szcn izleyen ifade iinde ,SUM(TOPLA), COUNT(*) (SAY),AVG(ORT),MAX(ST) yada MIN(ALT) fonksiyonlarndan en az biri bulunmaldr. HAVING (SAHP) szc sadece gruplanm veriler zerindeki ilemlerde geerlidir. WHERE (OLAN) szc bir tablonun tek tek satrlar zerinde ilem yapan koullar iinde geerlidir. Baz durumlarda HAVING(SAHP) ve WHERE(OLAN) szckleri ile birlikte SELECT(SE) komutu iinde kullanlabilir. RNEK:Personel tablosu iinde her blmde erkek personele ait maalar iin ortalamann 9000000dan fazla olduu blmleri listele. SELECT bl_no, AVG (brt) FROM personel WHERE cins= .T. GROUP BY bl_no HAVING AVG (brt) > 9000000; SE bl_no, ORT (brt) GEL personel OLAN cins= .D. GRUPLA bl_no SAHP ORT(brt) > 9000000;
8/20
22 11 2013
RNEK: Personel ve blm adl 2 tablo bulunmaktadr. alan her personel ve personelin yneticisi ile ilikili bilgiler nelerdir? SELECT * FROM personel,blm WHERE personel .bl_no=blm.blm_no ; SE * GEL personel,blm OLAN personel.bl_no = blm.blm_no;
TABLO ADI
KOLON ADI
RNEK: JOIN (LKLENDR) ileminde arzu edilen(sicil,ad,soyad,bl_no,yn_s_g_n) alanlarn listele. SELECT sicil,ad,soyad,bl_no,yn_s_g_n FROM personel,blm WHERE personel .bl_no = blm .blm_no; SELF-JOIN: SE sicil,ad,soyad,bl_no,yn_s_g_n GEL personel,blm OLAN personel .bl_no = blm .blm_no;
KENDSYLE -LKLENDR
TANIM:Bir tablonun kendisi ile birletirilmesine KENDSYLE-LKiLENDR denir. (SELF-JOIN) SELECT A. sicil , A.ad , A.soyad, B .ad , B.soyad , B.dog_tar FROM personel A , personel B WHERE A. yon_sos_g_n =B .sosy_g_no;
SE A. sicil , A.ad , A.soyad, B .ad , B.soyad , B.dog_tar GEL personel A , personel B OLAN A. yon_sos_g_n =B .sosy_g_no;
NESTED SELECTS:
TANIM: ie gemi SELECT(SE)komutlarndan oluur.teki. se komutunun bulduu sonucu d tak SE komutumuz ilevini yerine getirmesi iin kullanlr. RNEK:Para numaras 24 olan paray ,projelerde kullanan alan personeli listele. SELECT * FROM personel WHERE sosy_g_no IN(SELECT per_s_g_no
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
22 11 2013
FROM para,proje,alma WHERE pr_no = proj_no AND proj_no =proj_no AND par_no =24);
RNEK: Fatihte oturan personelin alt projelerin adlarn ve yerlerini listele. SELECT proj_ad,yer FROM proje WHERE proj_no IN (SELECT proje_no FROM personel,alma WHERE sosy_g_no = per_s_g_no AND adres LIKE % fatih %); SE proj_ad,yer GEL proje OLAN proj_no NDE (SE proje_no GEL sosy_g_no = per_s_g_no OLAN sosy_g_no = per_s_g_no VE adres BULUNAN % fatih %);
UNION SZC:
UNION BRLEM
TANIM:ki ayr SE komutunun sonucunda elde edilen tablolarn birleimi ilemini gerekletirir.
RNEK:Ad Ahmet ve Soyad Caner olan kii yada kiileri iletmenin yrtt projelerde alan bir kii (sradan bir personel yada blm yneticisi)olarak bulunduran projelerin isimlerini ve projelerin yrtld yerleri listele.
(SELECT proj_ad,yer FROM proj,blm,personel WHERE bl_no=blm_no AND y_sos gno = sosy_g_no AND ad =AhmetAND soyad =Caner) UNION (SELECT proj_ad,yer FROM proje,alma,personel WHERE proj_no = proje_no AND Per_s_g_no = sosy_g_no AND ad =Ahmet AND soyad =Caner)
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
(SE proj_ad,yer GEL proj,blm,personel OLAN bl_no=blm_no VE y_sos gno = sosy_g_no VE ad =Ahmet VE soyad =Caner) BRLEM (SE proj_ad,yer GEL proje,alma,personel OLAN proj_no = proje_no VE Per_s_g_no = sosy_g_no VE ad =Ahmet VE soyad =Caner)
10/20
22 11 2013
KOULLAR:
UNION (BRLEM) szc ile ,iki yada daha ok kii SELECT (SE)in sonucu olan tablolarn kme birleimi ilemine tabi tutulmas iin 2 koul gereklidir. 1)SELECT (SE) komutlar sonucunda elde edilecek tablolar ayn sayda kolon iermelidirler. 2)Sonu tablolar karlkl olarak kolonlarn ayn veri tipi ve ayn genilikte olmaldr.
ANY :
ANY HER HANG BR
RNEK:Sat blmnde alan personelin her hangi birinden daha dk maa alan ve mhendislik blmndeki kiileri listele. SELECT * FROM personel WHERE brt < ANY (SELECT brt FROM personel WHERE bl_no = 2) AND bl_no =1; E DEER FADE: SELECT * FROM personel WHERE brt < (SELECT MAX (brt ) FROM personel WHERE bl_no = 2) AND bl_no =1; SE * GEL personel OLAN brt < (SE ST (brt ) GEL personel OLAN bl_no = 2)VE bl_no =1; SE * GEL personel OLAN brt < HER HANG BR (SE brt GEL personel OLAN bl_no = 2) VE bl_no = 1;
ALL:
ALL HEPS
RNEK:Sat blmnde alan ve mhendislik blmndeki personelin hepsinden daha fazla maa alan personeli listele.Bu rnekte sat blm kodu = 2 ve mhendislik blm kodu = 1 alnmtr. YAPILI YOLU: 1)SELECT * FROM personel WHERE brt > ALL (SELECT brt FROM personel
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
SE * GEL personel OLAN brt > HERS (SE brt GEL personel
11/20
22 11 2013
2)SELECT * FROM personel WHERE brt > (SELECT MAX (brt) FROM personel WHERE bl_no = 1) AND bl_no =2;
SE * GEL personel OLAN brt > (SE ST (brt) GEL personel OLAN bl_no = 1) VE bl_no =2;
EXISTS:
EXISTS MEVCUT
VE ,VEYA ,DEL operatrleri ile kullanlabilir. RNEK: 27 nolu paray satan satclarla ilikili tm bilgileri listele. SELECT * FROM satc WHERE EXISTS (SELECT * FROM par_sat WHERE sat_no = satc_n AND para_n =27); SE * GEL satc OLAN MEVCUT (SE * GEL par_sat OLAN sat_no = satc_n VE para_n = 27);
NOT EXISTS:
NOT EXISTS MEVCUT DEL
VE ,VEYA ,DEL operatrleri ile kullanlabilir. RNEK: 27 nolu paray satmayan satclar kimlerdir? SELECT * FROM satc WHERE NOT EXISTS (SELECT * FROM par_sat WHERE sat_no = satc_n AND para_n =27); SE * GEL satc OLAN MEVCUT DEL (SE * GEL par_sat OLAN sat_no = satc_n VE para_n = 27);
EXCEPT:
EXCEPT FARKLI
12/20
22 11 2013
Tablo-1 - Tablo-2 ilemi sonu(iki kmenin fark) elde edilecek tabloda,Tablo-1de bulunup, Tablo-2de bulunmayan veriler mevcut olacaktr. RNEK:Sat blmndeki personel adlarndan,mhendislik blmnde bulunmayanlar listele. SELECT * FROM (SELECT ad FROM personel WHERE bol_no=1 EXCEPT SELECT ad FROM personel WHERE bol_no =2); SE * GEL (SE ad GEL personel OLAN bl_no = 1 FARKLI SE ad GEL personel OLAN bl_no =2);
INTERSECT:
INTERSECT KESM
RNEK: Hem Ankarada,hem de stanbuldaki projelerde grev alan blmleri listele. SELECT * FROM (SELECT bl_no FROM proje WHERE yer LIKE %Ankara% INTERSECT SELECT bl_no FROM proje WHERE yer LIKE %stanbul%); SE * GEL (SE bl_no GEL proje OLAN yer BULUNAN %Ankara% KESM SE bl_no GEL proje OLAN yer BULUNAN %stanbul%);
SAVE TO TEMP:
SAVE TO TEMP SAKLA
RNEK: Bayan personeli,bayan adl bir tablo iinde sakla. SELECT * FROM personel WHERE cins =.F. SAVE TO TEMP bayan; SE * GEL personel OLAN cins =.Y. SAKLA bayan;
KEEP:
KEEP RNEK: SELECT * FROM personel WHERE cins = .F. SAVE TO TEMP bayan KEEP;
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
KALICI
22 11 2013
RNEK:Bir personel tablosuna sicil_nosu 275 olan personel ile ilikili bilgileri ekle.
INSERT INTO personel(sicil, EKLE NE personel(sicil, sosy_g_no,ad,soyad,do_tar sosy_g_no,ad,soyad,do_tar adres,cins,brt,bl_no,yn_s_g_no adres,cins,brt,bl_no,yn_s_g_no VALUES(275,27652418,Ali,Caner, DEERLER (275,27652418,Ali,Caner, {10/05/1962},Merkez caddesi 46 Fatih-stanbul, {10/05/1962},Merkez caddesi 46 Fatihstanbul, .T.,27000000,2,876215342); .D.,27000000,2,876215342);
DELETE:
DELETE SL
RNEK:2 nolu blmdeki personelin tm tablodan sil. DELETE FROM personel WHERE bl_no = 2; 5 ROWS DELETED SL GEL personel OLAN bl_no = 2; 5 SATIR SLND
RNEK:Brt maa alan bo olmayan tm personeli sil. DELETE FROM personel WHERE brt IS NOT NULL; 25 ROWS DELETED SL GEL personel OLAN brt DEERSZ; 25 SATIR SLND
UPDATE :
UPDATE GNCELLE
14/20
22 11 2013
SET
YAP
RNEK:2inci blmn yrtt projelerde kullanlan tm paralarn fiyatlarn % 7 zam yap. UPDATE para SET fiyat = fiyat *1,07 WHERE pr_no IN (SELECT proj_no FROM proje WHERE bl_no = 2; GNCELLE para YAP fiyat = fiyat *1,07 OLAN pr_no NDE (SE proj_no GEL proje OLAN bl_no =2 ;
CREATE INDEX:
CREATE INDEX ON N INDEKS YARAT
CREATE INDEX ndeks ad INDEKS YARAT ndeks ad ON tablo ad(kolon ad 1,kolon ad 2,.,.kolon ad n); N tablo ad(kolon ad 1,kolon ad 2,.,.kolon ad n);
127 satrlk personel tablosu ile ilikili olarak brt kolonu indeks anahtar olarak kullanan pers_maas adl indeks oluturulmutur.Bu durumda; SELECT * FROM personel; SE * GEL personel;
_eklinde listeleme komutu sonucunda personel tablosundaki tm personel, brt maalarna gre sral olarak listelenecektir.
RNEK:letmede alan personeli brt maalarna gre azalan srada (yksek maatan dk maaa doru)listelemek istersek ,brt alanna gre aadaki ekilde oluturmak gerekir. CREATE INDEX
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm
INDEKS YARAT
15/20
22 11 2013
N PERSONEL(BRT K-B);
UNQUE SZC:
UNIQUE TEK
Bir tablo,seilen bir sutna (alana) gre indekslenirken , indeksleme alan olarak seilen sutndaki verilerintekrarlanmasna msaade edilmesi istenmiyorsa,indeksleme yaplrken ,CREATE ,INDEX komutu iinde UNQUE szc kullanlmaldr.
EKLEME N:
Personel tablosuna INSERT INTO Personel VALUES(53768 ,27241685,aye, en{01/04/63},Merkez cad. 82 Kadky.F. ,27000000 ,2, 34261578); EKLE NE Personel DEERLER (53768 ,27241685,aye , en{01/04/63},Merkez cad. 82 Kadky.Y. ,27000000 ,2, 34261578);
22 11 2013
ALTER TABLE
TABLO DETR
ALTER TABLE (TABLO DETR) komutu iinde ADD (EKLE) ile satr ekle. RNEK:Personel tablosuna ,ie balama tarihini belirten bir kolon ekle ALTER TABLE personel ADD i_ba_tar DATE; TABLO DETR personel EKLE i_ba_tar TARH;
ADD (EKLE)i_ba_tar DATE NOT NULL (TARH DEERSZ) bu ekilde kullanlsayd bu kolon satr gene bo kalrd ; fakat bu kolon ile ilikili yeni bo deerler eklemek istendiinde buna msaade edilmeyecekti.
RNEK:Personel tablosundan i_ba_tar kolonunu sil. ALTER TABLE personel DROP i_ba_tar ; TABLO DETR personel PTAL i_ba_tar;
Birden fazla kolonda silinebilir.Birden fazla kolon silmek iin virglle ayrlarak silinir. BR TABLONUN ADINI DETRMEK: RENAME KOMUTU:
file:///D:/ders/3.snf/1.dnem/ise 211 database/SQL DERS NOTLARI.htm 17/20
22 11 2013
RENAME
ALTER TABLE personel RENAME brt br-maa; MEVCUT BR TABLONUN TMYLE SLNMES DROP TABLE TABLO PTAL
VER GVENL:
CREATE VEW GR ALANI YARAT
RNEK:Personel adl temel tablodan persview adl bir view olutur. CREATE VEW perswiew AS SELECT sicil,sos_g_no,ad,soyad,do_tar, adres,cins,bl_no,yon_s_g_no FROM personel; GR ALANI YARAT persview GB SE sicil,sos_g_no,ad,soyad,do_tar, adres,cins,bl_no,yon_s_g_no GEL personel;
CREATE VIEW UST_PER_ VIEW AS SELECT FROM personel WHERE brt >25000000 WITH CHECK OPTON;
22 11 2013
Burada, maa 25000000n zerinde olan personelden oluan bir UST_PER_VIEW adl view oluturulmutur.Bu vewa brt maa 13000000 olan bir personel eklemek istedii zaman hata mesaj verecektir. CHECK opsiyonu kullanlmasayd hata mesaj alnmadan bu veri VEW iine ykleyecekti. EKLEME INSERT INTO UST_PER_VIEW VALUES (27521 ,27865427,aye, okan ,{01/05/1962}Cumh. Cad. 46 Taksim, .F.,13000000 ,1 ,27651112); EKLE NE UST_PER_VIEW DEERLER (27521 ,27865427,aye, okan ,{01/05/1962}Cumh. Cad. 46 Taksim, .F.,13000000 ,1 ,27651112);
VIEW SATIRLARI ZERNDE GNCELLEME : RNEK: UST_PER_VIEW adl viewde sicili 27251 olan kinin maan 37000000 olarak deitir. UPDATE UST_PER_VIEW SET brt = 37000000 WHERE sicil = 27251; GNCELLE UST_PER_VIEW YAP brt = 37000000 OLAN sicil = 27251;
SQLin amac bu komutlar yan yana yazdmzda bir cmlenin ortaya kmasdr. SELECT .... FROM .... WHERE ....,ORDER BY ....,GROUP BY .........HAVING....
......(DEN).....GEL.....OLAN.. ,.......SIRALA....,GRUPLA......SAHP....SE
19/20
22 11 2013
http://www.capraz.net/ serdar@capraz.net
20/20