|
Çukurova University Faculty of Agriculture Biometry & Genetics Unit LOCAL RESOURCES |
İNTERNET'TE TARIMSAL VERİTABANI UYGULAMALARI: ÇUKUROVA ÜNİVERSİTESİ ARAŞTIRMA FONU VERİTABANI ÖRNEĞİZeynel CEBECİ, Yüksel BEK Özetİnternet donanım ve yazılım teknolojilerinde görülen hızlı ilerlemeler, önceleri neredeyse durağan bir yapı içinde yavaş büyüyen, sürekliliğinin sağlanması ve yararlanışı pahalı olan veri tabanı uygulamalarında yeni bir dönem başlatmıştır. İnternet'te veri tabanı uygulamaları ile:
Burada listelenen faydalar, hemen her dalda olduğu gibi tarımsal üretim ve araştırmalarda da veritabanı oluşturması ve kullanımına yeniden yoğun ilgi duyulmasına yol açmıştır. Dünyada tarımsal içerikli çok çeşitli veritabanları bulunmasına karşın bunlardan çok azı İnternet ortamında başarılı şekilde hizmet vermektedir. Ülkemizde de son 5 yıldır tarımsal içerikli veri tabanı hazırlama gayretleri görülmektedir. Ancak, bu veritabanlarının hemen hepsi çevrim-içi araçlarla ilgili kitlelere açılamadığından tasarım aşamasından öteye geçememişlerdir. Günümüzün İnternet teknolojileri gerek daha önce hazırlanan ve gerekse yeni hazırlanacak veritabanları için bir yaşam fırsatı sunmaktadır. Ancak, İnternet'te veri tabanı tutumu ve yararlanışını sağlayacak yol gösterici çalışmalara gereksinim olduğu da açıktır. Bu çalışma, Çukurova Üniversitesi Araştırma Fonu'nca 16 yıldır desteklenmekte olan araştırma projeleri veri tabanı üzerinde çalışma yoluyla İnternet'te veritabanı uygulamalarını örneklemek üzere yürütülmüştür. Anahtar sözcükler: İnternet, Web, Veritabanı, Tarım, Tarımsal veritabanı, ADO, ASP, Çukurova Üniversitesi AN EXAMPLE OF AGRICULTURAL DATABASES ON THE INTERNET:THE RESEARCH DATABASE OF THE ÇUKUROVA UNIVERSITYZeynel CEBECI, Yuksel BEK AbstractThe recent advances in Internet hardware and software technologies have led to a new stage for the database applications which formerly can be characterized with a relatively slow growth rate and expensive maintenance costs. The following advantages were gained by use of new Internet + database technologies:
The advantages listed above directed us to rediscover the power and importance of databases in agriculture as well in the other areas. However many kinds of agricultural databases do exist in the world, a few of them successfully serve on the Net. Although the considerable efforts to establish agricultural databases were also observed in Turkey for the last 5 years, these databases were inefficient to access and use by a large community of the users because none of them were available on the on-line networks. Fortunately, today's Internet technologies offer a good opportunity to recover and extend the old off-line databases. On the other hand, some preliminary studies are needed to help to the database developers in some levels. Therefore, this study was done to demonstrate the research database of Çukurova University as an agricultural database example. Keywords: Internet, Web, Database, Agriculture, Agricultural database, ADO, ASP, Cukurova University 1. GirişBir yönetim sistemince yaratılan ve yönetilen birbiriyle ilişkili veri dosyaları ve/veya tablolar kümesi olarak tanımlanabilen veritabanları, önceleri yalnızca metin tipinde bilgi depolama ve yönetiminde kullanılırken günümüzde metin, ses, görüntü ve film biçimlerinde bilgi yönetimine de imkan sağlamaktadırlar (6). Tarımsal üretim, endüstri, işletme, ticaret, pazarlama, eğitim-öğretim ve araştırma gibi tarımsal konularda bilgi sağlamaya yönelik verileri kapsayan tarımsal veritabanları günümüz bilgi çağının vazgeçilmez öğelerinden biri durumuna gelmiştir. Tarımsal veritabanları konusunu tartışan/inceleyen bazı çalışmalar (2,5, 9, 10, 11, 12, 13) bulunmakla birlikte, ABD Tarım Bakanlığı Ulusal Tarım Kütüphanesi (USDA NAL) "Tarımsal Bilgi Ağı Merkezi (Agricultural Network Information Center = AgNIC)" tarafından işletilen "AgDB" dizini (directory) bunlar arasında en kapsamlı olanıdır (A HREF="#k9">9). AgDB, kaliteli olduğuna karar verilerek seçilmiş tarımsal ve tarımla ilgili veritabanları, veri kümeleri ve bilgi sistemlerine ait tarımsal bir veritabanı dizinidir. Bu dizinde 800'den fazla veritabanına ait açıklama ve ağ bağları yer almakta; her bir kaynağa ait kısa tanıtıcı bilgiler erişim/edinim bilgileriyle birlikte Web üzerinde yayınlanmaktadır. AgDB incelendiğinde, tarım ve diğer biyolojik bilimlerin hemen her dalı için oluşturulmuş veritabanları bulunduğu; bunlardan yaklaşık %80'inin Web üzerinde, % 2'sine yakının FTP, Gopher veya bunların herhangi ikisi ve çok az bir bölümünün ise her üç İnternet ortamında da hizmet verdiği anlaşılmaktadır. AgDB dizininde, başta ABD olmak üzere İngiltere, Almanya, Kanada, Avustralya, Yeni Zelanda gibi ulusal ve FAO gibi çeşitli BM örgütlerine ait uluslararası kökenli veritabanları çoğunluktadır. AgDB dizininde herhangi bir Türk veritabanı yer almamasına karşın, ülkemizde çevrim-dışı ve daha çok arşiv amaçlı olarak oluşturulmuş yüzlerce veritabanı ya da "veri-kümesi" bulunduğu ileri sürülebilir. Hatta, son yıllarda tarımsal amaçlı profesyonel veritabanı oluşturma gayretleri de dikkat çekmektedir (1, 7, 8). "DPT-Çukurova Üniversitesi Ziraat Fakültesi (ÇÜZF) I.Dönem GAP Entegre Projeleri" kapsamında ÇÜZF tarafından geliştirilen "GAP-DataBank Projesi" bunlardan bir diğeridir (14). GAP-DataBank, 2-3 yıl gibi bir sürede, zahmetle ve titizlikle toplanmış tarımsal çalışmalar veritabanı olarak oluşturulmasına rağmen kamu kullanımına sokulamamıştır. Diğer veritabanları için de aynı şeyler geçerlidir. Türkiye kökenli tarımsal veritabanlarının canlı kalamamasının (ya da ölü doğmasının) iki temel nedeni:
olarak listelenebilir. Veritabanlarının yaşama şansının ve idamesinin büyük ölçüde ağ altyapısına (çevrim-içi çalışmaya) bağlı olabileceği bazı çalışmalarda da vurgulanmıştır (1). Gerçekten de, çevrim-dışı veritabanlarının içerik bakımından zenginleştirilmeleri, yönetimi ve güncellemesi çok pahalı olup aynı zamanda iyi çalışan bir organizasyon gerektirmektedir. Bu tür veritabanları ya özel kurumlar ya da fon destekli örgütler tarafından oluşturularak CD, disk, disket vb. ortam üzerinde ücret karşılığında dağıtılmaktadır. Halbuki, Türkiye'de tarımsal veritabanları oluşturma istek ve gayretleri bazı Ziraat Fakülteleri'ndeki akademik çaba ve özveriye dayanmakta ve başlangıçta oluşturulan çekirdek tablo ve arabirimlerden öteye gidememektedir. Gelişen İnternet teknolojileri, tüm dünyada olduğu gibi ülkemizde de veritabanlarını yeniden gündeme sokmuş, veritabanı oluşturma, kullanım ve yönetimi belki de her zamankinden daha fazla popüler duruma gelmiştir. Çünkü:
İşte bu gelişmeler, parasal destek yoksunu ve profesyonel eleman istihdam sorunu yaşayabilen kurumların da veritabanı işletmesine belli düzeylerde imkan anlamına gelmektedir. Gerçekten de, günümüz İnternet teknolojileri gerek daha önce hazırlanan ve gerekse yeni hazırlanacak veritabanları için bir yaşam fırsatı sunmaktadır. Çünkü, İnternet üzerinde yer alan veritabanları kullanıcılarca desteklenerek büyütülebilen bir canlılık gösterirler. Bununla birlikte, İnternet'te veritabanı oluşturma ve yararlanışını örnekleyerek yol gösteren çalışmalara gereksinim olduğu da açıktır. Bu çalışma, Çukurova Üniversitesi Araştırma Fonu'nca 16 yıllık bir süre içinde desteklenmekte olan araştırma projelerini tanıtan araştırma fonu veritabanı (4) üzerinde İnternet'te veritabanı uygulamalarını örneklemek üzere yürütülmüştür. Çalışmada, Microsoft Active Server Pages (ASP) ve Advanced Data Objects (ADO) teknolojisine dayanan bir veritabanı sorgulama arabirimi tanıtılmakta ve örneklenmektedir. 2. Veritabanları ve Arabirim TeknolojileriGünümüzde veritabanı teknolojileri dBASE, FoxPro ve Paradox gibi basit ilişkisel yapıda olanlardan Oracle, DB2, Sysbase, Informix, Interbase ve MS SQL Server gibi çok gelişmiş olanlara kadar geniş bir yelpaze içinde yer almaktadır. Herhangi bir uygulamada hangi veritabanın kullanılacağı teknik ve yönetsel gerekçelerle farklı olabilmesine karşın MS Access gibi orta düzey performansa sahip ve Office ailesi ürün paketi içinde bulunması nedeniyle Windows platformlarında çok yaygın olan bir veritabanı çoğu uygulama için yeterli kabul edilebilir. Buna karşın, hemen belirtmek gerekir ki, bir MS tanımı olarak ortaya çıkan ODBC teknolojileri veritabanı yönetim ve uygulamalarında yeni bir dönem başlatmıştır. ODBC, depolanan veri biçiminden bağımsız olarak veritabanı uygulamalarından ilişkisel SQL verilere erişim ve işletim sağlayan standart bir arabirim teknolojisidir. Böylece veritabanı tipi ne olursa olsun her veri tabanına özel bir sürücü (ODBC driver) aracılığıyla evrensel iletişim sağlanabilmektedir. Bu nedenle, bildiri kapsamında sözü edilen uygulamalar her ne kadar MS Access veritabanı için örneklense de ODBC kaynağı şeklinde çalışıldığından tüm veritabanları için geçerli sayılabilir. ODBC, işletim platformuna ve veritabanına bağlı olmayan (neutral) bir standart olmasına karşın herhangi bir ağ ortamında veritabanı yaratmak ve işlemek için kullanılan gelişmiş tekniklerin sayısı bir hayli fazladır. Bu konuda tanınmış ürünlerin çoğunu üreten Microsoft önce OLEDB, daha sonra DAO'nun çeşitli uyarlamaları ve en son olarak RDO ve ADO teknolojilerini uygulamaya koymuştur. OLEDB, ODBC'den farklı olarak yalnız veritabanı biçimindeki verilere değil tüm veri tiplerine erişim sağlayan ve veritabanı bileşenleri geliştirmek için de kullanılan düşük-düzey C/C++ arabirimleridir (15). OLEDB'nin geliştiriciler tarafından kullanımı kolay değildir ve bu nedenle Data Access Objects (DAO); DAO'nun uzak veri kaynaklarını yönetmedeki eksiklerini aşmak için Remote Data Objects (RDO) geliştirilmiştir. Daha sonraları ise DAO ve RDO'nun özellikleri daha esnek şekilde birleştiren ve kullanımı basit Advanced Data Objects (ADO) teknolojisi geliştirilmiştir. ADO, her ne kadar geriye doğru uyum nedeniyle RDO ve DAO desteği vermekle birlikte DAO ve RDO' daki bazı ileri özelliklerin eklenmesi beklenmektedir (16). Bu nedenle bu çalışmadaki örneklemelerde DAO teknolojileri kullanılması uygun görülmüştür. Veritabanı uygulamaları işlevsel bakımından iki kategoriye ayrılabilir. Bunlardan birincisi veritabanı sisteminin statik kısmından sorumlu olup veritabanın yaratılması, kopyalanması, tablolar ve alanların yapısı ve biçimi gibi rutinleri/işlemleri kapsar. Diğer kategori ise dinamik olup sorgulama ve işleme rutinlerinden oluşur. Tüm bu işlemlerin pek çoğu kullanıcı arabirimleri ve işleme-sorgulama kodlarıyla gerçekleştirilir ve C/C++, Delphi, Java, Perl ve Visual Basic bu amaçla en çok kullanılan diller arasındadır. Ancak, Web tabanlı uygulamalarda Javascript (JS) ve/veya Visual Basic script (VBS) dilleri en yaygın olanlarıdır. Bunlardan bazen birincisi bazen de ikincisinin kullanılması gerekli olabilmektedir. İşte programcının her ikisinden de vazgeçmek istemediği durumlar için yine en son teknolojilerden biri olan Active Server Pages (ASP) teknolojisi önemli avantajlar sunarak platformlardan bağımsız kod yazılmasını mümkün kılmaktadır (3). ASP, JS + VBS + HTML kodlarının aynı sayfada yazılabilmesine olanak sağlayan ve sunucu üzerinde etkin bileşenler mantığına dayanan bir devingen Web sayfaları teknolojisidir. Web üzerindeki birçok veritabanı-arama motoru uygulamasında kullanılan bu esnek teknoloji günümüzde gittikçe yaygınlaşma eğilimi göstermektedir. 3.Web Ortamında Veritabanı Uygulamalarına Girişİnternet'te, daha özelde Web ortamında veritabanı uygulamaları bu bildiri kapsamında sunulacak, hatta özetlenecek kadar kısa bir konu değildir. Bu nedenle, veritabanı geliştirme konusunun sadece basit sorgulamalar gibi bazı kısıtlı ayrıntıları incelenecektir. Web ortamında veritabanı uygulamalarında izlenecek adımları:
şeklinde 3 alt başlık altında incelemek konunun anlaşılabilirliğini arttırabilecektir. Bildiride bir tam uygulama örneği olarak halen İnternet ortamından erişilebilir şekilde hizmet veren Çukurova Üniversitesi Araştırma Fonu Projeler Veritabanı seçilmiştir (4). Bunun nedeni, hem gerçek bir bilgisel veritabanı olması hem de gelecekte uygulanması muhtemel Web-temelli tarımsal veritabanlarına iyi bir örnek teşkil ettiği düşüncesi olmuştur. 3.1. Veri kaynakları : Veritabanın Oluşturulması ve ODBC ayarlamaları3.1.1. Veritabanının OluşturulmasıAccess'te veritabanı oluşturmak için Dosya menüsünden Yeni veritabanı seçildikten sonra Yeni diyalog kutusundan Boş veritabanı ikonu tıklanır. Yeni Veritabanı Dosyası diyalog penceresinde veritabanına verilecek ad (örnekte arfon.mdb) ve veritabanının yaratılacağı dizin (örnekte veriler) girilip yarat butonu tıklanır. Access'te veritabanının yaratılmasından sonra veritabanını oluşturan tablolar tanımlanmalıdır. Örneğimizdeki Araştırma Fonu Veritabanı yalnız araştırma projeleri hakkındaki verileri içeren tek bir tablodan (projeler) oluşacaktır. Tabloyu oluşturmak üzere görüntüdeki veritabanı penceresinde Tablolar sekmesine geçilerek sırasıyla Yeni butonu tıklanıp Tasarım Görünümü seçilir. Artık proje verilerini içerecek tablonun tanımına başlanacak aşamaya gelinmiştir. Örneklenecek projeler tablosunun yapısının aşağıda Çizelge 1'de verilen gibi olacağı varsayılmıştır. Çizelge 1. Araştırma veritabanı projeler tablosu yapısı
Çizelge 1'de sol tarafta listelenen sirano, projeno, yurutucu vb. alan adları, uygulama geliştirme sırasında kullanılmaktadır. Bir başka deyişle araştırma fonu veritabanındaki projeler tablosundaki kayıtlara erişim ve tüm sorgulama işlemleri sırasında burada listelenen alan adları kullanılmaktadır. Tablo kayıtlarını oluşturan kayıt alanlarının tanımlanması bitince tabloya ad verilerek (projeler) tablo kaydedilir ve gerekirse deneme amaçlı veri girişi yapılabilir. Oluşturulan örnek tablonun (projeler tablosu) yapısı ve oluşturulmasına ilişkin görüntü Şekil 1'de görülmektedir. Veritabanlarının ODBC kaynağı olarak kullanılması için veritabanını oluşturan tablolar ve veritabanı kapatılarak Access ortamından çıkılmalıdır. ODBC kaynak tanımlamalarına Denetim Masası'ndan 32-bit ODBC ikonuna tıklanarak başlanır.
3.1.2. Veritabanının ODBC Veri Kaynağı Olarak TanımlanmasıDenetim Masası (Control Panel) açılıp, 32-bit ODBC Yapılandırması (32-bit ODBC configuration) ikonu tıklandığında ODBC Veri Kaynağı Yöneticisi (ODBC Data Source Administrator) penceresine ulaşılır. Veri tabanına ODBC bağlantısı sağlamak için bu pencerede System DSN sekmesi tıklanmalıdır. Bu yapıldığında, varsa daha önce tanımlanmış olan "ODBC sistem veri kaynakları" listelenir (Şekil 2-a). Yeni bir veri kaynağı eklemek için Add butonu tıklanarak veri kaynağı tanımlama penceresine ulaşılır. Veri tabanı sürücüleri listesinden Microsoft Access Driver seçilip Son butonu tıklandığında (Şekil 2–b) ODBC Microsoft Access xx Setup penceresine (Şekil 2–c) ulaşılır. Burada "veritabanı yolu" ve "veri kaynağı adı (data source name)" ve diğer bazı özellikler tanımlanır. Bu pencerede girilen ad daha sonra geliştirilecek uygulamalarda veritabanına bağlantı için kullanılan ad; bir başka deyişle "veri kaynağının adı"dır (data source name = DSN). Çalışılan örneklemede c:\veriler\arfon.mdb veritabanına cuarfon kaynak adı olarak verilmiştir. Artık daha sonra anlatılacak uygulamalarda söz konusu veritabanına ulaşmak için bu kaynak adı kullanılacaktır. Veri kaynağı adının tanımlanmasından sonra veri kaynağına bağlanacak olan veritabanının seçilmesi gerekir. Bu amaçla Select butonu tıklanıp Select Database penceresine ulaşılır. Burada veritabanının bulunduğu dizin ve veritabanı seçimi yapılıp Tamam butonu tıklandığında ODBC veri kaynağı tanımı tamamlanmış olur. System DSN penceresine geri dönüldüğünde (Şekil 2–a) yeni oluşturulan sistem veri kaynağının listeye eklenmiş olduğu görülür. Bu aşamadan sonra veritabanı tüm SQL işlemlerine açık evrensel bir veri kaynağı durumuna gelmiş olur. Başka bir deyişle fiziksel yapı değişmediği halde (veritabanı hala Access biçiminde olduğu halde) tüm scriptler ve ODBC-temelli arabirimlerin hepsine açık hale gelmiş durumdadır.
3.2. Formlar: İstemci/Sunucu EtkileşimiŞimdiye kadar bir veritabanının ve/veya veri kaynağının durağan kısmıyla ya da yapısal yönü ile ilgilenildi. Veri kaynağının kullanıcılara açılması yani sorgulama, ekleme, silme ve güncelleme gibi işlemlerin yapılabilmesi ise geliştirme adımlarının ikinci aşamasını oluşturmaktadır. Veri kaynaklarının kullanıcılarla etkileşimi için Web ortamındaki en belirgin seçenek HTML formlarıdır. HTML formları tekniğinin bu bildiri kapsamı dışında olmakla birlikte aşağıdaki kod listesinin (Kod Listesi - 1) kısaca incelenmesinde yarar olabilir. Kod listesinde sol tarafta görülen satırlar sadece anlatımı kolaylaştırmak amacıyla kullanılan satır numaraları olup yazım sırasında koda dahil edilmemelidir. Kod Listesi-1, Web sunucuda yer alan bir HTML belgesine (Web sayfası) ait olup örnekte arfon.htm adıyla anılmaktadır. Bu belge kullanıcı tarafından bir Web tarayıcı yazılım aracılığıyla depolandığı Web sunucudan istendiğinde Şekil 3'tekine benzer bir görüntü elde edilir. Görüntüde "Proje Adı:" açıklamalı bir kutu, altında ise Sorgula ve Yenile olmak üzere iki adet buton bulunduğu görülmektedir. İşte bu türden Web sayfalarına Web terminolojisinde "form" denilmektedir. Web ortamında sunucu üzerindeki uygulamalara veri göndermek Web formları aracılığıyla gerçekleştirilir. Elde edilen veriler sunucu üzerinde işlenerek gerekirse kullanıcıya bilgi verilir. Böylelikle istemci-sunucu etkileşimi sağlanarak devingen uygulamalar geliştirilebilir. Web form yapısına ait basit bir örnek Kod Listesi-1'de görülmektedir. Bu form, projeler tablosunda bulunan projeleri, "proje adı"na göre aramak için gerekli sorgulama verilerini toplamakta kullanılan bir formdur. HTML dilinde formlar, Kod Listesi-1'in 13. satırındaki gibi bir
BIOMETRY and GENETICS UNIT Çukurova University, Faculty of Agriculture, Dept. of Animal Sci. 011330 Adana, Turkey | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||