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.

dfsf

Ö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.

sdfsdfsd

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.

sdfsdfsdfdsf

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.

<form action="isle.asp" method="post">
    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.