Veritabanına Giriş

Delphi’nin tercih edilmesinin en büyük nedenlerinden biriside iyi bir veritabanı desteğine sahip olması ve veritabanı programı yazmayı son derece kolaylaştırmasıdır. Hatta Delphi ile hiç kod yazmadan bir veritabanı programı yapabilirsiniz. Ancak buna rağmen veritabanı programı yazmak zor ve tecrübe isteyen bir iştir.

Veritabanını, verilerin depolandığı tablolar şeklinde düşünebiliriz. Tablolar ise ad, soyad, telefon gibi alanlardan (field) oluşur. Bu alanların tamamı ise bir kayıtı (record) oluşturur. Veritabanı tek tablodan oluşabileceği gibi birden fazla tablodan da oluşabilir. Yüzlerce tabloya sahip veritabanlarınız olabilir. Yine bu tablolarda 100 kayıt tutabileceğiniz gibi milyonlarca kayıtta tutabilirsiniz. İndeksler(index) veritabanlarını hızlandırmak için kullanılır. Bir tabloda bir veya birden fazla indeks olabilir. İndeksleri seçerken en çok işlem yaptığınız alanları seçmeniz iyi olacaktır.

Veritabanlarını Lokal veritabanları ve C/S (Client/Server)olmak üzere iki kısımda ele alınabilir:

Lokal veritabanları : Tek bir makinede çalışmak üzere tasarlanmış veritabanlarıdır. Bu verilere sadece sizin programınız erişecek ve başkaları bu verilere erişmeyecekse lokal veritanını kullanabilirsiniz. Paradox, dBase ve Access lokal veritabanlarıdır.

(Client/Server) C/S Veritabanları : Veritabanınız bir server üzerinde durur ve birden fazla kullanıcı (client) bu verilere erişir ve işlem yapar. C/S veritabanları bir kayıta birden fazla kişinin aynı anda erişmesi gibi olayları kendileri kontrol ederler ve bu tip durumların üstesinden nasıl geleceklerini bilirler. Interbase, Oracle, SQL Server, Sybase, Informix, DB2 kullanılan C/S veritabanlarıdır.

BDE (Borland Database Engine) nedir?

BDE, Delphi’nin lokal ve C/S veritabanlarına bağlanmak için kullandığı dll ve uygulamalardır. C/S veritabanlarına bağlanmak için Delphi’nin C/S sürümünü kullanılmak zorundadır.

Normalde veritabanlarının yapıları ve API’leri farklı farklıdır. BDE, programcıyı tüm bu yapıları öğrenmekten kurtararak daha üst düzey komutlarla program yapımına imkan tanır. Delphi ile gelen sürücüler kullandığınız Delphi sürümüne göre değişir. Delphinin tüm sürümleri ile Paradox ve dBase bağlanmayı sağlayan sürücüler gelir. Bu sürücüler STANDART olarak adlandırılır ve paradox ve dBase ile yapacağınız tüm işlemleri yapmanızı sağlar. Delphi’nin C/S sürümü ile Oracle, SQL Server, Interbase, Sybase, Informix gibi C/S veritabanlarına bağlanmanızı sağlayacak sürücülerde gelir.

Delphi’de Veritabanı ve Basit Veritabanı Uygulamaları

Kullanıcılar bilgilerini bilgisayar üzerinde tutarken veritabanı programlarını kullanırlar. Bu sebeple Veritabanı programları bilgisayar dünyasında çok önemli bir yere sahiptirler. Delphi barındırdığı bileşenler vasıtasıyla veritabanı uygulamaları yapmayı çok kolaylaştırmıştır. Hiç kod yazmadan gerekli bileşenleri eklenmesi, bileşenler üzerinde gereken bazı ayarların yapılması suretiyle basit veritabanı projeleri gerçekleştirilebilir.
Fakat gelişmiş projeler daha fazla uğraş ve kod yazma gerektirecektir.

Delphide basit bir veritabanı projesi tasarım aşamasında:

Basit Veritabanı proje aşamasında

Yeni bir delphi projesi açılarak form üzerine DataAccess bileşen sayfasından DataSource, BDE bileşen sayfasından Table ve DataControls bileşen sayfasından DBGrid ve DBNavigator bileşenleri form üzerine eklenerek aşağıdaki ayarlar Object Inspector üzerinde yapılır:

DataSource1
DataSet = Table1

Table1
DataBaseName = DBDEMOS
TableName = country.db

DBGrid
DataSource = DataSource1

DBNavigator
DataSource = DataSource1

Burada DataSource veritabanına ulaşılması ile, Table veritabanındaki tabloların alınması ile, DBGrid ise veritabanı tablosunun ekranda tablo şeklinde görünmesi ile ilgilidir. Bu projede Delphi ile gelen DBDEMOS takma adına (alias) sahip örnek veritabanlarından biri olan country.db dosyası ile işlem yapılmaktadır. Veritabanı bu şekilde hazırdır. İstenirse tablo tasarım aşamasında da görülebilir. Tablonun görünmesi için Table1‘in Active özelliği True yapılmalıdır. Program tasarım anında aşağıdaki şekilde görünür:

Basit Veritabanı proje aşamasında Tablo görünüyor

Program çalıştırıldığında aşağıdaki şekilde görünür:

Veritabanı çalışırken

Burada bulunan kodu ve uygulamayı dosya halinde kaynaklar sayfasından indirmek için tıklayınız. Aynı sayfada daha fazla koda ve uygulamaya ulaşabilirsiniz.

Veritabanı uygulamaları Alias (Takma ad) tanımlama

Alias’lar tablo (veritabanı) dosyalarının yolunu tutan takma adlardır. Alias’lar sayesinde her seferinde tablo dosyanın yolu girilmek zorunda kalınmaz. Programcı uygulamalaya başlamadan önce tablo dosyalarını kaydedeceği klasörü belirler ve bu klasöre bir takma isim verir. Yapılacak veritabanı uygulamasında klasörün yolu (path) yerine tanımlanan Alias kullanılır. Bir Alias şu şekilde tanımlanır:

Denetim Masası

Başlat menüsünden Denetim Masası (Start -> Control Panel) açılır. Ekrana gelen pencerede BDE Administrator çift tıklanarak açılır.Aşağıdaki pencere görünecektir:

BDE Administrator

Açılan pencerenin menüsünde Object -> New seçilir. Gelen pencerede (Aşağıdaki resme bakınız) istenilen veritabanı tipinin seçilebildiği bir listbox bulunmaktadır. Buradan istenilen veritabanın tipi seçilebilir. Biz bu “Standart” şeklinde bırakacağız.

BDE Administrator'da New seçeneği

Ok tuşuna tıkladıktan sonra BDE Administrator ana sayfasında Standart olarak bir seçenek belirecektir. Bu seçeneği “Deneme” olarak değiştiriyoruz. Ana sayfanın sağ kısmında PATH adlı bir kısım vardır. Buraya tıklayarak ekranda beliren “…” şeklindeki buton belirir. Bu butona tıklayarak bilgisayarın sabit diskinde daha önceden oluşturduğumuz klasörü seçiyoruz. Biz bu klasörü (C:\Deneme ) şeklinde kullanacağız.

BDE Administrator

Bu işlemler bittikten sonra pencereyi kapatıp ekrana gelecek uyarı mesajına olumlu cevap veriniz. Böylece “Deneme” isimli (C:\Deneme) yoluna bağlı bir alias (takma isim) oluşturmuş olduk. Bu alias’ı istediğimiz veritabanı uygulamasında kullanabiliriz. Yalnız kullanacağınız veritabanı dosyalarının tanımladığımız yol içine kaydedilmiş olması gerekmektedir.

Alias’lar tanımlandıktan sonra istenildiği her an kullanılabilirler. Yalnız sistemin yeniden kurulmasında veya veritabanı uygulamasının başka bir bilgisayara aktarılması durumunda tanımlamanın yeniden yapılması gerekmektedir.
Aksi taktirde uygulama çalışmayacaktır.

Database Desktop ile Veritabanı Hazırlanması:

Veri Tabanı Dosyaları, Delphi ile birlikte gelen Borland Database Desktop (BDD) ile kolayca tasarlanabilir. BDD ile Paradox, Visual Dbase, Dbase for Windows, Dbase VI, DBase III+, MS Access gibi veri tabanı tipleri oluşturulabilir ve değiştirilebilir.

BDD ile veritabanı oluşturma için önce Başlat menüsündeki Delphi grubundaki Database Desktop programı çalıştırılır (Delphi 7 açık iken Tools menüsünden de ulaşılabilir.) Önce tablo yapısı hazırlanır. Bunun için File->New->Table menüsüne tıklayınız. Açılan pencere’de Paradox 7’i seçin ve Ok tuşuna tıklayın. Veri tabanındaki alanları tanımlayabilmemiz için pencere açılacaktır. Açılan bu penceredeki sütunlarda aşağıdaki özellikleri belirtir.

Field Name : Bu sütuna 25 karaktere kadar alanın ismi yazılır.( Örneğin Adı Soyadı vb.)
Type : Bu alana girilecek olan bilginin tipini giriyoruz. Aşağıda tipler belirtilmektedir:

Alpha : Bu alana Metin girilebilir (harflerden, rakamlardan veya her ikisinin karışımı)
Number : Bu alana sadece Rakam girilebilir
Money : Bu alana sadece Parasal Rakam girilebilir
Short : Bu alana sadece Küçük Rakamlar girilebilir
Long Integer : Bu alana sadece Büyük Rakamlar girilebilir
Date : Bu alana sadece Tarih girilebilir
Time: Bu alana sadece Saat girilebilir
Memo : Bu alana Uzun Metinler girilebilir
Formatted Memo : Bu alana formatlı Uzun Metinler girilebilir
Graphic : Grafik bilgilerin (resim) saklanması için tanımlanır
Ole : Başka programlarla bağlantı yapılabilmesi için gereken kayıtlar tanımlanır
Logical : Evet – Hayır, Açık – Kapalı gibi sadece iki durumdan oluşan olaylar bu tipte tanımlanır
Autoincrement : Her bir kayıtta otomatik artması istenen kayıtlar tanımlanır. Örneğin sıra numarası
Binary : İkili (binary) tipteki bilgilerin saklanması için kayıt tanımlanır

Not Buradaki bilgi tipleri Paradox 7 içindir. Diğer Paradox sürümlerinde ve veritabanı tiplerinde farklılıklar olabilir.

Sütunlara bilgiler girildikten sonra Save As tuşuna basılarak, dosya ismi yazılarak ve/veya Alias seçilerek oluşturduğumuz Tablo kaydedilir. Tablo kayıt edildikten sonra tabloya kayıt işlemleri için Table menüsünden Edit Data, görmek için View Data seçilmelidir. Aşağıdaki tabloya, Edit Data ile kayıt işlemleri yapılmaktadır:

Devam edecek…

Reklamlar

Veritabanına Giriş” üzerine 4 düşünce

    1. dm7admin Yazıyı Yazan

      Yukarıdaki basit veritabanı örneğinin Windows 7 ortamında çalışması için Delphi Xe3 “Yönetici olarak çalıştır” seçeneği ile çalıştırılmalıdır. Yoksa “Permission denied. PDOXUSRS.NET” benzeri bir hata alınır.

      Cevapla
  1. mustafa

    delphi xe4 ve veritabanı olarak access kullanıyorum öğrenci bilgi sistemi yaptım.bir tane ana server var veritabanım burda ve 2 ayrı bilgisayardan giriş yapıyorum öğrenci eklerken ve silerken diyer bilgisayarda değişikliği göremiyorum database değişiyor ama program açıken eklenen ve silinen öğrenciyi diyer pc de göremiyorum ancak o pc de de ekleme veya silme yaptığım zaman görebiliyorum bunu nasıl yapabilirim

    Cevapla
    1. dm7admin Yazıyı Yazan

      Yazdığınız programı görmediğim için cevabım genel olacak. Anladığım kadarı ile tek bir veritabanına çoklu bağlantı yapmak istiyorsunuz. Çoklu bağlantı tek bağlantıya göre daha karmaşıktır. Çünkü aynı anda farklı kullanıcılar aynı kayıt üzerinde işlem yapmak isteyebilir. Bu sebeple daha zordur. Dikkat edilmesi gereken noktalar vardır. Ama basit bir çözüm istiyorsanız şunu önerebilirim. Kullanıcıların veritabanlarını sürekli açık tutmak yerine sadece işlem sırasında veritabanına bağlanma ve işlem sonunda veritabanını kapatma yolunu seçebilirsiniz. Böylece her seferinde tablolar yeniden açılacağından her zaman güncel olurlar.

      Cevapla

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Çıkış  Yap /  Değiştir )

Connecting to %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.