You are on page 1of 4

VER TABANI YNETM SSTEMLER I

BLM 5 Alako BURMA

5. RNEK BR VER TABANI TASARIMI ve NORMALZASYONU


Bir veri taban ile proje yaplrken iin en nemli aamasnn veri tabannn
tasarlanmas olduundan ve bunu yaparken hangi kurallara gre yaplacandan
bahsedilmiti. 4.blmde veri taban tasarmnda tablolar ve stunlardan bahsedilmi,
normalizasyon ile de tablolara kaydedilecek bilgilerin zelliklerinden ve hazrlanma
kurallarndan bahsedildi.
Bu ders notu kapsamnda veri taban ynetim sistemleri ve SQL komutlar
anlatlmaktadr. Bu blmde rnek bir veri taban tasarlanacak ve veri taban
normalizasyon ilemi yaplacaktr. Tanmlanan ve veri girii yaplan bu veri taban
ilerleyen blmlerde kullanlacak ve rneklerle konularn daha iyi anlalmas
salanacaktr.
rnek proje bir iyerinde alan personel ve personele ait meslek, allan
birim ve maa ilemlerini kapsamaktadr. Burada personel projesindeki ilere ait bir
ksm ilemler rnek olarak verilecektir. Unutulmamaldr ki bir iyerindeki personel
ilemleri ok daha fazla tablo, stun ve ilemlerden meydana gelmektedir. Burada
konunun anlalabilmesi asndan projenin bir ksm zerinde allacaktr.

5.1. rnek Personel Projesi Veri Taban Tasarm

rnek projemizin ad personel ileri ve projemiz 4 adet tablodan meydana


gelmektedir. Bunlar; Personel Bilgileri, Personelin alt Birimler, Personele Ait
Meslekler ve Personele Ait Maa bilgilerinin tutulduu tablolar. Bu tablolar ve bu
tablolara ait alan (stun) bilgileri aada listelendii gibi dzenlenmitir.
TabloAd TabloAlanlar
Personel SicilNo,Ad,Soyad,MeslekKodu, BirimKodu, DoumTarihi, Adres
Meslekler MeslekKodu, MeslekAd
allanBirim BirimKodu, BirimAd
Maaslar SicilNo, MaasAy, Maas

Veritabanlarnda tablolar matris yapsnda tutulurlar. Stunlar tablo alanlarn,


satrlar ise tablodaki kaytlar (record) tekil ederler. Ders notlarnn ilerleyen
blmlerinde tablolar matris yapsnda grntleneceklerdir.
Burada normalizasyon kurallarna gre bilgiler ayr tablolarda tutulmulardr.
Meslekler ve allanBirim iin iki ayr tablo tanmlanmtr. Bunun nedeni personel
tablosunda meslek ve allan birim alanna bilgi yazlrken veri btnl ve
standart salanabilmesi iindir. Bu tr bilgi girilerinde ayr tablolarn tanmlanmas
gerektii 3.normalizasyon kuralnda sylenmiti. Personel tablosunda kiiye ait
meslek bilgisi de veri btnl ve standardn salanmas asndan kodlanarak
yazlacaktr. Veri tabannda bu kural ok nemlidir.

39
VER TABANI YNETM SSTEMLER I Alako BURMA

Meslekler personel tablosuna yazlrken kod eklinde tanmlanmayp;


personel tablosunda isim olarak yazlsayd bilgilerde sorun yaanrd. rnein :
Mdr yardmcs meslei yazlrken kullanc bu bilgiyi kendine gre ksaltarak
veya byk kk harf dikkate almayarak yazabilir. Bir kii iin Md.Yar, yazarken
bir dieri iin M.Yard. bir dieri iin Mdr Yardmcs veya MDR
YARDIMCISI yazabilir. Veri tabannda bu 4 bilgi birbirinden farkl bilgilerdir. Daha
sonra Mdr Yardmcs olan kiilerin sorgusu yaplacak olursa bu 4 bilgi birbirinden
farkl olaca iin doru bir sonu elde edilemeyecektir. Halbuki bu alana mdr
yardmcs iin 2 gibi bir kodlama yaplr ve bu alana 2 bilgisi yazlrsa meslei 2
olanlarn sorgusu iin elde edilecek veriler doru olacak ve ekrana 4 kiiye ait bilgi
gelecektir. Bu nedenle Meslekler tablosu ayr yaratlmaldr.
Ayn ey allanBirim iinde yaplm ve bu alan da kodlanmtr. rnein :
alt birim Bilgi lem olan personele ait bilgiler tabloya yazlrken kullanc bunu
da kendine gre ksaltarak veya byk kk harf dikkate almayarak yazabilir. Bir
kii iin Bilgi lem, yazarken bir dieri iin B.lem bir dieri iin BLG LEM
veya Bil.l. yazabilir. Veri tabannda bu 4 bilgi birbirinden farkl bilgilerdir. Daha
sonra Bilgi lem de alan kiilerin sorgusu yaplacak olursa bu 4 bilgi birbirinden
farkl olaca iin doru bir sonu elde edilemeyecektir. Halbuki bu alana Bilgi lem
iin 3 gibi bir kodlama yaplr ve bu alana 3 bilgisi yazlrsa alt birim 3 olanlarn
sorgusu iin elde edilecek veriler doru olacak ve ekrana 4 kiiye ait bilgi gelecektir.
Meslek ve allan birim iin ayr tablo tanmlanmasa ve bu alanlar
kodlanmadan personel tablosu alan ierisine dahil edilmi olsayd tablo yaps
aadaki gibi olurdu.

ekil 5.1.1. Personel tablosu iin ayr tablo tanmlanmam hali

ekil 5.1.2. Personel tablosu iin ayr tablo tanmlanm hali

40
VER TABANI YNETM SSTEMLER I Alako BURMA

Bir dier zellikte maa tablosunda maasAy bilgisinin olmasdr. Bu bilgi


maan hangi ay iin dendii bilgisidir. Bir personel bir ylda birden fazla maa
alacana gre ilgili maann hangi aya ait olduu bilgisi bu alanda tutulacaktr. Bu
alandan; istenilen personele ait birden fazla ay maa bilgisi elde edilebilir. rnein;
personelin ilk 6 ay ald toplam maa miktar bulunabilir. Ya da bir ylda 10
milyardan fazla maa alan personel listesi elde edilebilir. Bu sorgular SQL dili ile
yaplacaktr.
Buradan u sonu karlmaldr : Veritabannda meslek, allan birim gibi
birok bilgi iin standart olan bilgi girii yaplacak alanlarda kodlama yaplmaldr. Bu
hem bilgilerin daha ksa srede yazlmasn salayacak hem de verilerde btnlk ve
tutarllk salayacaktr. Bu kodlamalar numara veya harflerden veya her ikisinin
karmndan oluabilir. Bir nceki blmde anlatlan 3.Normalizasyon kuralndaki
kitap iin cilt tipi alan gibi. Cilt tipinde kitap iin K, deri cilt iin D ve spiral cilt iin S
kodlamasnn kullanlmas gibi. Dikkat edilmesi gereken nokta kodlamann ksa
karakterlerden olumasdr.
Ders notlarnda; tablolar ve tablo alanlar tabloAd.TabloAlan eklinde ifade
edilecektir. rnek; personel tablosundaki SicilNo alan Personel.SicilNo gibi.
Buradaki bir dier noktada farkl tablolardaki ayn ama iin kullanlan alanlarn
ayn isimle isimlendirilmesidir. Bu konu ile ilgili bilgi Farkl tablolardaki iki alan ayn
veriyi tutuyorsa, iki alana da ayn ad vermek, karkla yol aabilir gibi grnse de
aslnda daha dzgn bir yap ortaya kar. fadesiyle daha nce aklanmt.
Personel tablosundaki SicilNo ile Maaslar tablosundaki SicilNo ayn isim ve ayn
amala kullanlmtr. Personel tablosundaki MeslekKodu ile Meslekler tablosundaki
MeslekKodu ayn isim ve ayn amala kullanlmtr. Yine Personel tablosundaki
BirimKodu ile allanBirim tablosundaki BirimKodu ayn isim ve ayn amala
kullanlmtr.
Aada projemizdeki tablolar arasndaki iliki (balant) verilmitir.

Tablo Ad.Alan likili TabloAd.Alan


Personel.SicilNo Maaslar.SicilNo
Personel.MeslekKodu Meslekler.MeslekKodu
Personel.BirimKodu CalslanBirim.BirimKodu

Projedeki bir dier tanmlanmas gereken nokta da tablo iin tanmlanan


alanlarn (stunlarn) hangi veri tipinden ve ka karakterden oluacadr. Sicil
Numarasnn rakamlardan, ad ve soyadn harflerden, doum tarihinin tarih
bilgisinden, adresin hem rakam hem de harflerden oluacann tanmlanmas gibi.
Bu tanmlamalarn kullanlan veri tabanna gre yaplmas gerektii ve her
veritabannda bu tanmlamalarn farkl olduu 3.blmde anlatlm ve MS Access,
MySql ve Oracle veri taban veri tiplerinden rnekler verilerek anlatlmt.
rnek veri tabanndaki tablolar, tablo alanlar ve veri tipleri aadaki gibidir.
Bu tablolarn nasl yaratld ve tablolar zerinde hangi ilemlerin ve nasl yaplaca
sonraki blmlerde anlatlmtr.

41
VER TABANI YNETM SSTEMLER I Alako BURMA

TabloAd TabloAlanlar Veri Tipi


Personel SicilNo, Say(4)
Ad, Karakter(15)
Soyad, Karakter(15)
MeslekKodu, Say(3)
BirimKodu, Say(3)
DoumTarihi, Tarih
Adres Karakter(25)
Meslekler MeslekKodu, Say( 3)
MeslekAd Karakter(20)
allanBirim BirimKodu, Say(3)
BirimAd Karakter(20)
Maaslar SicilNo, Say(4)
MaasAy, Say(2)
Maas Karakter(12)

Tablolar
arasndaki
ilikiyi
belirten
izgi

ekil 5.1.3. rnek Personel Projenin MS Access deki diyagram

Drt tablo ve tablolar arasndaki likiler yukardaki ekilde gsterilmitir. Mavi


izgi ile tablolar arasndaki ilikiler gsterilmitir. Ayn diyagramn bir benzeri SQL-
Server veya Oracle veri tabanlarnda da hazrlanabilir.

Bundan sonraki blmlerde bu tablolar, tablo alanlar, veri tipleri ve ilikileri


zerinde ilem yaplacaktr.

42

You might also like