Veritabanı - SQL ve kullanım alanları



Veritabanı Giriş

Gunumuzde program ve programcılık kavramları anıldığında Veritabanı akla ilk gelen objelerden biri olur hale geldi. Peki nedir bu Veritabanı, ne iş yapar ?
Veritabanı, bizim bir program dahilinde kullanmak istediğimiz bilgileri tutan ve sunan bir objedir. İster Executable (windows altında calışan her nevi.exe uzantılı program) ,ister Web tabanlı programlamada olsun Veritabanı her alanda kullanılır ve imdadımıza yetişir. Biliyorsunuz, bir programa bilgi girişi yapmak, bilgileri okumak, guncellemek vs. gibi işlemler olağan bir hadise. Dolayısı ile, bu uzerinde işlem yapılan bilgiler bir yerde bulunmalı. İşte bu yer Veritabanının ta kendisidir.

Veritabanları her ne kadar tur olarak ceşitlilik gostersede işleyiş mantıkları hep aynıdır ve değişmez. Bugun her ne kadar cok turde yazılım Urunleri olan Veritabanları varsada en cok bilinen ve kullanılanları MS Access, Oracle, Paradox, FoxPro, vs. gibi Veritabanlarıdır. Coğu kişi icin Veritabanı olayı ilk başda soğuk gelir. Haksızda değiller. Zira yazılım geliştirmeyen bir insanın Bilgisayarında Veritabanı hazır bulunan veya kullanılan bir olay değil. Fakat MS Access iclerinde en cok duyulan ve tanılanıdır. Sebebi ise MS Office paketi ile birlikte geldiği icindir.

Evet, konuyu dağıtmadan Veritabanımıza geri donelim. Dediğim gibi Veritabanı kısaca, bir takım bilgilerin icinde tutulduğu bir objedir. Veritabanı icerisinde bilgilerimizi tutabildiğimiz gibi, bu bilgilerin uzerinde oluşturduğunuz programlar ile kolayca modifye (ekleme,silme,guncelleme gibi...) yapabiliriz.


Resim 1

Veritabanı, kendisi icerisinde var olan veya oluşturacağmız tabolardan meydana gelir. (Resim 1) Bilgiler ise bu tablo(lar) da oluşan Sutunların icerisinde tutulur. Sutunlar ise hucrelerden oluşur ve her bilgi icin bir satır acılır.(Resim 2)

Biz burada kullanım kolaylığı acısından ve el altında bulunabilirlik acısından MS Access veritabanını ornek alacağız. Daha sonra arz-talep durumlarına gore diğer Veritabanlarınıda inceleyebiliriz.

MS Access, bilindiği gibi aynı diğer Ofis bileşenlerinde olduğu gibi Windows ortamında acılıp el ile (manuel) bilgi girişi yapmaya musait bir yapıya sahiptir. Fakat bizim amacımız tabii bu değil. Amacımız Veritabanına program aracılığı ile Bilgi girip işlemek. Konumuzda ASP olduğuna gore biz şimdi manuel veya executable program ile bilgi girişini bir kenara bırakıp tamamen ASP olayına yoneleceğiz.


Resim 2

Bir veritabanı oluşturuken ilk etapda en cok hasassiyet gosterilmesi gereken husus Veritabanının dizaynıdır. Yani yapısı. Zira Veritabanı bizim yapmaya amacladığımız programa hizmet verecek ve bu amaca tam uyumlu olması gerekir. Diyeceksiniz, daha sonradan tablo veya sutun ilave edilemezmi ? Elzem olursa elbette edilir. Fakat temel mantık bu değildir. Temel mantık aslında daha Veritabanını oluşturmaya başlamadan evel Programımızı iyi etud etmekden gecer. Bunu başdan ne kadar iyi yaparsanız daha sonra o denli rahat edersiniz.

Oncelikle Programımız ne yapacak ve buna bağlı olarak ne tur bilgiler icerecek. Bu doğrultuda ihtiyacımız olan veri alanları daha iyi oluşturulabiliriz. Veritabanında alanların bir turu vardır. Nedir bu turler ? Bu turler, Veritabanının o alanda saklayıp işleyeceği bilgilerin turudur. Bunlar; metin, saat, tarih, para birimi vs. turunden bilgiler olabilir. Bu cok onemli bir hususdur, zira coğu kez başdan iyi etud edilmyen ve gozden kacan bir konudur. Coğu kezde sonradan baş ağrıtabilir. Bunlara daha sonra tekrar değineceğiz.

Veritabanı objesini ASP ile ilişkilendirmek icin bir bağlantıya ihtiyac duyar. Aynı klasik programlama dillerinde olduğu gibi. Klasik programlamaya yabancı olmayan arkadaşlar icin bu zaten cok bilindik bir olaydır. NT tabanlı bir Sunucuda Veritabanı bağlantılı ASP sayfaları ADO denilen nesne ile bağlantı kurar. ADO son zamanlarda Microsoft tarfından iyiden iyiye geliştirilen ve DAO nun yerini almaya başlamıştır. Peki nedir bu ADO ?

ADO, ilişkilendirilmiş acık bir Veritabanı bağlantısından erişim sağlayan nesnedir. ADO yu Program ile Veritabanı arasında bir nevi kopru olarak da tanımlayabiliriz. Windows işletim sistemlerinde ODBC suruculeri vardır. Bu ODBC suruculeri hangi model uygunsa onunla bağlantı kurar. ADO esasen OLE DB adlı teknolojinin uzerine kurulmuştur. Web sunucusu uzerinde bulunan bir Veritabanı ile esas olarak iki değişik tip bağlantı kurulabilir. Bunlardan birincisi DSN'li , diğeri ise DSN' siz tipi bağlantıdır. Gunumuzde Host sağlayan Sunucular DSN'li bağlantılara izin vermemektedirler. Sebebi gayet basit. DSN li bağlantıda Server Admin sizin Sunucuya gondereceğiniz Veritabanını tanımlaması lazım gelir. Bunu butun sunucudaki Veritabanları icin yaptığını varsayalım, bu durumda Sunucuda korkunc bir yavaşlama meydana gelecektir. Bu sebepden dolayı DSN li bağlantılar hemen hemen hic tercih edilmeyip kullanılmayan bağlantı tipidir.

Veritabanına Bağlantı

ASP sayfları ile kullanacağımız Veritabanına işlem yaptırabilmek icin once dediğim gibi bağlantıyı yani kopruyu sağlammız gerekir. Veritabanına bağlantı sağlamak icin ASP nin "Create Object" nesnesi kullanılır. Bunu hemen bir ornek ile ifade edelim.