
Tıp Veritabanı [Türk Tırp Dizini]
1996 yılından bu yana Web'den kullanıcıların erişimine açık olan Tıp Veri Tabanı, Sağlık Bilimleri (Tıp, Dişhekimliği, Eczacılık, Hemşirelik vd.) alanında Türkiye'de yayımlanan süreli yayınlarda bulunan Türkçe ve diğer dillerdeki özgün araştırma makalelerini kapsamaktadır.
Haymana Endüstri Meslek Lisesi
11/E Sınıfı Veritabanı Programcılığı Dalı Öğrencilerinden Bazı Kareler

Sınıf Öğretmenleri:
Nadir ÇAYAN
Volkan KOÇER
Veritabanı Nedir? Neden Önemlidir?
Evet, veritabanı bir depo görevi görmektedir. Fakat yanlış kullanıldığında ise çöp yığınına dönüşmektedir. Veritabanının doğru kullanımı, doğru ilişkilendirilmesi çok önemlidir. Bunun en başında hız, zaman, sorgu sayısı gibi kazançlarımız olacaktır. Bir projeye başlamadan önce tasarımını düşünmek yerine veritabanı modelini düşünmek gerekir. Tabii ki veritabanı tipinin seçimide önemlidir. MySQL mi, Access mi, SQL Server mı etc... gibi veritabanı tipleri arasında projemize en uygun tipi tercih etmeliyiz.
Peki bir veritabanı nasıl ilişkilendirilmeli? Veritabanına nasıl bir bakış açısı ile yaklaşmalıyız?
Bir örnek yaparak konuya başlayalım arkadaşlar, kategorize edilmiş (ana ve alt menülerden oluşan) bir menü yapacaksınız diyelim. Bunun için öncelikle doğru yöntemi, ardından hatalı yöntemi gösterelim.
Doğru yöntem
1. Veritabanında aşağıdaki resim gibi 3 alan olur. Ve tek tabloda kategorimizi oluşturabiliriz.

Örnekte sistem nasıl işler derseniz, alt alanı 0 (sıfır) olanlar ana kategori olur, 0 değilde ilişkilendirilmiş ise, ilişkilendirilen kategorinin alt kategorisi olur.
2. Veritabanında ana ve alt kategoriler için ayrı ayrı tablolar yaratılır.

Bu modelimizde ise iki ayrı tabloda sorgu yapılır. Ana kategorinin ID alanı ile alt kategorisinin kat alanı ilişkilendirilmiştir.
Yanlış yöntem
Kategoriler sayı ile ilişkilendirilmeden yapılır. Unutulmamalıdır ki string ifade daha fazla yer kaplayacaktır.

Bu modelimiz son derece hatalı kullanımdır. Asla programlama mantığında böyle bir uygulama mevcut değildir, olmazda.
Umarım veritabanı modelleme konusunda kafanızda bir şeyler oluşmuştur.
Özetlememiz gerekirse;
1. Proje için uygun veritabanı seçilmeli.
2. Veritabanının iyi analiz edilip gereksiz alanlardan kaçınılmalı.
3. Tekrarlı alanlar için daha iyi bir çözüm geliştirilmeli, string değerlerden kaçılmalı.
4. Unutmayın ki, Veritabanını modellemek kadar geri dönüşümde önemlidir. Modelleme yaparken, verileri sayfaya dökeceğinizi unutmayınız. Yapacağınız sorgu yada döngüleride o anda kafanızda canlandırmanız gerekmektedir.
Veritabanı Yeni Kayıt Ekleme!
Amacımız form aracılığı ile veritabanına kayıt ekleme. Bunun için öncelikle Access (Office paketi ile birlikte gelen program) Veritabanı uygulamasını açınız ve yeni bir tablo yaratınız. Tablo yapınız aşağıdaki gibi olmalı;
Veritabanınızı veritabanim.mdb olarak isimlendirin.
Tablo adını aspogren olarak isimlendirin.
ID - Otomatik Sayı
adi - Metin (Altta özelliklerde karakter uzunluğunu 25 yapınız.)
soyadi - Metin (Altta özelliklerde karakter uzunluğunu 25 yapınız.)
adresi - Not
Uyarı : Veritabanı, tablo ve alan adlarında Türkçe karakter kullanılmayacağını unutmayın!
Şimdi form sayfamınızı hazırlayalım. Bunun için default.asp adlı dosyanıza aşağıdaki kodları yazınız.
Adınız : <input type="text" name="ad" size="30" maxlength="25" /><br />
Soyadınız : <input type="text" name="soyad" size="30" maxlength="25" /><br />
Adresiniz : <textarea name="adres" cols="24" rows="5"></textarea><br />
<input type="submit" value="Kaydet" />
</form>
Zaman zaman html bilgiside vereceğimizi belirtmiştik. Burada yabancı olduğumuz maxlength ifadesinin anlamı "Girilebilecek en uzun karakter sayısı" anlamındadır. Yani Belirttiğimiz input text alanına en fazla 25 karakter girilmesini istiyoruz.
şimdi formumuzun işleneceği isle.asp dosyamızı oluşturarak geniş bir sorgu oluşturalım.
ad = request.form("ad")
soyad = request.form("soyad")
adres = request.form("adres")
'ad,soyad ve adres değişkenlerimizi aldık
If Len(ad) < 3 then
response.write "Lütfen geri dönerek adınızı yazınız"
'Eğer ad değişkeni 3 karakterden kısa ise uyarı ver
ElseIf Len(soyad) < 3 then
response.write "Lütfen geri dönerek soyadınızı yazınız"
'Eğer soyad değişkeni 3 karakterden kısa ise uyarı ver
ElseIf Len(adres) < 10 then
response.write "Lütfen geri dönerek adresinizi yazınız"
'Eğer adres değişkeni 10 karakterden kısa ise uyarı ver
Else
Set ODBC = Server.CreateObject("ADODB.Connection")
ODBC.Open "Provider = Microsoft.Jet.OLEDB.4.0;Data Source="&Server.MapPath("veritabanim.mdb")&""
'ODBC adında bir set ile veritabanına bağlantı sağla
Set kayit = ODBC.Execute("Insert into aspogren (adi,soyadi,adresi) values ('"&ad&"','"&soyad&"','"&adres&"')")
Set kayit = nothing
response.write "Tebrikler, kaydınız tamamlandı"
'Kaydı tamamla ve mesaj gönder
ODBC.Close
End If
%>
Ve bir kaç kayıt ekledikten sonra veritabanınızı kontrol edin, göreceksiniz ki eklediğiniz kayıtlar düzenli olarak girilmiştir.



 kopya.jpg)
 kopya.jpg)