Delphi Veri Tabanı Mimarisi

murat335

New member
Delphi ile güçlü veri tabanı uygulamları oluşturmanız hızlı ve kolaydır. Delphi veritabanı uygulamaları; "masa üstü veritabanı" diyebileceğimiz Paradox, dBASE, Local Interbase Server ve ODBC veri kaynakları ile doğrudan çalışabilmektedir. Bunun yanında Delphi İstemci/Sunucu uygulamaları; Oracle, Sybase, Microsoft SQL Server, Infromix, Interbase ve ODBC gibi sunucu mimarisine dayanan veritabanları ile de sorunsuz bir şekilde çalışmaktadır.

Delphi ile veri tabanı uygulamalarınızı, boş bir formu baz alarak geliştirebileceğiniz gibi, son derece gelişmiş olan veritabanı sihirbazlarını kullanarak da oluşturabiliriniz. Bu makalemizde Delphi ile bir veritabanı uygulaması geliştirmenin nasıl bir mantığa dayalı olduğunu görüp, kabaca hangi bileşen sınıflarının kullanıldığından bahsedeceğiz.

Delphİ Verİ TabanI Mİmarİsİ

Verilerin saklanılmasında genel olarak iki yaklaşım izlenir;

Bunlardan ilki; verilerinizi tek bir dosya gibi görünen bir ortamda saklamaktır. Bu tür yaklaşımı kullanan yapılar; Access, Interbase ve bir çok SQL hizmet birimidir. Bu yapılar bütün tabloları, indeksleri ve diğer bütün veritabanı bileşenleri tek bir dosya içinde tutar.
İkincisi de tahmin edebileceğiniz gibi; veri tabanınızı oluşturan bütün bileşenlerin (tablolar, indeksler v.b) ayrı ayrı dosyalar halinde bulunduğu yapıdır. Paradox, dBASE bu yapıda çalışan veritabanlarıdır. Bu tür yapılarda kullanılırlığı, erişimi, verimliliği arttırmak için ayrı ayrı halde bulunan bütün veri tabanı bileşenleri, bir klasörde toplanılabilir.
Veri tabanları, doğrudan erişilebilirlikleri pek mümkün olmayan yapılardır. Bunun için yazdığınız programlarla kullandığınız veri tabanı arasında bir köprüye ihtiyaç duyarsınız. Bunun için ?Veritabanı Motoru? olarak isimlendirebileceğimiz yazılımlar mevcuttur. Bir Borland Database Engine (BDE) bir Microsoft ActiveX Data Objects (ADO) buna örnek gösterilebilir.

Delphi?yi makinanıza kurduğunuzda, BDE motoru da otomatikmen makinanıza kurulur. BDE ile dBASE, Paradox, ASCII, FoxPro, Access tablolarının bulunduğu veri kaynaklarına ulaşabilir, Borland SQL Links ara birimini kullanarak da Oracle, Sybase, Informix, InterBase gibi veritabanlarınıda yönetebilirsiniz. Tabii bunun yanında ADO?yu kullanarak da ADO?nun desteklediği veri tabanlarına ulaşmanız mümkündür.

Delphi?de ADO bileşenlerini kullanarak oluşturduğunuz programlar BDE kütüphanelerine ihtiyaç duymazlar. Ama BDE kullarak oluşturduğunuz yazılımların dağıtımını yaparken, BDE?yi de kullanıcının makinasına kurmanız gerekmektedir. Çünkü BDE kütüphanelerine ihtiyaç vardır. Bu dağıtım işlemini de yükleme programları (InstallShield) ile yapmanız mümkündür. BDE motorunu serbestçe dağıtabilirsiniz. Borland bu imkanı tüm yazılım geliştiricilerine sunmuşturs.

Bu açıklamalar doğrultusunda Delphi?in oturduğu temel veritabanı mimarisini 1.şekil'de gösterildiği gibi temsil etmemiz mümkündür.


1.Şekil: Temel Delphi Veri Tabanı Mimarisi
(Database Application Developers Book)


Delphi VerİtabanI İletİŞİmİnİ Anlamak

Delphi bildiğiniz gibi nesne tabanlı bir dil yapısına sahiptir. Bu da oluşturulan veri tabanı uygulamalarının nesneye yönelik olmasını sağlamaktadır. Standart bileşenlerde olduğu gibi veritabanı bileşenlerinde de, çalışma zamanında ayarlanabilen özellikler mevcuttur. Tabii bunun yanında bir de, bu bileşenlere kullanışlı fonksiyonlar yazabileceğiniz, prosedürler oluşturabileceğiniz olaylar vardır.

Delphi bileşen paletini veritabanı açısından sınıflandırırsak, Data Access ve Data Controls isimlerini verebileceğimiz iki sınıf oluşacaktır:

Data Access sınıfı, veritabanı kaynağının bilgi kapsamı dahilinde, veritabanına erişimi kolaylaştıran, veri tabanına bağlanmayı, veritabanındaki tablolara ulaşmayı, tablo alanları arasında seçimler yapmayı, SQL cümleciklerini veritabanımıza göndemeyi sağlayan, genelde görsel olmayan bileşenlerden oluşur. Bunlara örnek olarak; TTable, TQuery, TDataSource, TADOConnection, TADOSource, TIBTable gibi bileşenleri verebiliriz.
Data Controls sınıfı, veri tabanından çektiğiniz bilgilerin ve veri tabanına göndereceğiniz bilgilerin, kullanıcı arayüzünde görüntülenebilmesi için gerekli olan görsel bileşenleri içerir. Data Controls bileşenleri standart bileşenlere benzerler. Zaten nesne tabanlı bir dil olmasının nimetlerinden faydalanıp bu bileşenler türetilmiştir. Benzer şekildeki standar bileşenler ile veritabanı bileşenlerinin hiyerarşisine baktığınızda aynı atadan türemiş olduklarını göreceksiniz. İsterseniz standart bileşenleri de kullanarak verileri kullanıcı ekranında görüntülemeniz mümkündür. Burada sadece fazladan yazmanız gereken kodlar olacaktır. Aslında bu yöntem programcılık açısından daha faydalı ve verimli bir yoldur ama pratikte, hız ve kolaylık açısından, genelde veritabanı için türetilmiş olan bileşenler kullanılır. Bunlara örnek olarak; TDBEdit, TDBNavigator, TDBGrid, TDBImage, TDBCheckBox bileşenleri gösterilebilir.
Veri kümesi (Dataset) bileşenleri, TTable ve TQuery gibi, çalışma zamanında görünür durumda değillerdir. Fakat BDE gibi veri tabanı motorları ile bağlantı halindedirler. Data Control bileşenleri veri kümelerine (dataset) TDataSource bileşeni ile gönderme yapabilirler. Data Access ve Data Controls bileşenleri arasında, bir köprüye benezetebileceğimiz, TDataSource bileşenini kullanarak verileriniz için görsel bir arayüz oluşturma imkanı elde etmiş olursunuz.

Son olarak bir form üzerinde Data Access ve Data Controls bileşenlerin temel ilişki ve bağlantı yapısını gösteren bir şekil (2.Şekil) ile makalemize son verelim.


2.Şekil: Temel Veritabanı Bağlantı Katmanları
(Database Application Developers Book)

Burda bir form üzerinde varolması gereken en az üç veritabanı bileşeni olduğu gözükmektedir. Birincisi; veri tabanı motoru (BDE, ADO v.b.) ile bağlantı halinden olan veri kümesi (dataset) bileşeni (burdaki resim için TTable ve TQuery). İkincisi; veri kümesi ile kullanıcı arayüzü arasındaki bağlantının sağlanabilmesi için kullanılan TDataSource bileşeni. Üçüncüsüde; kullanıcıların veriler üzerinde dolaşabilmesi, güncelleme yapabilmesi, silebilmesi gibi işlemler için kullanılan Data Control bileşenleridir (TDBEdit, TDBGrid gibi).

Gelecek makale:
.::Temel veri tabanı bileşenleri
.::Temel Özellikler


bu makale alıntıdır.....
 

Merchant

New member
Güzel paylaşım sağol.

Senden bir ricam olucak ; Bu aralar Master/Detail olayında takılmış durumdayım. Firebird 2.0 kullanıyorum. Master/Detailin mantığını anladım ancak bir örnek bulamadım. Bu konuda bana yardımcı olabilirmisin acaba ?
 

HTML

Üst