You are on page 1of 7

VER TABANI YNETM SSTEMLER I

BLM 3 Alako BURMA

3. VER TABANI TEMEL KAVRAMLARI


Veritaban (DataBase) : En genel tanmyla, kullanm amacna uygun olarak
dzenlenmi veriler topluluudur. Mteri adres defterleri, rn sat bilgilerinin
sakland dosyalar, renciler ve renciler ait har ve not bilgileri gibi, personel bilgi
dosyalar gibi bilgi dzenleri veritabanlarna rnek olarak verilebilir. Belirli bir konu
hakknda toplanm veriler; bir veritaban program altnda toplanrlar. stenildiinde
toplanan bilgilerin tm veya istenilen zelliklere uyanlar grntlenebilir,
yazdrlabilir hatta bilgilerinden yeni bilgiler retilerek bunlar eitli amalarla
kullanlabilirler.
Veriler fiziksel hafzada Veri Dosyalar (DataFiles) halinde saklanrlar. Dosya,
bilgisayarlarn bilgileri birbirinden ayrarak saklamak iin kulland temel bilgi
depolama yapsdr. Bir dosyada, bir ok veri yer alabilir. Bir personel otomasyonu ele
alnacak olursa, personel ile ilgili bilgiler, personelin alt birimler, meslekleri,
ald maa ile ilgili bilgiler ayn veri dosyasnda ama farkl tablolar ierisinde yer
alabilirler.
Bu blmde veri taban ile ilgili temel kavramlar zerinde durulacaktr.
ncelikle bu kavramlar tanmlanacak ve hangi amala kullanld anlatlacaktr. Bu
kavramlarla ilgili detayl rnek ve aklamalar sonraki blmlerde yaplacaktr.

3.1. Tablo ve Elemanlar


Tablo verilerin satrlar (row) ve stunlar (colomn) halinde dzenlenmesiyle
oluan veri grubudur. Veritabanlar bir veya daha fazla tablodan oluurlar. Tablolar
arasnda ilikiler dzenlenebilir. Tablonun satrlarndaki her bir bilgi kayt (record),
stunlar ise alan (field) olarak isimlendirilir. Bir tabloda yer alan her bir kayt bir satra
karlk gelir. rnein personel listesi (yani personel tablosunu) ele alnacak olursa,
her bir satrda bir personele ait bilgiler yer alr. Stunlardaki alanlar (Field) ise
yaplandrlm bilginin her bir ksmn saklamak zere yaplan tanmlamadr. Bir
personele ait bilgilerin her biri stunlarda tutulur. Personelin sicil numaras, ad,
soyad, alt birim, doum tarihi gibi bilgilerin her biri bir stun alandr. Her bir
alan, yaplandrlm verinin bir birimini tutmak zere tanmlanr. Her bir stunun ad
ile birlikte dier bilgilerinin (en fazla ka birimlik bilgi bu hcrede saklanabilecek, ne
tr bilgi saklanacak vs.) ortaya koyduu tanma alan denir.
Herhangi bir veritaban programnda almaya balamadan nce yaplacak
ie uygun veri taban tasarm yaplmaldr. Bu iin en nemli aamasdr. Balangta
iyi tasarlanmayan bir veritaban ileride geriye dn olmayan verimsiz bir bilgi
ynna dnebilir. En basit hali ile veritaban tasarmnda; hangi tablolarn olaca,
bu tablolarda hangi alanlarn olaca, tablolar arasndaki alan ilikilerinin neler
olaca ve alanlara ait zelliklerin tanmlanmas yaplr. Alan zelliklerinde alan ad,
alan tipi, alann uzunluu, alann varsaylan deeri, bu alana yazlacak verilerin
geerlilik koullar balangta tasarlanmas gerekir.

24
VER TABANI YNETM SSTEMLER I Alako BURMA

Veritabannn en nemli bileeni tablodur. Her veritabannda en az bir tablo


bulunur. Veritaban ilemlerinde nce tablo/tablolar tanmlanr. Daha sonra tablolara
kaydedilecek bilgilerin neler olaca ve bu bilgilere ait zellikler tanmlanr. Personelin
sicil numaras ve bunun saylardan olumas, personelin ad soyad ve bunun
harflerden olumas gibi. Tanmlamalar bittikten sonra tablodaki bu alanlara ait
gerek bilgiler yazlr. Yazlan bu bilgiler tablolarda tutulur. Kayt ile satr arasndaki
temel fark, kayt ile kastedilen yapnn stunlar hakkndaki bilgileri de iermesidir.
Tablolara girilmi bilgilerden belirli artlara uyanlarn liste eklinde alnmasna
sorgu ad verilir. Tablolardan gerektiinde sorgulamalar yaplabilir. Deiik amalara
gre sorgular hazrlanarak tablodaki bilgilerin tm, bir ksm veya belirli art
salayanlarn listesi alnabilir. rnein, muhasebe blmnde alan personelin
listesi gibi. Sorgular SQL; ilerleyen blmlerde detaylar ile anlatlacaktr.

3.2. Veri Tipi (Data Type)

Bilgisayar, kaytlar tablolarda yapsal olarak tutarken, onlarn yaplar


hakknda fikir sahibi olabilmek iin baz zelliklerinin nceden tanmlanmas gerekir.
rnein, personel sicil numaras alannn mutlaka bir tam saydan oluaca,
personel ad ve soyadnn harflerden oluaca, personelin alt blmn harf ya
da rakamlardan oluaca, personelin doum tarihinin tarih bilgilerinden oluaca
gibi. Bir veritaban oluturulurken, nce tablolar ve sonrada bu tablodaki her bir
alann veri tiplerinin ne olaca tanmlanmak zorundadr. Bir tablo alanna veri girii
yaplmadan nce o alann tamsay m yoksa harf mi; tarih mi yoksa ondalkl bir say
m olaca tanmlanmal ve veriler daha sonra tabloya yazlmaldr. Ayrca, bir alann
uzunluu ne kadar olacak, harf girilebiliyorsa en fazla ka harf girilebilecek?, rakam
ise en fazla ka basamakl olabilir? trnden sorular yantlamak iin de yine VTYS
bir alan iin veri tipi belirlenmesini ister.
Her Veri Taban Programnn veri tipleri farkldr. Aada Ms Access, MySQL
ve Oracle veri taban program rnek veri tipleri verilmitir.

3.2.1. Access Veri Taban Veri Tipleri

Metin : Yazlacak bilgiler harflerden veya hem harf hem de saylardan meydana
geliyorsa kullanlacak veri trdr. Bu alana bolukta dahil olmak zere en fazla 255
karakter bilgi yazlabilir. Bu alana yazlan bilgiler sadece saylardan da oluabilir, ama
yazlan saylar hesaplama ilemlerinde kullanlamazlar.
Not : Uzun metin yada metin ve say bileimi kullanlabilir. Genelde aklama ya
da uzun bir not yazlacaksa bu alan kullanlr. 64.000 karakterle snrldr.
Say : renci numaras, rencinin snf gibi saysal bilgiler iin kullanlr.
Saysal alanlar matematiksel hesaplamalarda kullanlabilir. Bor, alacak, renci
harc gibi.
Tarih/Saat : 100 ile 9999 arasndaki yllar iin tarih ve saat deerleridir.

25
VER TABANI YNETM SSTEMLER I Alako BURMA

Para Birimi : Bir ile drt arasndaki ondalk basama olan, matematik
hesaplamalarnda kullanlan para birimi deerleri ve saysal veriler.
Otomatik Say : Tabloya yeni bir kayt eklendiinde, Access tarafndan atanan
benzersiz ardk (birer birer artan) ya da rasgele saylar. Otomatik say alanlar
deitirilemez.
Evet/Hayr : Yalnzca iki deerden birini ieren alanlar Evet / Hayr, Doru /
Yanl, Ak / Kapal gibi alanlar gibi.
OLE Nesnesi : Access tablosuna balanm ya da kattrlm bir nesne.
(Microsoft Word veya Excel alma sayfas gibi)
Kpr : Tklandnda kullancy baka bir dosyaya, dosyadaki bir konuma
veya Internetteki (www) bir blgeye ynlendiren balant.
Arama Sihirbaz : Deerleri baka tablo, sorgu ya da deerler listesindeki
deerlerden seilen bir alan yaratmamza yardmc olan sihirbaz.

3.2.2. MySQL Veri Taban Veri Tipleri

MySQL'de bir ok veri tr oluturulabilir. Ancak Web programlar asndan


nemli olan bir ka ve zellikleri yle sralanabilir:

INT : Tamsay: -2147483648'den 2147483647 kadar deien diziye "signed"


(iaretli), 0'dan 4294967295'e kadar deienine "unsigned" (iaretsiz) denir.
VARCHAR(n) : n saysn gememek artyla deien boyutta karakter olabilir
CHAR(n) : Kesinlikle n says kadar karakter olabilir.
TEXT : En fazla 65535(2^16-1) karakter alabilen metin alan.
MEDIUMTEXT : En fazla 16777215(2^24-1) karakter alabilen metin alan.
DATE : 1000-01-01'den 9999-12-31'e kadar deiebilen tarih alan.
TIMESTAMP : 1 Ocak 1970'den 18 Ocak 2038'e kadar olan ve
Yl+Ay+Gn+Saat+Dakika+Saniye biimindeki zaman bilgisi.

3.2.3. Oracle Veri Taban Veri Tipleri

CHAR(say): Sabit uzunluktaki alfasaysal verilerin tutulabildii alanlar iin


kullanlr. Oracle 7 ve daha nceki srmler iin bu alann uzunluu en fazla 255
karakter olabilir. Oracle 8 ve sonrasnda 2000 karakter uzunluundadr. Eer, say ile
ifade edilen numaradan daha ksa uzunlukta veriler girilirse Oracle kaydn sonuna
boluk ekleyerek sabit uzunlua kadar getirir. rnek char(20).

26
VER TABANI YNETM SSTEMLER I Alako BURMA

VARCHAR2(say): Deiken uzunluklu alfasaysal verilerin tutulduu alanlar


iin kullanlr. Oracle 7 ve nceki srmlerinde 2000 karakter, Oracle 8 ve sonraki
srmlerinde 4000 karakter uzunluunda bilgi girilebilir. rnek varchar2(30).
NUMBER(n,p): Tamsay ve Gerel saylar iin kullanlan saysal veri
tipidir.Tam ksm en fazla 38 basamak olabilir. Ondalk ksmn basamak says da 84
ile 127 arasnda deimektedir. Number veri tipinden tretilmi int[eger], dec[imal],
smallint ve real veri tipleri de kullanlabilmektedir.
DATE: Tarih tutan alanlar iin kullanlr. Bu tip alanlarda, tarih bilgileri ve saat
bilgileri tutulabilir. Tarih formatlar Oracle yklenilirken seilen dile gre deiir.
Amerikan standart iin DD-MON-YY dir. Yani bir tarih 03-MAY-01 eklinde
grnr. NLS_DATE_FORMAT parametresi ile tarih format deitirilebilir. Tarihsel
alanlar zerinde aritmetiksel ilemler yaplabilir. Sistem tarihi SYSDATE fonksiyonu
kullanlarak renilebilir. Saysal veya karakter olarak tanml bir alandaki veriler
TO_DATE fonksiyonu ile tarih tipine evrilebilir.
LONG: 2 GB a kadar bilgi tutabilen karakter alanlar iin kullanlr. Bir tabloda
bu tipten ancak bir adet alan tanmlanabilir. Long veri tipine sahip alanlar iin index
oluturulamaz.
Not: Oracleda boolean veri tipi yoktur. Bunun iin char(1) ya da number(1) eklinde
tanmlama yaplp kullanlabilir.
Not: Bir tablonun alanlar kendi veri tipine uygun deerler alabildii gibi bir de NULL
deer alabilirler. NULL deeri saysal olarak 0dan ve karakter olarak ta bo
karakterden( ) fakldr.

3.3. Zorlayc (Constraint)

Herhangi bir alan iin girilebilecek verileri kstlayc kurallara zorlayclar denir.
lgili alana girilebilecek deerleri snrlayan bir deyim yazlr. Kullanm bazen ok
faydaldr ve zellikle yanl bilgi giriini engeller ve verilerin doru girilmesini zorunlu
hale getirir. Kullanc, zorlaycda belirtilen kural dnda bir veriyi tabloya yazmaya
altnda, VTYS hata verir. Bylelikle veritabanna kullancnn keyfi deerler
girmesi nlenmi olur ve veri tabannda tutarllk salanm olur.
rnein, bir rencinin snf bilgisine ait deerler yazlrken bu alan iin
rakamsal 1 ile 6 arasnda bir zorlayc deer tanmlanrsa; veri girii srasnda 1 ile 6
arasndaki deer dnda bir deerin snf bilgisi alanna yazlmas engellenmi olur.
Dolays ile snf iin yazlmamas gereken bir deer; bilgi girii balangcnda kontrol
edilmi olur.
ekil 3.3.1. de mavi izgilerle evrelenmi alanda Ms Access veri taban
programnda bir kstlaycnn tanmlanmas yaplm ve zellikle kullanc tarafndan
yanl bilgi girii engellenmi ve verilerin doru yazlmas zorunlu hale getirilmitir.

27
VER TABANI YNETM SSTEMLER I Alako BURMA

ekil 3.3.1. MS Access de tanmlanm zorlayc ekran

3.4. Anahtar (Key)

Anahtar bir veya birden fazla alann bir satr iin niteleyici olarak girilmesi iin
tanmlanan zel bir eit zorlaycdr. Tekrarlamayacak bir anahtar alan
tanmlandnda, bu anahtar alana birincil anahtar alan denir. Primary Key, Unique
Key ve Foreign Key olmak zere 3 eit anahtar vardr.
Primary Key (Birincil Anahtar) : Bir tablodaki, her bir satrn yerine vekil
olabilecek bir anahtar veridir. Tabloda bu alana ait bilginin tekrarlanmamas gerekir.
Standart olarak bir tabloda verilerin, fiziksel hafza stnde de hangi alana gre
dizileceini de primary key belirler. Bu, bazen bir tek alan olabilecei gibi, bazen
birden fazla alan da birleerek bir birincil anahtar oluturabilir. rnein programda
personelin sicil numaras alanna gre aramalar yaplacaksa Primary key personel
sicil numaras olmaldr. Personelin ad ve soyadna gre aramalar yaplacaksa ad ve
soyad alanlar birletirilerek iki alandan tek anahtar alan tanmlamas yaplr.
Unique Key(Tekil Anahtar): Unique Key olarak tanmlanan alan iin bir deer
sadece bir kere girilebilir. Bir baka satra daha ayn verinin girilmesine izin verilmez.
Primary Key den farkl olarak Unique Key, NULL (boluk) deerini alabilir. rnein
programda her personele ait bir sicil numaras olaca iin bu alan Unique key olarak
tanmlanabilir. Ama isim alan birden fazla ayn isme sahip personel olabilecei iin
bir Unique key olarak tanmlanamaz. Ali isimli birden fazla personel olabilecei gibi.

28
VER TABANI YNETM SSTEMLER I Alako BURMA

Foreign Key (Yabanc Anahtar) : Bir tabloya girilebilecek deerleri baka bir
tablonun belli bir alannda yer alabilecek veri grubu ile snrlandrmaya ve en nemlisi
de ilikilendirmeye yarar. rnein, olmayan bir kitabn dn tablosuna
eklenememesi ve dn tablosuna eklenen bir kitabn numaras araclyla detay
bilgilerine eriilmesi gibi. Burada Kitap.KitapNo birincil anahtar alan; Odunc.kitapNo
ise yabanc anahtardr.

3.5. Index (ndeks)

Ktphanelerdeki kitaplarn raflardaki dizililerini ele alalm. Bir kitap


arandnda, kitaplar bir kurala gre dizilmemilerse, her bir kitaba teker teker
baklmas gerekir. Kitaplar raflara alfabetik dizilirse, her bir kitap tek tek gzden
geirilmek zorunda kalnmaz. Aranlan kitap ile baklmakta olunan kitabn isimleri
karlatrlr, saa ya da sola ynelip aramaya devam edilir. Ayn ekilde yazarlarna
ya da ktphane numarasna gre sralanm birer liste olursa, bu kriterlere gre de
aranlan kitap kolayca bulunur. Veritabanlarnda indeks oluturularak, veriler
veritabanndaki kaytl olduklar sradan baka bir srada gsterilebilir ve tpk
ktphanedeki bir kitaba ulamada olduu gibi istenilen veriye daha ksa srede ve
kolayca ulalabilir.
Temelde indekslerin ilikisel veritabannda u ilevi vardr:
1.Tekil indeksler, veri ilikilerini ve veri btnln salayan birincil anahtar alanlar
oluturmada kullanlr.
2. ndeks olan alann deerine gre bir kaydn kaytlar arasndaki srasn gsterirler.
3.Sorgularn neticelenme srelerini ksaltrlar.

Constraintler (zorlayclar) aslnda indexlere benzerler ama indekslerden farkl


olarak bir tek tablo stnde etkili olmayabilirler. zellikle yabanc anahtar zorlaycs
ilikisel veri girii iin olduka etkili bir zorlaycdr. Ancak bir Foreign Key tanm
yapabilmek iin, FOREIGN KEY yabanc anahtarnn asl tablosunda birincil anahtar
olmas gerekir.

3.6. View (Grnt)

Bazen, tablolar olduklarndan farkl gsterecek filtrelere ihtiya duyulur. Bu


trden ilevler iin VIEW kullanlr. VIEW ler, saklanm sorgulardan ibarettirler.
Aslnda tablo gibi kullanlsa da halihazrda byle bir tablo veritabannda bulunmaz,
sadece view(grnts) bulunur. VIEW ler u grevler iin kullanlr:
* Kullanclarn baz kritik tablolarn sadece belli stunlarn veya satrlarn
grmesi istenildiinde,
* Kullanclarn, eitli birim dnmlerinden gemi deerler grmeleri
gerektiinde,
* Halihazrdaki tablolarda var olan verilerin baka bir tablo formatnda
sunulmas gerektiinde
ok kompleks sorgular basitletirmek iin

29
VER TABANI YNETM SSTEMLER I Alako BURMA

rnein Kitap tablosunda sadece Bilgi Teknolojileri trndeki kitaplarn yer


alaca bir VIEW u ekilde oluturulabilir:

CREATE VIEW view_adi [(kolon1,


kolon2...)] AS
SELECT tablo1.kolon_adi_1, tablo2.kolon_adi_1
FROM tablo_adi_1, tablo_adi_2 ;

Not : MSAccess de VIEW oluturulamaz. SQLServer, SyBase, Oracle gibi orta ve


byk lekli VTYS lerde oluturulabilir.

3.7. Joining (ilikilendirme)

ki veya daha fazla tabloyu birlikte sorgulama ilemine join ismi verilir. likisel
veritabannn en temelinde birden fazla tablo stnde birlikte ilem yapabilmek yatar.
Bu sayede verilerin tekrarlanmas nlenmi olur ve sonuta veri ynetimi kolaylar.
rnein, Kitap tablosunda, Kitabn bir tekil numara ile listesini tutmak ve dn
listesinde de bu Kitabn kim tarafndan alndnn, geri getirilip getirilmediinin kayd
tutulmaktadr. Bazen, bu iki tablodaki bilgilere de bir tek sorgu sonucu olarak ihtiya
duyulabilir.
rnein; elimizde yle bir sonu olmaldr ki, hangi kitabn kim tarafndan
dn alndn bir listede grme ihtiyac duyulsun. Bu iki tablo birbirine, kitapNo
alan ile baldr. nk, dn verilen bir kitap hakknda detayl bilgi edinilmek
istenildiinde, dn listesinden kitap numarasn alp, daha sonra Kitap tablosundan
ayn numaray bulmak ve karlndaki kitap hakkndaki detaylar grmek.

30

You might also like