SQL Nedir?

Structured Query Language (Yapilandirilmis Sorgu Dili), veritabani programlarinda verileri sorgulamak icin kullanilan bir veritabani alt dilidir. SQL’in sahip oldugu ozellikleri; veri tanima, butunluk kontrolu, veriye erisim, veri guncelleme ile ilgili sorgu komutlari olarak siralayabiliriz. SQL’in bilgi giris cikis ekrani, ekran tasarimi, program algoritmasi yoktur. 

Bu nedenlerden oturudur ki, sql, kendisi ile etkilesimli bir baska dile (Delphi, C++, Oracle, Dbase vb…) gereksinim duyar. SQL, bir programlama dili olmamasina ragmen bircok kisi tarafindan programlama dili olarak bilinir. 

Yukarida da dedigimiz gibi; SQL, herhangi bir veri tabaniortaminda kullanilan bir alt dildir.


SQL’ in Önemi;

SQL in onemini anlamak icin, icinde yuklu miktarda veriyi sorgulayan bir programin tasarim asamasini incelemek yeterli olacaktir. Ornegin; Turkiye’deki nufus cuzdani bilgilerini barindiran bir veritabani uzerinde sorgulama yapan bir programin SQL’siz yazilmasi cok zor ve bir o kadarda gereksiz bir yoldur. Bunun birkac tane zorlugunu asagida siralamaya calisalim:
·        

Turkiye’deki nufus cuzdani bilgisinin her kayit’i icin İsim, Soyisim, Ana adi, Baba adi, Dogum yeri, İli, İlcesi derken yaklasik 200 Baytlik alan gerekir. Turkiye’nin, olmus kisileri dahil 200.000.000 kayit’i bulunsun, bunlarin toplami icin 200.000.000*200=40.000.000.000 yani 40 Gbaytlik bir alan gerekir. Bu kadar veri icinde sorgulama yapmak oldukca zor olsa gerek.
·        

Buyuk capli verileri saklayacak dosyayi isletim sistemi desteklemez onun icin kendiniz yazmalisiniz. Bu is oldukca zordur. Cunku; Harddiske ulasma, verilerin bir kismini Ram’a aktarma, TSR programi, Cache ile ugrasmak, bunlara hukmetme kolay is degildir. Hem bunlar icin makine dilini biliyor olmaniz gerekir.
·        

Programiniza ayni anda birden fazla kullanici girdiginde veri paylasimindaki trafigi cozmeniz gerekir. Uzaktaki bir bilgisayarin veritabaniniza baglanmasi icin TCP/IP protokolunude isin icine katmak gerekir.
·        

Veriler uzerinde degisiklik yapmak isteyen kotu niyetli kisilere karsi guvenlik duvarlari gelistirmeniz gerekir.
·        

Veriler uzerinde calisiyor iken bilgisayar bizim kontrolumuz disinda kapansa veya baska bir sorun ciksa ve tekrar actigimizda veritananina ve en son girdigimiz veriye tekrar ulasabilmemiz gerekir. Bunun icinde programi yazarken gerekli kod satirlari eklemeniz gerekir.

Tum bunlari yapmak ancak profesyonel ve buyuk capli bir ekibin yillarca calismasi sonucu mumkun olabilir gibi duruyor. Halbuki tum bu islemleri birazcik SQL ve birazcik programlama bilen herkes birkac saat icinde yapabilir. İste SQL’in gucude buradan gelmektedir. SQL bundan oturu cok onemlidir.

SQL’ in Tarihcesi;      

Veritabani yaklasimi ile birlikte bir veri sorgulama diline veya aracina ihtiyac duyulmustur. Bu ihtiyac dogrultusunda ilk olarak İBM tarafindan 1975 yilinda bir sorgulama dili yaratilmistir. İlk basta matematiksel bir sozdizimine sahip olan SQUARE adli bir dil gelistirilmistir. Genis kullanici kitleleri tarafinda kolay kullanilabilmesi icin matematiksel soz dizimli SQUARE dilinden vazgecilerek, İngilizce’ye benzer sozdizimine sahip bir dil olusturulmus ve SEQUEL (Structured English Query Language) olarak adlandirilmistir. 

Daha sonra da bu SEQUEL dili, İngilizce soylenisine paralel olarak SQL olarak adlandirilmistir. 1982 yilinda ANSİ (Amerikan Ulusal Standartlar Enstitusu) bu dil uzerinde calismaya baslamis. 1983 yilinda ANSİ ve İSO (Uluslararasi Standartlar Organizasyonu) birlikte SQL standartlarini yayinlamislardir. İlk SQL standardini 1987 yilinda “İSO 9075” kodu ile yayinlayan İSO, 1989 da “butunluk arttirimi ozelligi” eklenmis halini “İSO 9076” kodu ile yayinlamistir.

SQL-89 diye taninan ANSİ 1989 standart’i; Moduler olmasi, diger uygulama (Pascal, FORTRAN, COBOL gibi) programlarinin kod satirlarinin icine gomulebilme yani o programlamanin koduymus gibi davranis ozelligi gostermesi bakimindan onemlidir. Statik SQL anlamina gelen Embedded(gomulu) SQL, Dinamik SQL’in gelisiminden once en populer dil idi. 

İcerisinde Statik SQL kod satirlari bulunan program derlendikten sonra, calisma zamani icinde bu SQL kodlarina mudahele etmek mumkun degildi. Embedded SQL prensib olarak derleyiciye paralel bir yorumlama iceriyordu bu da programin performansini arttiriyordu esnekligini kaybettiriyordu. 

ANSİ 1992 standardi (“SQL-92” diye de adlandirilir), SQL’i Giris, Orta seviye ve Tam olmak uzere uc kategoride gelistirerek evrensel bir dil yapti. SQL-92 ile gelen yeni ozellikleri asagidaki dort maddede toplayabiliriz :

·        

Veritabanlarina baglanma
·        

Hareketli imlecler
·        

Dinamik SQL

·        

Tablolar arasi dişsal baglanti      

SQL dili iliskisel alanda buyuk ilgi gormus ve İliskisel Veri Tabani Yonetim Sistemlerinin (VTYS) tumunde yer alan standart dil gorunumu kazanmistir. Bu nedenle Veri Tabani konusunda calisan tum bilisim teknik personeli tarafindan bilinmesi gereken bir dil konumundadir. 

Kaynak

Bir yanıt yazın