Elektrik Mühendisliği · Sayı 327-328-329 · Ocak-Şubat-Mart 1986
dBASEIII
Bilgisayar, yazılım ve internet Teknik / bilimsel makale
- Yıl
- 1986
- Sayfa
- 4
- Okuma süresi
- 10 dk
- Görüntülenme
- 0
Konu
Bilgisayar, yazılım ve internet
Anahtar kelimeler
- dBase III
- veri tabanı yönetimi
- bağıntılı veritabanı
- IBM PC
- indeksleme
Özet
Yazı, 16 bitlik mikroişlemciler için geliştirilmiş bağıntılı veritabanı yönetim programı dBase III'ün yapısını, kütük tiplerini, alan türlerini, ifadeleri ve diğer programlarla veri aktarım özelliklerini teknik olarak tanıtmaktadır.
Tam metin
Metin PDF'ten otomatik çıkarılmıştır; tablo, şekil ve formüller eksik ya da hatalı olabilir. Özgün dizgi için PDF'e bakın.
tır <s
dBaselII
A.NusretGÜÇLÜ
1. GİRİŞ
Bu yazıda, "relational databa se" diye adlandmlabilecek bir veri tabanı oluşturma paket programı olan dBase III tanıtılacak, bu prog ramla yapılabilecek işlerden söz edi lecektir. Daha detaylı bilgi için kul lanım kılavuzuna bakılmalıdır.
Bağıntılı veritabanı, çeşitli sıra ve dizeklerden oluşmuş bir dizi tab lodur. Bu tabloların herbiri bir ba ğıntıdır. Sıralar kayıt, dizekler ise alan adını alırlar. Her kaydın bir kayıt numarası vardır. Her alana da ayrıca bir ad verilmiştir. Böylesi bir yapı aşağıdaki gibi örneklene bilir:
No Kayıt
Personel) Alan Adı Görevi
dBase II gibi bir bağıntılı veri tabam işletim sistemi, bağıntılar
(veritabanı kütükleri) arası ilişkileri kurmaya olanak sağlar. Aşağıdaki tabloyu düşünürsek :
(Stoktan
Stok (Malın)
Alan)
MO NO Adı Fiyatı Personel
Personel ve Stok Kütükleri arasında ki bağıntı, personelin adı alanının içeriğine göre kurulacaktır.
dBase III, daha önce 8 bitlik bil güşlemciler için yazılmış dBase II' nin aksine 16 bitlik mikroişlemciler İçin hazırlanmıştır. IBM PC Ve Co rona eşdeğeri mikrobilgisayarlarda ve en az 256K1ık bellekle işletilebi lir. Komutlar, özellikle tngUizce bi len kullanıcılar için oldukça anlaşı lır ve kullanım kolaylığına sahiptir. Bütün komuttan tek tek işletmek
olası olduğu gibi, bir program için de ardışık olarak işletmek ve veri tabanı ile ilgili stok kontrolü, has tane kayıtlan, müşteri, abone işlem leri v.b. gibi her çeşit işi yapmak da olasıdır. Komutları içeren program dBase İÜ tarafından sağlanan keli me işlemciyle yazılabildiği gibi, Wordstar benzeri değişik kelime iş lemciler kullanarak da yazılabilir.
1.1. Teknik Özellikler a Her veritabanı kütüğü, bir milyona kadar kayıt içerebilir. Bel lek açısından bakıldığında, her kü tük iki milyon "byte" içerebilir. Aynca her kayıt 4000 bytelık yer kaplayabilir. Oluşturulabilecek alan sayısı ise 128 olarak sınırlanmıştır.
b dBase IU'te değişik tipte »lanlar tanımlanabilir. Bu alanlar dan bazdan ve ilgili bellek sınırla malan (en fazla byte olarak) şöyle sıralanabilir :
C : Karakter : 254 D: Tarih : 8 L : Mantık : 1 M : Memo :4096 N : Nümerik : 19 c Değişik tipte 15 kütük aynı anda açılabilir ve kullanılabilir. Veri tabanı kütüğü (DBF) sayısı ise 10 ile sınırlanmıştır, bu sayı çeşitli uygu lamalar için yetenidir. Her aktif DBF için 7 index kütüğü ve 1 for mat kütüğü açılabilir. Bu kütük tip lerinden ileride sözedilecektir.
d Nümerik doğruluk 15 ve on dalık olarak da 9 basamağa kadar sağlanmıştır. Kullanılabilecek en büyük sayı 1 x 1 0 3 0 8 ve en küçük pozitif sayı da 1 x 10 ~ 3 0 7 'dir.
e Aktif bellek değişken sayıa 256'ya kadar çıkabilmektedir. Bel lek değişkenleri için toplam byte sayısı 6000 olarak belirlenmiştir.
Şunu da vurgulamak gerekir ki, bütün bu değerler bilgisayarın dona nım konfigürasyonuyla da sınırlan mış olabilir.
f İşletim sistemi olarak MS DOS, yada 2,0 sonrası PC DOS kul
lanılmaktadır. Eğer donanım 256K' dan daha geniş bellek içeriyorsa, dBase III içinden ASCII olarak kod lanmış başka programlar ve bu ara da DOS komuttan da kullanılabil mektedir.
2. dBASE III YAPILARI
2.1. Kütükler dBase III, bilgiyi 9 ayn biçim de formatlanmış kütüklerde saklar. Her kütük 8 karakterlik ad, bir nok ta ve 3 karakterlik tipleyiciyle ad landırılır. dBase III, kullanılan ko mutlara göre kütükleri kendisi sınıf lar, ancak istenirse noktadan sonra ki Uç karakter değişik şekillerde be lirlenebilir. Varolan' kütük yapılan ve tipleri şöyledir :
a Veritabanı (. dbf) Kütükleri Bu tip kütükler, veriyi, teknik özellikleri giriş kısmında açıklanan kayıt (sıra) ve alanlar (dizek) biçi minde depolar.
b Memo (. dbt) Kütükleri Bu tip kütükler, (. dbf) kütükle rine yardımcı yapılar olarak düşünü lebilir. Her veritabanı kaydı 128 me mo alanı içerebilir. Bütün bu alan lar aym (. dbt) kütüğünde toplanır. Memo alanlan karakterlerden oluş makla birlikte, üst anır 4000 karak tere kadar çıkabilmektedir. Her me mo alam kayıt başına 512 byte ge* rektirir, ayn bir kütükte depolandı ğı için (. dbf) kütüğünde yalnızca 10luk bir yer işgal eder.
c İndeks (. ndx) Kütükleri İndeks kütükleri, varolan yapıyı fiziksel yerine mantıksal bir dizgede kullanabilmek için oldukça büyük kolaylık sağlar. Fiziksel dizge, kayit lann giriş sırasıdır. Mantıksal dizge ise, istenen bir ya da birkaç alan üzerinde (tanımlanmış bir anahtara göre yapılan) alfabetik, nümerik ya da kronolojik sıralamadır. Anahtar, bir ad ya da tarih alanı olabilir, öyle ki tamamen keyfi girilmiş bir abone listesi, varolan kütük yapışım değiş tirmeden, sözgelimi hem alfabetik, hem de abone olma tarihine göre taranabilir.
Kayıt No
1 2
Ad
Hasan Ahmet Veli Hüseyin
şeklinde fiziksel yapıya sahip bir kütük (. dbf) "AD'agöreindekslen diğinde, index (. ndx) kütüğü
Kayıt No Ad
Ahmet
Hasan
Hüseyin
Veli
...
şeklinde oluşturulacaktır, özellikle uzun bir liste üzerinde işlem yapar ken kullanılan indeksleme işleminin arama, v.b. işlemleri büyük ölçüde hızlandıracağı açıktır. Aym anda 7 indeks kütüğü kullanılabilir, Verita banı içeriği değiştikçe, açık indeks kütükleri de değişecektir.
d Komut (. prg) Kütükleri Bu tür kütükler, yapılması iste nen işleri, yani bir dizi dBase III ko mutunu içeren programlardır. Bu kütükler, ASCII olarak saklanacağı için yalnızca dBase III içinde değil, birçok kelime işlemci kullanarak da yazılabilir.
e Format (. fmt) Kütükleri Veri girişlerinin ekranda hep aynı biçimde, belidi bir forma göre yapılması için kullanılır. Format kü tükleri, aym şekilde yazıcıya da, çe şitli muhasebe, fatura, banka ve kart ile yürüyen stok işlemlerinde oldu ğu gibi, istenen formatla basılmasını sağlar.
f Label(.lbl) Kütükleri Bu kütüklerin içerdiği bilgiyi, LABEL komutu, labelleri basarken kullanacaktır. ~g Bellek (. mem) Kütükleri 256 bellek değişkenine kadar depolayabilir. Daha sonraki kulla nımlar için değişkenlerin içerikleri ni saklamakta kullanılır. Bir uygula mada, PASSWORD yaratmak ve doğrulamak için kullanılmıştır.
h Rapor (. frm) Kütükleri Rapor formları hazırlamakta ve bastırmakta kullanılır. Uygulama olarak, istenen formda stok listesi bastırmak düşünülebilir, i Metin (. txt) Kütükleri Bu kütükler ASCII olarak sakla nır ve yalnızca basılabilir karakter lerden oluşur. dBase III ile, satın alınmış diğer yazılımlar arası ileti şim ve dBase III işlemlerinin kaydı için kullanılabilir.
2.2. Alanlar
Her alan, harfle başlayan 10 ka rakterlik bir isim, tip ve alan genişliği ile belirlenir. Bunların herbiri kütük yapısı oluşturulurken (CREATE), kullanıcı tarafından tanımlanacaktır.
dBase III, beş ayrı tipte alan kullanabilir :
a Karakter (c ) Klavyeden girilebilen herhangi bir karakter olabilir. Alan genişliği 254 ile sınırlanmıştır. b Tarih ( D ) Amerikan formatına uygun ola rak tasarlandığından, verinin ay/gün/ yıl olarak girilmesi gerekir ve yatay çizgilerle ayrılmış toplam 8 karak terlik bir alan işgal eder. dBase III komutlanyla tarih üzerinde gün ek leme, çıkarma, vJ>. birçok işlem yapılabilir.
c Nümerik(N) Güvenilirlik limiti 15.9 forma tında tam ya da ondalık sayılar için kullanılır. d Mantık ( L ) Tek bir yer işgal eder, içeriği ya evet (doğru) ya da hayır (yanlış) dır. e Memo (M ) Metinler için kullanılır ve daha önce sözünü ettiğimiz (. dbt) kütük lerinde depolanır. 512 bytelık blok lardan oluşur ve bu sayı en fazla 4096 'ya çıkabilir.
2.3. Bellek Değişkenleri
Veritabanı yapısı dışında, ba ğımsız olarak depolanırlar. Sözgeli mi bir muhasebe programında (iste
nen koşula uyan) bir GİRDİ, ÇIKTI (burada girdi ve çıktı, alan adı ola rak düşünülmelidir) toplamı bellek değişkeni olarak hesaplanıp, daha sonraki işlemlerde kullanılabilir. Değişkenler, karakter, tarih, nüme rik ve mantıksal olmak üzere dört tipte sınıflandırılabilir. Aktif olarak 256 değişken, toplam 6000 byte ile sınırlanmıştır. Genellikle geçici de polama için kullanılmalarına karşın, (. mem) kütüklerinde, sonraki kulla nımlar için kalıcı olarak da depola nabilirler.
dBase III, bu değişkenlerle ilgi li çok çeşitli işlem kolaylıkları sağ layan fonksiyonlar içermektedir. Ayrıca, diğer programlama dillerin de olduğu gibi, değişkenler, isteğe göre global (PUBLIC) ya da lokal (PRIVATE) olarak da tanımlanabi lir. Bu tanımlamalar, özellikle alt programlar ve makro kullanımlar açısından önemlidir.
Değişkenler klavyeden isteni len formatta girilebilir ve program yapısı içinde girilen verilerin doğru luğu kontrol edilebilir.
3. İFADELER, OPERATÖRLER
Çeşitli programlama dillerinde olduğu gibi, dBase III içinde de alanlardan, bellek değişkenlerinden, sabitlerden, fonksiyonlardan ve ope ratörlerden oluşan değişik ifadeler kurulabilir. Şöyle bir ömek düşü nelim, bir mal satışında müşteriye göre özel indirim yapılıyor ve maun üzerine KDV eklenip toplam fiyat hesaplanıyor. Elimizde varolan veri tabanı yapısında, malın fiyatı ve in dirim alanları olsun. KDV % 10luk sabit bir oran ve TOPLAM da bellek değişkenimizin adı olduğunda, aşa ğıdaki ifadeyi kullanmamız gerekir.
Toplam = (Fiyat—Fiyat * İndirim) * 1.1
Eğer maun satışı birden fazla ise, genel toplam
Genel Top.=Top|am * Miktar olarak hesaplanacaktır. (Klavyeden girilen büyük haflerde l'nın üzerinde
nokta görünmemesine karşın, örne ğimizde, ve ğ, ü, ö, ç, ş gibi Türkçe karakterler de son bölümündeki ör nek program içinde, izleme/okuma kolaylığı açısından kullanılmıştır).
Daha önce sözünü ettiğimiz format yapıları kullanılarak hesapla nan değerler, bir fatura üzerine de bastınlabilecektir.
Operatör olarak, yukarıdaki ifa delerde = , ( ) , x ve — kullanılmıştır, öncelerine göre operatörler ** ya da (kuvvet), * ve /, + ve — , + (iki ya da daha fazla karakter dizisini tek bir dizi haline getirme) ve J5 (karak ter dizisi karşılaştırma), < (küçük), > (büyük), =, O y a da # (eşit de ğil), < = , > = . . NOT. (değil), . AND . (ve), . OR . (veya) olarak sıralanabilir.
4. DİĞER ÖZELLİKLER
4.1. Çoklu Kütük Kullanımı dBase III, aynı anda 10 verita banı kütüğünün kullanılmasına ola nak verir. Her kütük, açık olan tek kütük gibi bağımsız olarak kullanı labilir. Her kütük için ayn bir çalış ma alam açılır ve l'den 10'a kadar olan çalışma alanları A'dan J'ye ka dar harflerle belirlenir. dBase m ' e girildiğinde çalışma alan numarası l'dir. Çalışma alanları sırayla seçil mek zorunda olmadığı gibi, yalnız ca A J olarak değil, kütük adıyla da açılabilir. Bunun için, önce bir alan seçmek (SELECT), sonra da o alan da kullanılacak kütüğü belirlemek (USE) gereklidir.
İki farklı kütük, ortak bir alan ya da ifade tanelinde bağlanabilir. Bunun için, ikinci kütük seçilen ada göre indekslenmiş olmalıdır. Söz konusu özellik, iş uygulamalarında ve rapor hazırlanırken iki kütüğün birlikte kullanılmasını sağlar.
4.2. Diğer Programlarla İlişki Kurma Belirli komutlar, dBase III veri tabanı kütüklerinden MailMerge gibi programlara veri transferi yapılabil mesini sağlar. Ancak, veri gönderile
ELEKTRİK MÜHENDİSLİĞİ 327/328/329 14
cek programın veri formatı bilinme lidir. Sözgelimi MailMerge, virgülle ayrılmış alanlar içeren ayn satırlara yerleştirilmiş kayıtlar kullanır. Bu şekilde, MailMerge tarafından kulla nılabilecek adres kayıtlan dBase III içinde oluşturulabilir ve aynı formu taşıyan bir mektup örneğinin deği şik adreslerle çoğaltılmasını sağlar.
Benzer bir şekilde, Multiplan gibi programlardan veri alınabilir. Bunun için söz konusu program, dBase III'ün anlayabileceği formda veri gönderebilmelidir.
Sözü edilen iki tip veri transferi için de detaylı bilgi kullanım kata loglanndan elde edilebilir.
4.3. Fonksiyonlar dBase İÜ, ay, gün, yıl ve tarih üzerine işlem yapma olanağı sağla yan fonksiyonlar içermektedir. Ka rakter manipülasyonu da çeşitli fonksiyonlarla olaa kılınmıştır. Di ğer programlama dillerinde farklı olarak, dBase İÜ, yapısı gereği, ma tematiksel olarak anıriı bir arşive sahiptir, çünkü bir veritabanı prog ramında özel fonksiyonlara gerek duyulmayacaktır.
Bunların yanı sıra, dBase i n , birtakım özel kütük test fonksiyon lan da içermektedir. Bunlar, kütü ğün olup olmadığını, başlangıç ve sonunu, kayıt numarasını test edip, Doğru/Yanlış şeklinde sonuç veren fonksiyonlardır. Aynca, karakter dizisinin uzunluğunu, ekran ve yazı cıda sıra ve dizek yerini belirleyen fonksiyonlar da vardır.
4.4. Sistem Konfigürasyonu dBase m, standart ASCII me tin kütüğü olan bir konögürasyon (CONFIG.DB) kütüğü kullanır. Bu kütük, herhangi bir editör program la ya da kelime işlemciyle yazılıp "SOFTKEY" olarak da adlandırılan fonksiyon tuşlarının, ON/OFF ko mutlarının kontrolü gibi olanaklar sağlar.
5. ÖRNEK Komut ve fonksiyon listesi, bu
yazıda verilmemekle birlikte, bir stok kontrol programında altprog ram olarak kullanılan stoktan mal zeme arama menUsüne giriş olası ol duğu ölçüde aşağıda açıklanmıştır. * ile başlayan satırlar dBase III ta rafından açıklama olarak kabul edi lip işleme konmaz. * ARAMA PROGRAMI * bu program tüm stok listesini ta rayarak * verilen özelliklere uygun malze meyi bulur * * değişkenleri sil clearall * stok arama kütüğünü kullan usearastok * ana menliye dönme isteği gelene dek
* döngü içinde kal do while . T . * ikinci düzey altprogramlara gön derilecek değişkenleri belirle public..., . . . * ekranı sil dear * sıra, dizek olmak üzere ekrana yaz a 7,5 say 1 Tanım kodlarına göre arama' a 9,5 say '2 Adına göre arama' a 11,5 say '3 Miktan en az stok düzeyinin altındakileri arama' a 13,5 say '4 Bütün stoğun listesi1 a 15,5 say '0 • Ana menüye dönüş' * cursoru taşı a 20,5 wait lütfen yukandakilerden birini seçiniz ' to ara * seçime uygun işlemi yap docase caseara = l do arama 1 caseara = 2 do arama 2 caseara = 3 zap append from stok for uyan list off to print caseara = 4 use stok
report form stok to print caseara = 0 return other wise loop endcase enddo
Aramal ve arama2 aynca yazıl ması gereken iki alt programdır. UYARI, stok yapısında bulunan ve stok işlendikçe (giriş çıkışa göre) değişen bir mantık değişkeni olup en az stok düzeyini kontrol etmek tedir. Program, menüdekilerden farklı bir rakam girildiğinde döngü nün başına dönecektir. Program iş letilmeden önce, stok ve aynı yapı daki arastok kütükleri oluşturulmuş (CREATE), aynca basılacak format hazırlanmış (MODIFY REPORT) olmalıdır. Program, dBase III keli me işlemcisi kullanarak (MODIFY COMMAND) yazılabilir. Programı koşmak için ise, do<programadı> komutu yeterlidir.
Gerekli tüm programlar hazır lanıp, diskete sistem, COMMAND. COM kütüğü, dBase III sistem prog ramlan (. exe ,. ovr) yüklenip, bir "batch" kütüğü yazılırsa, bilgisayar açıldığı zaman stok kontrol progra mı koşulmaya başlanacaktır. Ayn ca, disk sürücüler, ya da harddisk ile disk sürücüler aran geçişler de prog ram içinde belirlenebilir, önerilen, hardiskli sistemde, program ve kü tükler diskte, backup disketi de A sürücüsünde; çift disk sürücülü sis temde program A, veritabanı kütük leri de B sürücüsünde olacak şekilde çalışmaktır. Böylece kayıtlar ayn bir diskette tutulacak ve disketin bellek yer sınırlaması sorun yarat mayacaktır.
önemle vurgulanması gereken bir nokta, sik ak backup (copy) alınması üzerinedir. Yapılar ve prog ramlar değiştikçe veri korunması ve güvenilirlik açısından kütüklerin kopyalarının pir köşede korunması nın yararlan büyük olacaktır.