Veri düzenleri Leonard Shapiro ÇEVİREN: JÜLİDE ERGÜDER Yeni bir database sistemi satın aldı- nız. Bir ABASE II,Superbase ya da bu- na benzer bir şey. Yeni oyuncağınızı çok mu çok seviyorsunuz. Raporlarını artık çabucak yazabiliyorsunuz, her- hangi bir konuda özel malumat edin- mek istediğinizde, hazır bilgiye kolay- ca erişebiliyorsunuz. Database'inizle daha çok ve çeşitli şeyler yapabilme- yi arzu ettiniz ve böylece sisteminize durmaksızın yeni bilgiler eklediniz. Başkaları da database sisteminizi kul- lanabilmek için kuyruk oldular. Bunun üzerine yeni bilgi yükleme yolları üze- rinde kafa yormaya başladınız. Siste- me yeni dosyalar ve dosyalara da ye- ni bilgiler yığıldıkça yığıldı. Ve malzeme biriktikçe ipin ucunu kaçırmaya başladınız. Database kü- tüklerine ne yüklediğinizi tam ve ke- sin olarak hatırlayamıyorsunuz. Aynı bilgi farklı farklı dosyalardaymış gibi geliyor. Bir program ya da bir data- base kütüğünü değiştirdiğinizde, öbür programlar ve kütükler etkileniyor. Ye- ni bilgi yüklemek istediğinizde, bazı kütüklerin genişletilmesi mi yoksa ye- ni bir kütük açılması mı gerektiğine bir türlü karar veremiyorsunuz. Data'nızın yeni bir yapılanmaya şiddetle ihtiya- cı var. Database'inize verileri düzen- leme yönteminin ilkelerini tatbik etme- lisiniz. Tıpkı, programlarınıza yapılan- mış programlamanın ilkelerini uygula- manız gerektiği gibi. Dosyalar da Yapılanabilir Yapılanmış programlamayı kullan- mazdan evvel, geniş programlar kay- deden hepimiz, lenduha gibi uzun ve idaresi müşkül programlardan şikayet eder dururduk. Yapılanmış program- lamanın ilkeleri, WHİLE,İF vb. birkaç mi- nik yapıtaşı kullanarak küçük prog- ram modülleri oluşturma yolunu gös- terdi ve programınızın daha anlaşılır olmasını sağladı. Bu sistem işe yara- dı. Yapılanmış programların hem ku- surlarının giderilmesi hem de sürekli bakımı daha kolaydı. Aslında, yapı- lanmış programlama öylesine geniş kabul gördü ki, ABASEİİ gibi bilgisayar “dilleri” -GOTO ifadelerini atlayıp ya- pılanmış programlamanın yapı taşla- rını dahil ederek- birkaçını kapsamı- na aldı Verilerin düzenlenmesi, bilgilerin ya- pılanmış programlamanın programı- nıza sağladığı türden bir örgütlenme (iç düzen) temin eden bir ilkeler ve araçlar bütündür. Bu yöntem, mikro bilgisayar camiasındâ nisbeten az bi- liniyor. Ama, asıl bilgisayar cemaati- nin başka isimleri tarafından yıllardır ionınıyor Verılerın sısîemının forklı yon— leme Teorısı normalleştirme ya da veri örneklemesi deniliyor Bu makalede verilerin düzenlenme- si yönteminin üç önemli ilkesini tartışa- cağız: 1. Verileriniz programlarınız ka- dar önemlidir. 2. Veri kütüklerinizin ya- pısı neredeyse içerikleri derecesinde önem taşır, 3. Bazı dosya düzenleme- leri tehlikelidir. İmdat İşinizde bir bilgisayar programlama güuru'su (Mmürşit) sayılıyorsunuz. Herkes yardımcı olmanız için kapınızı aşındı- riyor. Bilgisayar programlama bağ- lantılarına ((Bak. Şekil 1.) ilişkin, HELP (İmdat) adlı düzenlenmiş bir databa- se kütüğünüz var. Help'teki her kayı- tın da üç alanı var: Bilgisayar ürünü- nün ismi, bu ürünle bağlantı kuracak kişinin adı ve bu kişinin bulunabilece- ği bir telgraf numarası. Bu bilgiyi Help database'inizden çı- karabilmek amacıyla Findhelp adlı bir program hazırladınız. Findhelp ile bilgisayar ürününün adını verdiğiniz- de, Findhelp anına size yardımcı ola- cak kişinin adı ile telefon numarasını ekrana düşürecektir. Programı herke- sin hizmetine sunun, bu sayede çok sayıda kişi bu programdan istifade edebilecektir. Bilhassa, firmanızda en çok rağbet gören Paperclip kelime iş- leme programında yardımcı olabilir. Programınız, Paperclip konusunda yardım için Esin'e başvurulması tali- matını veriyor, ama Esin bazen meş- gul olabiliyor. Doğan, Esin ölçüsünde yardım edemese de, Doğan'ın her an el altında olduğunu keşfediyor. Böy- lece, Doğan'ın adını Help database'e ekliyor (Bak. Şekil 2). Ama, bu yeni durum anında bir me- sele yarattı. Findhelp programını ha- zırlarken, Help dosyasındaki bilgisaya- rın her parçası için bir bağlantı mev- cut olduğunu varsaydınız. Şimdi, Pa- commaodore perclip hakkında bilgi isteyen herke- se program Doğan'ın ismini veriyor. Yardım konusunda en fazla yardımcı olabilecek — Esin'in — adı bile geçmi- yor hiç. Bu misal, veri biçimlendirmenin İlk iki ilkesini canlandırıyor. Yusuf, Doğan'- ın ismini Help dosyasına ekleyerek, Findhelp programını olduğundan da- ha az yararlı bir hale getirdi neredey- se, Findhelp programına bir çomak sokulmuş gibi oldu. Uzun lafın kısası, zayıf veriler, zayıf programlar kadar zararlı olabilirler. Bire bir ilkesi: İkinci ilke, veri dosyalarınızın yapısı- nın taşıdığı önemle ilgili. Yusuf dosya- dan herhangi bir şey çıkarmasa da, bu misaldeki zararın meydana gele- ceğine dikkat buyurunuz, lütfen. Yu- suf, her bir bilgisayar başına ancak bir bağlantının kaydedilebileceği şeklin- deki bağımlılık esasını ihlâl etti. Find- help programını hazırladığınızda, bu esası varsaymıştınız, ama Yusuf'a Help dosyasının yapısını açıkladığınızda, yalnızca dosyadaki üç alanın içerik- lerini izah ettiniz. Bağlantı alanının ürün alanına bağımlılığı esası dahil, dosycnın yapısını anlatamadınız. “Ürünz— ? Bağlantı” işareti bu bağ- lantıyı ifade eder. Bağlantı alanında yalnızca bir tek değerin Ürün alanın- daki her bir değere tekabül etmesi demektir. Şekil 2'de bağımlılık esası- na uyulmuyor zira, aynı ürüne (Proc- word) iki ayrı bağlantı (Doğan ve Esin) verilmiş. Ürün— > Bağlantı bağımlılı- ğını bir başka ifade şekli de şudur: Ürün alanı Bağlantı alanını belirler. Ürün- > Bağlantı gibi bağımlılıklar, belki de, database sistemlerinde mevcut en önemli yapı türüdür. Me- sela, kullanıcı kimlik numaralarını da içeren müşteri database sistemlerin- de, genellikle kimlik (ID) numarası, müşterinin adına bağlıdır. Yani, bir müşteri için yalnızca bir tek kimlik (ID) numarası tahsis edilmiştir. Müşteri dos- yalarını düzenleyenler sistemde bu bağımlılık ilkesini esas alan program- lar mevcut olup olmadığına dikkat et- melidirler. Ki, bu sayede, yeni bir müş- terinin ismi ilave edildiğinde, aynı ada kayıtlı başka müşterilerin de bulunup bulunmadığını denetleyebilsinler. Tehlikeli Dosya Düzenlemesi Bağımlılıklar, bazı düzenlemelerin tehlikeli olduğuna dair üçüncü ilke açısından da temel bir ağırlık taşır. Bu ilkeyi de bir başka örnekle canlandı- racağım. Esin size telefon edip telefon numa- 9