• Sonuç bulunamadı

Veri Tabanı Tasarımının Önemi ve Normalizasyon Süreci

N/A
N/A
Protected

Academic year: 2021

Share "Veri Tabanı Tasarımının Önemi ve Normalizasyon Süreci"

Copied!
13
0
0

Yükleniyor.... (view fulltext now)

Tam metin

(1)

Hakemli Yazılar J_______

Refeered Articles

Veri

Tabanı Tasarımının

Önemi ve

Normalizasyon

Süreci

The Importance of Database Design and

Normalization Process

Tülay Fenerci

Öz

Veri tabanı yönetim sistemlerikuruluşların işlemlerinin bilgisayar aracılığı ile

yönetilmesini sağlayan önemli araçlardır. Ancak verimli kullanılabilmeleri için veri tabanı tablolarının iyi organizeedilmesi gerekir. Tablo tasarımı yapılmadan

verilersistemeyüklenirse veri tekrarı veyer kaybı gibi sorunlar yaşanabilir. Bu tür sorunlarınortadan kaldırılması için tablolar üzerinde normalizasyon süreci uygulanır.

Normalizasyon özelliklerin bir araya getirilmesi ileoluşturulan ilişkilerin, ra­ fine edilmesinisağlar. Dolayısıyla elde edilen taban tablolarda tekrar, gizli ba­

ğımlılık ve bileşik ilişkilerin bir arada gösterilmesinden kaynaklanan sorunlar çözümlenmiş olur. Bu açıdan veri tabanı yönetim sisteminin verimlikullanımın­ da tasarım önemlibiretki unsurudur.

Abstract

Database management systems aremajor tools which provide management of or­ ganizations’ operational data via computers. However their efficient usage de­

pends on howwelldatabase tables are organized. When undesigned data is

sto-Yrd. Doç. Dr. Tülay Fenerci, Ankara Üniversitesi Dil ve Tarih-Coğrafya Fakültesi Kütüphanecilik Bölümü Öğretim Üyesidir.

(2)

redin the database there probably occursome problems suchas data repeating and wasteof storage space. Inorder to preventsuch problems a normalization

process is appliedtotables.

Normalization is a processofrefining relations where relations are formed by gathering attributes. Hence problems suchasrepeating of data, dependency and

combined relationships are solved with normalized base tables.

Thereforedatabase design is an importantfact in efficiency of database ma­ nagementsystems.

Anahtar Kelimeler

Veri Tabanı Tasarımı, Normalizasyon

Keywords

DatabaseDesign,Normalization

Giriş

Günümüzün evrensel gerçeği, enformasyon teknolojisinin insan yaşamının her

noktasına girdiği veonu çepeçevre kuşattığıdır. Birçok toplum için öncelikli he­ def,enformasyon teknolojisi ürünlerinin tam kapasite ile yaygınkullanımını sağ­ lamak ve ürünlerden en üst düzeyde yararlanmaktır.. Dolayısıyla enformasyon

teknolojisi,bilgininbireyselve kurumsal düzeydeüretim-tüketimsürecini yaşa­ dığı toplumlarda bir altyapı unsuruolarakyerini almıştır. Söz konusu toplumlar kurumsalyaşamda iyi yönetim, doğru kararverme, nitelikli malvehizmet üreti­

mi, verimliliğiartırma gibi konularda enformasyon teknolojisinin rolünü kavra­

mışlardır. Özelliklekar, düşük maliyetve uzunvadeli rekabet gücü gibihedefle­ re ulaşmave başarı elde etmek için etkinliklerini enformasyon teknolojisine da­

yandırma çabalarıbunun en önemli göstergesidir.

Bu açıdan bakıldığında tümkuruluşlar içinön plana çıkanürünlerden biri, iş­ lemlerin bilgisayar ortamında daha hızlı ve doğru yapılmasını sağlayan, farklı

mekanlardaki veya coğrafi bölgelerdeki kullanıcılarla bilgi paylaşımına olanak

veren yazılımlardır. Sözüedilenyazılımveri tabanı yönetim sistemi(VTYS).dir. Veri tabanı yönetim sistemi tüm kuruluş içingereksinilen verileri işleyen ve kullanıcıların işlemleri yürütmelerininyanı sıra sorunlarına yanıt arayan birsis­ temdir. Benzer birtanım, ilişkisel veri tabanları konusundaki uzmanlığı ile tanı­

nan ve IBM’in ilişkisel ürünleri(SQL/DS veDB2)için teknik planlamagörevini yürütmüş olan J.C. Date tarafından verilmektedir. O’na göreveritabanı özellik­

(3)

topluluğu olup sorgulama, veri güvenliği veonarımdesteği veren veri tabanıyö­

netim sistemi ile çalışır(Koffman, 1992:522). Bir başka tanıma göre veri tabanı

yönetim sistemi birçok kullanıcınınpaylaşacağıdüşünülerek tasarlanmış standart

formattadepolanmış olan veri topluluğu(veri tabanı)nu tanımlayan, sorgulayan,

rapor üretenve veri giriş ekranları yaratan bir yazılımdır (Post, 1999:3). Dolayı­

sıyla VTYS kuruluş içinde veriyi işleme ve gereksinimler doğrultusunda bilgi üretme işlevi olan önemli bir üründür.

Bundan dokuz yılönce kendisi ileyapılan bir görüşmedeDate’in “2000’li yıl­

lardaveritabanlarındaradikal değişikliklerolacak mı?” yönündeki soruya “...bir­

kaç yıliçinde veritabanları daha büyük vehızlıolacaklar.Karşılıklı iletişim ka­ pasiteleri artacak. Formatlı kayıtlar, yapılandırılmış metin, resim, ses verisi gibi

her tür farklı veriyibiraradatutabilecekler. Etkileşimli video arayüzleri bir ola­

sılık...” biçiminde verdiğiyanıtta bir öngörüolarak sunduğugörüşler, günümüz­ de VTYS’lerinin kazandığı yeni beceriler olarak karşımızda

durmaktadır(Koff-man, 1992:523).

Ancak VTYS’lerinin işlerliği ve verimli kullanımı, sistem için gereksinilen verilerin doğru ve eksiksiz olarak saptanması ve VTYS’nin verilerini sağlayaca­

ğı taban tablolarının iyi organize edilerek ilişkilendirilmesi ilemümkündür. Bu­

nun da ötesinde veri tekrarım ve buna bağlı olarak veri tutarsızlığınıolabildiğin­

ce önlemek ve veri silme, ekleme, değiştirme gibi işlemlerdekarşılaşılabilecek

sorunları ortadankaldırmak için çeşitli teknikler (örneğinnormalizasyon)kulla­ nılabilir.

Bu çalışmada amaçnormalizasyon tekniğini birörnek yardımıylaaçıklamak­

tır. Dayanılan temel düşünce ise mesleklerinin gereği olarak materyaltanımlama veortak konular aracılığı ile ilişkilendirmeişlevi olan kataloglama ve sınıflama gibi temel birtakım işleri yerine getiren kütüphanecilerin söz konusu işlemlerde

izlenen mantık ve düşünce sistemini yani bilgiyi organize etme sürecini tasarım sürecine uygulayabileceğidir.

Bu doğrultuda çalışmada, veri tabanlarının yapılandırılmabiçimini yansıtan verimodelleri gelişim ve özellikleriilekısacaele alınmış venormalizasyon sü­

reci üniversite kütüphanelerinde sipariş işlemine dayalıbir örnekle açıklanmaya çalışılmıştır.

Çalışmada sipariş işlemi için kullanılan formlar incelenmiş, farklılıklar gözar-dıedilerek genelbir yaklaşım benimsenmiştir.

Veri Modelleri

Veri tabanı yönetim sistemlerinin verimli kullanımı dahaönce debelirtildiğigi­

bisistemiçingereksinilen verilerin doğru ve eksiksiz olarak saptanması ile müm­ kündür.Anılan amaçlan gerçekleştirebilecek bir sistem tasarımı yapabilmek için

(4)

öncelikle şu ikisoruyu yanıtlamak gerekir. Kullanıcılar kimdir?Birenformasyon sistemi onlara nasıl yardım edebilir? Doğal olarak tasarımın ilkadımıkullanıcı­

ları tanımlamak ve gereksinimlerini saptamaktır. Bu konuda yeterli bilgiyi topla­

mak için tasarımcıkullanıcılarla görüşmeyapmalıdır. Bir sonraki aşama,yaratı­

lacak olan enformasyonsistemi için işin gereklerini bütünüyle anlamaktır. Tasa­ rımcı işletmedeki çalışmalarıgözleyerek ve işlemlerle ilgili bilgi sağlayan rapor, form gibi dokümanlarıderleyerek tasarım için gereken verileritoplamaya çalışır.

Ön tasarım içingereksinilenbilgi üçtemelbaşlık altındagruplandırılabilir: -Toplanması gereken veri;

-Veri tipi; -Veri miktarı.

Söz konusu bilgiler verilerin bir modelini yaratmak içinkullanılır.Veri taba­

nı verilerinin organizasyonuveyönetimikonusunda birçok yaklaşım vardır.Bun­ lar veri modelleridir.

Veri modeli gerçek bir dünya sistemininbasitleştirilmiş birözü olup aynı za­ manda veri tabanınınyapılandırılmabiçiminiyansıtır.Verimodeli bir kuruluşta­

ki varlıklar, olaylar, etkinlikler ve bunlar arasındaki ilişkilerin soyut temsilidir.

Dolayısıylakuruluşun kendisini temsileder(McFadden and Hoffer, 1985: 165). Veri modellerinişuüç ana grupta toplamak olasıdır:

1- Nesneye dayalı mantıksal modeller: Kavramsal vegörünüm düzeylerinde veri betimlemesi için kullanılırlar. Örneğin: Varlık-ilişki modeli, nesne uyarlı model ve semantikveri modeli(Korth and Silberschatz, 1986: 6).

2- Kayda dayalı mantıksal modeller: Çeşitli tipteki sabit formatlı kayıtlar

olarak kavramsal ve görünümdüzeylerindeveribetimlemesinde kullanılırlar.Ör­

neğin: Hiyerarşik,ağ ve ilişkiselmodel(Korth and Silberschatz, 1986: 8).

3- Fiziksel veri modelleri: Veriyi en altdüzeyde temsil eden modellerdir. Az

sayıda olmalarına karşın en bilinenleri birleştirici(unifying) model ve çerçeve

bellek(frame memory) modelidir. (Korth and Silberschatz, 1986:10),

Veri modellerinintarihsel gelişimi incelendiğinde temel hedefin, gerçek dün­

ya sistemininbirmodelaracılığı ilebilgisayar ortamındatemsil edilebilmesive bu amaç doğrultusunda semantik unsurun modelde yansıtılabilmesi olduğu görü­

lür. Programlama dilleri ve veritanımlama biçimlerindeki gelişmeler de belirti­

len amacı destekler yönde olmuş ve yeni veri modellerinin ortaya çıkışınaöncü­

lük etmiştir.Örneğin: 1960’hyıllarda CODASYL(Conference On DAta Systems and Languages) tarafından geliştirilen COBOL, VTYS Terinin öncüleri olan ve

sıralama, güncelleme ve rapor üretme gibi ortak birtakım işlemleri dosyaların ve­ rilerinden bağımsız olarak gerçekleştirebilen dosya yönetim sistemlerine oranla

veri tabanı sistemlerinde verilerin daha iyi temsil edilebilmesini sağlamıştır. Da­ ha sonraki yıllarda CODASYL’in atamışolduğuDBTG(DataBase TaskGroup) tarafından veri tabanlarının niteliklerine uygun olarak geliştirilenCOBOL’da ve­

(5)

oluşumuna yol açmıştır(Khoshafianand Abnous, 1990: 17).

Ağ veri modeli varlıkların, kayıttipleri ve aralarındaki ilişkilerin kümelerile ifadeedilmesi esasına dayanır. Böylelikle kümearacılığı ilebirdenfazla kayıt ti­

pine erişim olanağı yaratılmıştır. Bu modele dayalı olaraküretilen kimi ürünler

IDMS (Cullinet,1970), IDS-2 (Honeywell Information Systems,1975) gibi- dir(Khoshafıan and Abnous, 1990: 17; ayr.bkz. Fenerci, 1996: 59-64).

Benzer bir oluşum 1970’li yıllarda yaşanmıştır. E.F.Codd tarafından ortaya atılan ve 1990’h yıllara değin popülerliğini sürdüren ilişkisel model, erişim yo­

luna bağımlı olan önceki modellere esneklik getirmiştir.

İlişkisel modelde varlıklar tablo veri yapısıyla ifade edilir.Her tablo bir kayıt

tipini, tablonun sıraları isekayıttipininelemanlan(kayıtlar)mtemsil eder.Varlık­ lararası ilişkiler ortak alanlar aracılığı ilegerçekleştirilmektedir. Ancak ilişkisel

modeli daha anlaşılır vekullanıcıuyarlı kılan enönemli özellik SQL(Structured Query Language)’in getirdiği kolaylıklardır. Bu sayede kullanıcı, veriye nasıl

ulaşacağı yerinehangiveriye ulaşacağı üzerine odaklanabilmektedir. Bu mode­ le dayalı ticariürünlereSystem/R,DB2(IBM),Ingres (Relational Technologies) ve Oracle(Oracle Cooperation) örnek verilebilir(Khoshafian andAbnous,1990:

21).

Öte yandan 1980Ti yıllara doğru semantik unsurağır basmış ve yaygınlıkla kullanılan veri modellerinde semantik unsurun yansıtılabilmesiiçin alternatifbir­ takım modeller üretilmeye başlanmıştır. Abrial’in semantik verimodeli, Chen’in

varlık-ilişki modeli, Kroenke’nin semantik nesne modeli ve Nijssen’in

NI-AM(Nijssen’s Information Analysis Methodology)bu türmodellere örnek göste­

rilebilir (Semantik veri modelleri için ayr.bkz. Khoshafıan and Abnous,1990:

264-268; Betra,1997: 3). Bu modeller daha çok laboratuvar çalışmaları olarak kalmalarına karşılık özellikle ilişkisel modele semantik unsurun aktarımında bi­

rer tasarım aracı olarakişlev görmüş ve daha önemlisi günümüzde popülerliğini sürdüren nesne uyarlı modelin öncülüğünü yapmıştır.Nesne uyarlı model, nesne uyarlı programlamaya uygun halegetirilmişbirilişkiselmodel olarak tanımlana­ bilir. Model, nesne uyarlı varlıklarve varlıklar üzerine tanımlanmış yöntemler­ den oluşur. Model birçokyönden ilişkisel modele benzemektedir. Örneğin: İliş­ kisel modeldeki varlık/ilişki/tablo, özellik ve özelliklerin tanım kümesi nesne

uyarlı modelde sırasıyla sınıf, sınıf değişkenleri ve değişken sınırlılıklarına kar­

şılık gelir (McFaddenand Hoffer, 1985: 273). Nesne uyarlı modelin ortaya çıkış

ve gelişimi nesneuyarlıprogramlama dilleri(C++, Smaltalk gibi)ndeki gelişme­ ler ileparalellik gösterir. GemStone (Servio), Gbase(Graphael) veVbase (Onto-logic) gibiticari ürünlerlepiyasaya çıkmış ve yaygınkullanım alanı bulmuştur.

(Khoshafianand Abnous,1990: 21). ticari nesne uyarlı veri tabanı sistemleri için

(6)

Normalizasyon

Bir mantıksal tasarımda, veri tabanında yer alacak varlıklar, varlıklara aitözellik­ ler ve varlıklararasıilişkiler belirtilir. Amaç, gereksinilenbilginin bütünleşik ola­

rak temsil edilebilmesidir. Özellikle ilişkiselveri tabanları için birçok mantıksal

tasarımyöntemiönerilmiştir. Örneğin: Nijssen’nin enformasyon analizyöntemi,

Chen’in varlık-ilişki modeli mantıksal tasarımın gerçekleştirilmesindeve ilişki­

sel modelin tablolarına dönüştürülmesinde yararlanılan tasarım yöntemleridir (Batra,1997:2). Normalizasyon iseözellikle ilişkisel veri tabanının mantıksal ta­ sarımında yaygınolarak kullanılan bir tekniktir (Nijssen and Halpin, 1989: 273). Normalizasyon güçlü ve iyi yapılandırılmış bir veri tabanı yaratmada veya

hangi veri modelikullanılmış olursa olsun(Kroenkeand Dolan,1990: 132) tasa­

rım sonrasıdenetlemeyi sağlamadayararlanılanbirsüreç (Khan, 1995:155) bir il­

keler kümesi(Batra,1997: 2) veya yardımcı bir araç olarakda düşünülebilir.

Normalizasyonunamacı şöyle özetlenebilir:

-Veri tabanınıbütünlüğünü artırmak; -Tekrarve tutarsızlığıen azaindirgemek;

-İstem dışı veri silinmesini önlemek;

-İstenen bilginin temsil edilebilirliğini artırmak(Fenerci,1995: 103)

İlişkilerin/tablolann kullanıcıgereksinimlerini eksiksiz ve yeterlibir biçimde

yansıtması, iyi yapılandırıldığı anlamına gelmez. İyi bir veri tabanı tasarımının başlıca amacı veritekrarını önlemektir. Bu amacı gerçekleştirmek için bilgi, da­ ha küçük tablolara bölünür. Böylelikle tekbir yerde, tek bir gerçek ilkesi koru-nur(Riccardi,1994: 285) Bunun yanısıra veri tekrarını önleyerekveri tutarsızlığı

engellenirve depolama alanında tasarruf sağlanmışolur.

Tabloların ayrıştırılması aynı zamanda tabloların rafine edilerek güncelleme

anormalliklerinden arındırılması anlamına gelir. Güncelleme anormalliği, bir güncelleme işlemi (veri girişi, silme, değiştirme) gerçekleştiğinde ortayaçıkan

problemdir (Nijssen and Halpin,1989: 274). Bu tür problemler, genellikle taban tablolardaki veri tekrarından kaynaklanır. Temel işlevi veri tekrarını önleyerek

güncellemeden kaynaklanan anormallikleri ortadan kaldırmak olan normalizas­ yon için tabloların daha küçük tablolara ayrıştırılmasını sağlamak amacıyla bir­

takım kurallar ortaya konmuştur. Her bir kural, normalizasyonda biraşamayı be­

lirtir.Aşamalargenelde normal biçim olarak ifade edilir. Normalizasyona ilişkin

ilk üç kural(l, 2 ve 3. normal biçimler) 1970 yılında E.F.Codd tarafındanbelir­ lenmiştir. Daha sonra Codd, Boyce ile Boyce-Codd normal biçimibelirlemiş ve

bunu 4. ve 5. normal biçimlerizlemiştir. 1981’de ise Fagin Tanım Kümesi Anah­ tar Kelime Normal Biçim(TKAKNB) olarak adlandırdığıyeni birnormal biçim

ortayaatmıştır(Kroenke and Dolan,1990:137). Daha öncede belirtildiğigibi ve­

ri tekrarını önlemekve dolayısıyla güncellemeden kaynaklanananormal durum­

(7)

likle tabloların daha küçük tablolara bölünmesi yani belli ilkeler doğrultusunda tablolarınayrıştırılması ile gerçekleşir.Ancak normalizasyonu anlayabilmek için

öncelikle fonksiyonel bağımlılık, anahtar, ilişki anahtarı ve tablolar arası

ilişki-ler(teklidentekliye, tekliden çokluya ve çokludan çokluya)ianlamak gerekir.

Fonksiyonel bağımlılık: Özellik/alan değerleri arasındaki ilişkidir. Bir özel­ lik değeri bir başka özellik değerini bilmemizi sağlıyorsa fonksiyonel bağımlılık­

tan sözedilebilir (Kroenkeand Dolan, 1990: 138).

Anahtar: Bir tablonun bir sırasım(bir kaydı) tek başınatanımlayanbir veya birkaç özelliktir. Her ilişkinin/tablonun en az bir anahtarı vardır. Genel olarak

anahtarbirveya birkaçözelliğin fonksiyonel olarak anahtar olmayan özellikleri

belirlemesidir (Kroenke andDolan, 1990:139).

İlişki anahtarı:Tablolar arası ilişkilerin kurulması ortak alanlar aracılığı ile olur. Ancak alanların, yer aldıkları tablolardaki işlevleri farklıdır. Bir tabloda anahtar(primary key) olan özellik/alan vedoğrudano tablonunbir sırasına eriş­ meyi sağlarken diğer bir tabloda ilişki anahtarı(foreign key) olarak tanımlanır. Ortakalanın ismi farklıolsa da veri yapılarıve değer aralıkları aynıolmak zorun­

dadır.

İlişkiler: Tablolararası ortak alanlarile kurulan ilişkiler veri tabanında veri tekrarı olup olmadığını işareteder. Tablolar arası ilişkiler tekliden tekliye, tekli­ den çokluya ve çokludançokluyabiçiminde kendini gösterir.

Tekliden tekliye ilişkide bir tabloda yer alan bir alan değerine karşılık diğer

tabloda da tek bir değerin yer almasıdır.

Teklidençokluya ilişkide bir tabloda yer alan bir alandeğerine karşılık diğer

bir tabloda birden fazla değer gözükür. Bu durumda tekliğin olduğu tablodaki

anahtar çoklu tabloya ilişki anahtarı olarak yerleştirilir.

Çokludan çokluya ilişkilerde ise ilişkinin kurulabilmesi içinortak alanlardan

oluşan üçüncü birtabloyaratmaihtiyacı vardır. Bu yolla tablolar arasıilişki tek­

liden çokluya biçimine dönüştürülür(Riccardi, 1994: 285).

Normalizasyon SüreciveBirÖrnek

Çalışmanın bu bölümünde normalizasyon süreci, üniversite kütüphanelerinde

gerçekleştirilenkitapsipariş işlemi üzerine uygulanmıştır. Siparişişlemi için ge­ reksinilen bilgi, formlar aracılığı ile elde edilmiştir.

Bu bağlamda birsipariş işleminin gerçekleştirilebilmesi için genel hatlarıyla

şubilgilere gereksinim vardır:

Üniversite kütüphanesi satın alma öncesifakülteve bölümlerde görevli öğre­ tim üyelerine gereksinim duydukları yayınların listesini hazırlayıp kütüphaneye

bildirmelerini ister. Listelerdeisteğin kimden geldiği, gereken durumlardaileti­ şimkurulabilmesi için kişinin telefon numarası, e-posta adresivb., isteğin hangi

(8)

bölümdenyapıldığı ve istenen yayına ilişkinkimlik bilgileri(yazar adı, eser adı, yayın tarihi, bası, yayınlayan gibi genel bilgiler)nin yer alması beklenir.

Kütüpharie derlediği listeleri inceleyerek dublikasyonları saptar, yayınlara ilişkin eksikbilgileri tamamlar ve bir sipariştekiler listesi oluşturur. Siparişteki-

ler listesinde her yayma ilişkin kimlik bilgisinin yanı sıraeserinsipariş no’su, si­ parişedildiğifirma,hangi tarihte sipariş edildiğive kim tarafındansipariş edildi­

ği bilgileriyer alır. Ayrıcakütüphane satınalmaişinde işbirliğiyaptığı firma bil­ gilerinituttuğubir dosya daoluşturmak durumundadır. Bu dosyadafirmayailiş­ kin ad, adres, kiminle kontak kurulacağı ve firma ile ilgili özel düşüncelergibi

bilgiler tutulur. Öte yandan kütüphane,bütçe dengelerini korumak için nekadar ödenekayırabileceği, satın alma harcamalarının tutarı, ödemenin zamanında ya­

pılıp1 yapılmadığı, ödemelerinhangifirmalarayapılacağıbilgilerine sahip olmak

durumundadır.

Derlenen bilgi rehberliğinde sipariş istek formu, firmave firmadangelen

fatura olmak üzere üç temel varlık saptanmıştır. Ancak burada öncelikle şunu

belirtmek gerekir ki başlangıçtaveri tabanında yer alacak tabloların tümünü ek­ siksizsaptamak her zaman mümkün olmayabilir.Bir sonraki adımvarlıklara ait

işlemin gerektirdiği özelliklerin belirlenmesi ve ilişkisel modelin tabloları biçi­

mindeifade edilmesidir. Başlangıç tabloları ve özellikleri şöylesıralanabilir:

SparişİstekFormu (kişino. ad, soyad, unvan, bölüm, tel, e-posta, birimno. eser adı, yazar adı,yayın yeri, yayınlayan, yayıntarihi, basım, cilt, ISBN, fiyat, adet)

SiparişEdilenFirma (kod, ad, adres,tel,e-posta,,faks, teslim süresi, indirim

oranı, kontak kişi)

FirmadanGelenFatura(faturano. firmakod.gönderilme tarihi,geliş tarihi,

ödeme tarihi, tutar, ödenen fon)

Son aşama yapılandırmanın niteliğini ölçmek için normalizasyon sürecinin

uygulanmasıdır. Bir normalizasyon sürecinde izlenecek adımlar, sırasıyla

şöyle-dir:

-Formlarındeğerlendirilmesi; -Özelliklerinbelirlenmesi;

-Tekrarlayan grupların bulunması;

-Potansiyelanahtarların bulunması;

-Hesaplanabilir alanların bulunması(Post,1999: 64).

Formların değerlendirilmesi ve özelliklerin belirlenmesi aşamaları gerçekleş­

tirilmiştir. Bubağlamda yukarıda verilen başlangıç tabloları üzerine

normalizas-yonun daha önce belirtilen kuralları uygulanarakaşama aşama tablolar rafine edi­ lecektir.

BirinciNormalBiçim(lNB): Veri tabanındatekrarlayan alanların, tabantab­

lolar ile birliktedepolanması taban verinin her giriş için tekrarlanmasınaneden

(9)

için kimlik bilgilerini tekrarlamak durumundadır. Ayrıca kitap ve kişi bilgileri bir

arada verildiğinden birine ilişkinverisilindiğinde diğerine aitveriler de silinir ve bilgikaybımeydana gelir. Bunedenletabloayrıştırılarak tekrarlayan gruplar or­

tadankaldırılmalı ve tablo, (diğer tablolar gibi) lNB’e getirilmelidir.Ancakay­

rıştırmada dikkat edilmesigereken konu, anahtarın diğer tablolara da taşınması­

dır. Bu durumda yeni tablolarşöyle olacaktır(Post, 1999: 74).

A-SiparişEdenKişi (kisino. ad, soyad, unvan, bölüm,e-posta, tel)

B-SiparişEdilenKitap (kisino. birimno. eser adı, yazar adı, yayın yeri, ya­

yınlayan, yayın tarihi, basım, cilt, ISBN, fiyat,adet)

C-SiparişEdilenFirma(kod,ad, adres, tel,e-posta,,faks,teslimsüresi, indi­ rim oranı,kontakkişi)

D-FirmadanGelenFatura (faturano. firmakod. gönderilme tarihi, geliş ta­

rihi, ödeme tarihi, tutar, ödenen fon)

İkinci Normal Biçim(2NB): Tablo içinde yer alanözelliklerin anahtarın tü­ müne bağımlı olmasıgerekir. Eğer bu koşul sağlanıyorsa tablo 2NB’dedir. Özel­ likle bileşikanahtarlar için geçerlidir (Kroenke andDolan, 1990: 142).

A tablosunda bütün alanlar anahtara bağımlıdır. B tablosunda eserle ilgili

alanlar fonksiyonelolarak kişino’ya bağımlı değildir. Bu nedenle tabloayrıştınl-

malı ve anahtarınbir kısmına bağımlı olan alanlar, bağımlı oldukları anahtarile

başka bir tabloyataşınmalıdır..

Bl. Kişi-Birim (kisino, birimno)

B2.Birim (birimno, eser adı, yazar adı, yayınyeri, yayınlayan, yayın tarihi,

basım, cilt,ISBN, fiyat,adet,)

D tablosunda anahtar dışındaki tümalanlarınanahtarınbirkısmını oluşturan

faturano’ya bağımlı olduğu görülür. Bu durumda yeni tablolar:

Dl.Firma-Fatura (faturano.firmakod)

D2.Fatura (faturano. gönderilme tarihi, geliştarihi, ödeme tarihi, tutar, öde­ nenfon)

Bu aşamayakadarelde edilen tablolar gözden geçirilecek olursa, sipariş işle­

minin gereksindiğibilgileri veren bir tablonunhenüz yaratılmamış olduğu görü­

lür. Yeni tablo şöyle olmalıdır.

E-Sipariş (sipno. siptarihi, adet, birimno. fiyat, ISBN,firmakod, geliştarihi, statü)

Yeni tabloya yukarıdakuralları açıklanan İNB ve 2NB uygulandığında orta­

ya çıkan yeni tablolarşöyle olacaktır:

El.Birim-Sipariş (birimno.sipno.adet,birimfiyat, ISBN)B2 ve El tablola­ rında tekrar edilen adet, fiyat, ISBN gibi ortak alanlar veri tekrarını önlemek

amacıylave özelliklerinsiparişedilen birime aitolduğunu gösterebilmek,için El tablosuna taşınmıştır.

E2.Sipariş(sipno,siptarihi, geliştarihi, statü) E3.Sipariş-Firma (sipno.firmakod).

(10)

D2 tablosundayer alanfonalanısıklıkla tekrarlayacak bir alandır. Buneden­ le ayrı bir tabloda fon bilgilerinitutmakdahaakılcıdır. Böylelikle fon bilgisi bir

kez tabantablosunda yer alacak ve fatura tablosu fon bilgisini aitolduğu tablo­ dan kullanacaktır.

F.Ödenecekfon (kod, isim, miktar)

Üçüncü Normal Biçim (3NB): İşe bağlı olarak ilişkilerin ortaya konduğu aşamadır. Bir tablonun 3NB’de olabilmesi için bütün alanların anahtara bağımlı olması ve geçişli bağımlılığın bulunmamasıgerekir (Kroenke andDolan, 1990:

143).Budurumda tabloların herbiri 3NB’dedir.

A-SiparişEdenKişi (kisino. ad, soyad, unvan, bölüm,e-posta, tel)

Bl. Kişi-Birim (kisino, birimno)

B2.Birim (birimno. eser adı, yazar adı, yayın yeri, yayınlayan, yayın tarihi, basım, cilt,ISBN, fiyat, adet)

C-SiparişEdilenFirma (kod, ad, adres,tel, e-posta, faks, teslim süresi, indi­ rim oranı, kontak kişi)

Dl.Firma-Fatura (faturano. firmakod)

D2.Fatura(faturano.gönderilmetarihi, geliştarihi,ödeme tarihi, tutar, öde­

nen fon)

El.Birim-Sipariş (birimno. sipno. adet, birimfiyat,ISBN)

E2.Sipariş(sipno, siptarihi, geliştarihi, statü)

E3.Sipariş-Firma (sipno.firmakod).

Boyce-Codd Normal Biçim (BCNB): Birtablodaki sütunlararasındaikincil

bir ilişki varsa dublikasyon ve veri kaybı gibi sorunlar ortaya çıkar(Post,1999; 85). Bu durum genellikle belirleyici olan özelliğin aday anahtar olmamasından kaynaklanır.Örneğin: Bir yayının birden fazlafirmayasiparişedilmesi söz konu­ suysa birimno,sipno ve firmakod alanlarından oluşacak T gibi bir tabloda böyle bir sorun ortaya çıkacaktır. Çünküaday anahtarlarolan (birimno, sipno)

->firma-kod’unu ve (birimno, firmakod)->ısipno’vu belirlemesine rağmen determinant olan firmakodaday anahtar değildir ve bu nedenle tablo BCNB’debulunmamak­

tadır. Çözüm, tablonun Tl (birimno. sipno) ve T2 (birimno. firmakod) biçiminde

ayrıştırılmasındadır.Böylelikle tablo BCNB’e gelir.

DördüncüNormal Biçim (4NB):Bir tablo içerisinde iki ayrı ilişki olduğun­

da ve tasarımcıbunu bileşikbir ilişki gibi gösterdiğinde sorun ortayaçıkar. Bu durumgenellikle en az üç özelliği olan tablolarda karşımıza çıkar ve çok değerli

bağımlılık olarak adlandırılır. Örneğin:T(a, b,c) gibi birtabloda eğer, aıçoklub

değeri veriyorsa, a->çoklu c değeri veriyorsave eğer,bve c birbirinden bağım­

sız ise çok değerlibağımlılık vardır. Bu sorun giderildiğinde tablo 4NB’deolur

(Kroenke and Dolan, 1990: 147). Tablolarımız buaçıdan incelendiğinde 4NB so­ runlarınınbulunmadığıgörülür.. Tablolarotomatik olarak 4NB’dedir.

(11)

Tanım KümesiAnahtar Kelime Normal Biçim (TKAKNB): Normalizas­ yon sürecine 1981’de Fagintarafındaneklenen bu adım,bazı tabloların hiçbir za­ man TKAKNB’e dönüştürülememe olasılığına rağmen, uygulama geliştirenler

için önem taşır. Tabloların TKAKNB’deolduğunuanlamak için işe3NB ilebaş­ lanır.Tümişkuralları listesine sahipolup olunmadığı kontroledilir ve kuralların

tanım kümesi(özelliklerinalabileceği değerler) sınırlılıkları veanahtar ilişkileri

ilesağlanıp sağlanamadığına bakılır. Anahtarların tekliği ve tüm çokludan çoklu­

ya ilişkilerinsaptanıpsaptanmadığıdenetlenir. Gizlikural yada bağımlılıkların elimine edildiğinden emin olunur. İlişki anahtarları konularak var olan kurallar güçlendirilir ve diğer tablo verileri ile uyumu sağlanır (Kroenke and Do­

lan, 1990:149-150).

Kitapların gruplarhakinde tek birsipariş no’suilebir firmadan istenmesi ha­

linde ve belirli birkitabın hangi tarihte hangi firmaya siparişedildiği bilgisine ge­ reksinimduyulduğunda tablolar şöyleolabilir:

Sipariş (sipno. tarih, yayınno,fırmakod)

Firma(kod, isim)

Sipno bir grup yayını temsil ettiğinden tekliği sağlamıyor; firma, ancak belli

oranda alım yapan kütüphanelere indirimuyguluyorBu sınırlılıklar doğrultusun­

(12)

Sipariş (sipno, tarih)

Sip_Yay (yaymno. sipno)

Yay_Fir (yayınno.firmakod)

Firma(kod- isim)

Sonuç

Bir VTYS, gereksinilen bilginin yapılandırılmış olarak tutulduğu veri tabanını kullanarak, birkuruluşun işlemlerini hızlı, kolayvedoğru birbiçimde gerçekleş­

tirir vegereksinilenbilgileri zamanında üretebilir. AncakVTYS’nin verimli ça­

lışabilmesi verilerini sağladığı veri tabanının iyi yapılandırılmasınabağlıdır. Ve­

ri tabanını oluşturan taban tablolarda veri tekrarının bulunması güncellemede problem yaratır vedolayısıyla veri tutarsızlığına neden olur. Bunun yanı sıra de­ polama ortamındayersorunu yaratır.Sözü edilen sorunlardan kaçınmakiçin ge­

liştirilen yöntemlerden biri normalizasyondur. Normalizasyon, bir tabloda tekbir

ilişkininifade edilmesini amaçlar. Bu doğrultuda tablolardaalanlar arası fonksi­ yonel bağımlılıkların varlığınısaptamaya çalışır. Her bir tablonun doğrudantek­ liği sağlayan ve diğer bütün alanların kendisine bağımlıolduğu bir anahtar özel­

liğinin bulunması ilkesi ve tablolar arası bağlantıların ortak özellikler aracılığı ile

kurulması ve tablolar arasındaki çokludan çokluya ilişkilerin tekliden çokluya ilişkilere dönüştürülmesiesasınadayanır.

Bu bağlamda çalışmada seçilen “üniversite kütüphanelerinde kitap siparişi” örneği üzerinde normalizasyonun aşamalarını belirleyen kurallar uygulanmıştır. Başlangıç tabloları öncelikle tekrarlayan gruplardan arındırılmış, alanlar arası

fonksiyonel bağımlılıklar saptanmış ve tabloların tek bir anahtara yada anahta­ rın tümüne bağımlı alanlardan oluşmasısağlanmıştır. Tek bir ilişkiyi ifade eden tabantabloların yanı sıra tablolararası ilişkilerin ortak alanlar uyarınca ve tekli­ den çokluyabiçiminde kurulmasınısağlayan ara tablolar yaratılmıştır. Böylelik­

le istenen verinin tam olarak temsil edilmesi gerçekleştirilmiş ve bilgi kaybına

neden olabilecek anormal durumlar ortadan kaldırılmıştır. Daha önce de vurgu­ landığı gibiVTYS’nden en üst düzeyde yararlanma ancak iyi yapılandırılmış ta­ ban tabloları ile mümkündür. Bu bakımdantasarım çok büyük önem taşımakta­

dır. Aksi halde VTYSçözüm üreten değil sorun yaratan birteknolojik ürün hali­ ne dönüşebilir.

(13)

KAYNAKÇA

Batra, Dinesh.(1997).”A method for easing normalization of user views”, Journal of Management Information Systems, 14(1): 215-234

Fenerci,Tülay.(1995).Veri tabanı kuramı ve bir kütüphane uygulamasıfYayımlanmamış doktora tezi) Ankara: A.Ü. Dil ve Tarih Coğrafya Fakültesi Kütüphanecilik Bölümü

Khan, Philippe.( 1995).’’Better database design”, Windows Magazine 2:155-161

Khoshafian, Setrag and Razmik Abnous.(1990) Object orientation: Concepts,languages, databa­ ses, user interfaces.New York: John Wiley.

Koffman,Elliot B.(1992).Pascal; problem solving and program design. 4th ed. Reading ,Massachusetts: Addison-Wesley

Kroenke, David M.and Kathleen A. Dolan.(1990). Database processing; fundamentals, design, implementation. 3fd ed. Chicago: Science Research Associates

McFadden, Fred and Jeffrey A. Hoffer.(1985). Database management. California: The Benjamin Commings Pub. Com.

Nijssen,G.M. and T.A. Halpin.(1989). Conceptual schema and relational database design; a fact oriented approach. New York: Prentice Hall.

Post, Gerald V.(1999). Database management systems; designing and building business applicati­ ons. Boston: Irwin McGrow Hill..

Ricciardi, Sal.(1994). “Database design; redundancy and normalization”, PC Magazine, 13(2): 285-287.

Referanslar

Benzer Belgeler

• Soru 4: Opel Astra ve Renault Megane marka araçların her ikisinden de kiralayan müşterilerin ad, soyad ve telefon numarası bilgilerini bulunuz.. Soru1: A004 kodlu aracı

Oracle Database Vault, verinin erişim güvenliği konusunda (kullanıcıların hassas uygulama verilerine erişimi vb.) dinamik ve esnek erişim kontrollerini sağlayan,

 Gram negatif bakterilerin Gram negatif bakterilerin hücre duvarında bulunan hücre duvarında bulunan. lipopolisakkarit

Değişkenlerin aldığı değerleri ekranda görüntülemek için select yada print komutları kullanılır.. Değişkenlerin değerini, hata

@tablo adında bir tablo değişkeni ve içinde sayi ve adi olarak iki alan tanımladık, insert ile kayıt ekledik, kayıtları getirdik ama fiziksel bir tablo değildir,

Personel tablosuna yeni bir kayıt eklemek için gerekli SQL ifadesini yazarak eklenen kaydın ad, soyad ve maaş bilgilerini OUTPUT ile tablo değişkenine aktarılmasını sağlayan

Tüm programlama dillerinde olduğu gibi akış kontrollerinde ve döngü yapılarında kullanılan komutlar birden fazla ise mutlaka BEGIN..END bloğunda yazılmalıdır....

İstenilen şart sağlandığında WHILE döngüsünden çıkmak için BREAK komutu kullanılır.. Programın çalışması WHILE’ın END’inin altındaki satırdan çalışmaya