Geç de Olsa Tanıştığım SQL Hakkında…

Yazılım

Geç de Olsa Tanıştığım SQL Hakkında…

Aslında hep çok istediğim, ama bir türlü zaman yaratamadığım ya da kim bilir; gözümde çok büyüttüğüm için cesaret edemediğim, belki alanım olarak görmediğim – ki aslında alanımın bir parçası belki de – öğrendiklerimi paylaştığımda beni cesaretlendiren, takdir eden sevgili Behiç hocamın verdiği güçle (kendisine teşekkürlerimle…) daha bir dört elle sarıldığım ve öğrenmek için çaba sarf ettiğim SQL!
Structured Query Language (Yapılandırılmış Sorgu Dili)
Veritabanı programlarında verileri sorgulamak için kullanılan bir veri tabanı alt dilidir SQL. Özellikleri arasında; veri tanıma, bütünlük kontrolü, veriye erişim, veriyi güncelleme konularında bir yığın sorgu komutunu vb. sayabilirim. Bir programlama dili değildir aslında. Ama işin içinde olmayan herkes öyle bilir. Herhangi bir veritabanı ortamında kullanılan alt dildir. Program algoritması yoktur. Bu nedenle de kendisi ile etkileşimli bir başka dile, C++ ya da Oracle vb. ihtiyaç duyar.
Yapılandırılmış sorgu dilidir SQL. Veritabanlarına erişimimizi ve yönetmemizi, düzenlememizi sağlar. SQL ile neler mi yapabiliriz? Çok şey!
Veritabanına karşı sorgular yürütebiliriz, veritabanından veriler alabilir yeni kayıtlar ekleyebiliriz. Mevcut kayıtları güncelleyebiliriz. Kayıtları silebiliriz. Yeni veritabanları oluşturabiliriz. Bir veritabanına yeni tablolar ekleyebiliriz. Bunlar; çalışmalarım neticesinde hakim olabildiğim konular olmakla birlikte, henüz bilgi sahibi olmadığım; veritabanında saklı prosedürler oluşturma, viewler oluşturma, prosedür ve viewler de izinleri ayarlayabilme konularını da ekleyebilirim SQL ile yapabileceklerimize.
Günümüzün bilgi yoğunluğu ve bu yoğunluğun yönetilmesi, veri tabanı sistemlerinin ve buna bağlı gelişen diğer tüm araçların önemini hızla arttırmaktadır.
SQL in önemini anlatabilmem için, oldukça yüklü miktarda veriyi sorgulayabilen bir programın tasarımından bakmak lazım konuya. Mesela Türkiye’deki MEB’e bağlı tüm öğretmenlerin bilgilerini barındıran bir veritabanı üzerinde sorgulama yapan bir programın SQL olmadan yazılması çok zor ve aynı zamanda çok anlamsız, gereksiz uzun bir yoldur. Neden mi?
Türkiye’deki öğretmen bilgisinin her kaydı için, Ad – Soyad – Doğum yeri – Doğum tarihi – Mezuniyeti –  Branşı – Hizmet yılı – Sendikası – Görev yerleri – Görev süreleri – Sicil numarası – Mebsis numarası – Hizmet puanı derken, çok büyük alanlarda saklanan bilgiler çıkar karşımıza. Ve bu bilgiler içinde sorgulama yapmak, bir bilgiye ulaşmak, raporlamak korkunç derecede zor ve zaman alıcı bir işlemdir. Büyük çaplı verileri saklayacak dosyayı işletim sistemi desteklemediğinde ayrı bir yazılım ister. Programa aynı anda birden fazla kullanıcı girdiğinde veri paylaşımı trafiğinde düzenleme de önemlidir. Uzaktaki bir bilgisayarın veritabanına bağlanması da göz önüne alınmalıdır. Veriler üzerinde değişiklik yapmak isteyen kötü niyetli kişilere karşı güvenlik duvarları da unutulmamalıdır. Veriler üzerinde çalışıyorken varsayalım ki, bilgisayar kontrolümüz dışında kapandı ya da başka bir sorun oluştu. Bilgisayarımızı tekrar açtığımızda veritabanına ve en son girdiğimiz veriye sağlıklı bir şekilde tekrar ulaşabilmeliyiz. Tüm bu yapıyı kurabilmek, çok uzun bir süre ve profesyonel bir çaba ile zorlu bir süreçtir. Ama tüm bu işlemleri SQL ve birazcıkda programlama bilen birisi birkaç saat içinde yapabilir. İşte SQL’in gücü!
SQL komutlarıyla; Türkiye’deki tüm öğretmenlerin kayıtlarına istenildiği gibi ulaşılarak, istenilen raporlar, eklemeler, değişiklikler çok kısa sürelerde ve çok net olarak yapılabilir. Aksi halde böyle yoğun bir veritabanında nasıl hareket edilir, nasıl işlem yapılır, nasıl sonuçlar alınır, düşünemiyorum!
Select, from, where, distinct, like, in, between, sum, max, min, avg, order by, group by, update, delete, insert, count, having, join, alter table, drop, rename, view vb. tüm bu teknik terimler, SQL ile tanıştığımda, marifetleriyle beni hayretler içerisinde bıraktı. Çalışmalarım sonucunda, “Bu bilgilere ulaşmak bu kadar kolay mıydı!” demekten kendimi alamadığımda, işin içine daha çok daldığımı gördüm.
Boş zamanlarımda artık; laptopum kucağımda, çayım yanımda, bazen çok kısık müziğim kulağımda, Northwind üzerinde tablolar oluşturan, onlar üzerinde oynayan, ekleyen, çıkaran, değiştiren sonra o tablolar üzerinden sorgularla değişik veriler çeken biri oluvermiştim farkına varmadan. Ve işin en ilginç yanı, ben bu işten müthiş zevk alır olmuştum.
Çalıştırdığım her sorguda görmeye alıştığım ve beni mutlu eden şu ifadeye bayılıyordum artık 🙂

Ve de bilgilere bu kadar kolay ulaşmaya…
SQL hakkında çok uzun yazılar yazabilmek isterdim. Ama ben bir yazılımcı değilim. Haddimi bilirim, çizmeyi aşmam. Benim işim; muhasebe, finans, SAP, Logo Go – Tiger, Eta, Mikro ve şimdi düşünüyorum da Tiger Enterprise sertifika sınavlarına hazırlanırken geçen yıl; bir SQL sorusunda yazılım eğitmeni arkadaşımdan yardım almıştım. Şu an ne kadar basit olduğunu düşünüyorum o sorunun 🙂 Sınav mı? Tabii ki aldım, iki aşamasını da 🙂
Ve haddim olmayarak bu kadar da olsa; öğrendiklerimin verdiği cesaretle ve mutlulukla, artık işimin gereği raporlamalarda beni çok farklı yerlere taşıyan SQL e,  bir parça da olsa vefa borcumu ödemek adına, güzel bir şeyler karalamak istedim onun için. Hiç bilmeyen ve öğrenmeye teşebbüs etmeyenlere, edemeyenlere deneyim ve düşüncelerimi iletmek istedim. Sürçü lisan ettiysem af ola.
Zor diye bir şey yok ve hiç bir şeyin zamanı yok.
Siz varsınız, azminiz var ve bir de sizi yüreklendirecek bir dost varsa SQL bitmiştir. Benim hikâyemde hepsi vardı 🙂
​Kolay gelsin.

 

Arşivler