1 Haziran 1986 Tarihli Commodore Gazetesi Sayfa 14

1 Haziran 1986 tarihli Commodore Gazetesi Sayfa 14
Metin içeriği (otomatik olarak oluşturulmuştur)

Üç Tür Dosya Veri tabanı programlarında üç tür disket dosyası kullanılabilir. İlki sıradü- zensel (seguential) dosyadır. Bu dos- yada tüm bilgi birleştirilerek ardışık olarak diskete aktarılır. Programlarınızı diskete ya da kasete sıradüzensel dosya olarak kayıt edebilirsiniz. Sıra- düzensel dosya kullanıyorsanız, bilgi: leri birbirinden ayırt etmek için bilgi ögeleri arasına ayraçlar koymak zo- rundasınız . Sıradüzensel dosyaların kullanımın- da karşılaşılan problemlerden biri, bir kayıtın değiştirilmesi sırasında yeni yer- leştirlecek kayıtın eskisinden daha farklı bir uzunlukta olmasından doğar, Bu durum raflara kitap yerleştirmeye benzetilebilir. İnce bir kitabı raftan çı- karın ve yerine kalın bir tane koyun. Boş yer açmak için kalan kitapların tü- münü kaydırmak gerekecektir. Eğer değişiklik seyrek olarak yapılıyor ise eski kaydı silerek yerini boş bırakmak ve yenisini en sona eklemek bir çözüm olabilir. İkinci tür, rölatif dosyalardır. Bu türü de bir sıra güvercin yuvasına benze- tebiliriz. Belirli bir tanesi dolu olup di- ğerleri kısmen boş olabilir. Bu yapıda bir dosyayı genişlettiğinizde yer aç- mak için kaydırma yapmanız gerek- mez. Dosya, en büyük kaydı içine ala- cak kadar büyük bir alan içerdiği sü- rece hiçbir sorunla karşılaşmazsınız. Karmaşık bilgi dosyalama sistemlerin- de genellikle kullanılan dosya türü bu- Üçüncü tür bir sıradüzensel dosya- dır, fakat bir adres tablosuyla birlikte ele alınır (bir disketin kılavuzu gibi). Bu tür dosyalara HİBRİD (melez) dosya de- nilmektedir. Kullanılmak için yapılan programlamanın hamallığı oldukça fazladır. Kazanılan alan, ek program- lama ve tablo tarafından harcanılan alandan büyük olmadıkça bu yöntem pek tavsiye edilmez. Yandaki şekil üç dosya türünü de şematize etmektedir. Eğer disk işletim sisteminiz rölatif dosyaların kullanımı- na olanak sağlıyorsa (aynı zamanda rasgele-erişimli dosya adıyla da anı- lır), disketteki kalan yeriniz olmadığı sürece bu türü kullanmak isteyecek- siniz. Eğer sisteminiz rölatif dosyala- rın kullanımını içermiyorsa, programı- nızı bunu sağlayacak biçimde tasar- layabilirsiniz. Bunun için bir tablo tu- tabilirsiniz ya da kayıt numarasını dis- ketteki adresine (track ve sektör) çe- viren bir formül kullanabilirsiniz. Daha sonra kaydı doğrudan track ve sek- tör kullanarak yazabilirsiniz. Bu süreç biraz karmaşıktır. fakat yapmaya de- ğer. Çıkışın Planlanması Kazanılan tecrübeler planlamanın en önemli kısmının programın çıkış İş- levlerinden oluştuğunu göstermekte- dir. İstediğiniz çıktı türleri üzerinde dü- şünmek, bilgi dosyalamanın sizin için en kullanışlı yolunu gösterir, ayrıca gi- riş işlevlerinin tanımlanmasına da yar- dımcı olur. Soruna iki farklı açıdan ba- kabiliriz; bilginin nasıl kodlanması ge- rektiği ve dosyanın nasıl taranacağı. Yine sondan başa doğru gitmek en iyisi. İlk olarak tarama işlemine goz atalım. Tarama Zaman Alıcıdır Diyelim ki dosyanızda arama yapmak istiyorsunuz. Elinizdeki dosyada be- lirli bir bilgi grubuna karşılık gelecek bir bilgi ögesi var -örneğin bir yazar adı- ve siz bu yazara ait tüm kitapla- rin adlarını görmek istiyorsunuz. Yazar adı anahtar olarak kullanılmaktadır ve siz, anahtar kullanarak yazara iliş- kin tüm kayıtlara ulaşmak istiyorsunuz. Programın yazar adını bulabilmesi için önce her kayıt içindeki veri öge- commodore lerinin yerlerini ve uzunluklarını belir- lemeniz gereklidir. Yazar adı kayıt içinde ilk 16 byte'ı kaplayabilir. Disket- ten okuma yapıp anahtar ile karşılaş- tırırsınız. Eğer aynı iseler bu kayıt iste- diğiniz kayıttır. Tüm istediğiniz kayıtla- rın ekrana ve/veya yazıcıya dökümü- nü yapmanız mümkündür. Fakat bu noktada önemli bir sorun ile karşılaşırsınız. Disketten yazar adı- nı alıp anahtfar ile karşılaştırma bir ya da iki saniye sürebilir, ama eğer her biri bir saniye sürecek şekilde taran- ması gereken bin adet kayıtınız var ise...! Bu durumda tüm dosyayı tara-

Bu sayıdan diğer sayfalar: