You are on page 1of 57

Veritaban Sistemleri

Temel Kavramlar
Veri, i lenmemi ve anlams z ham kaynaklar toplulu udur. Bilgi, verilerin aritmetiksel ve mant ksal i lemlere tabi tutularak, bizim iin anlaml hale getirilmi kar mlar n sonular d r.

Veri Bilgi ayr m na bir rnek


02162480068,08102010,31AV162

02162480068 Veri

08102010 Veri

31AV162 Veri

0.216.2480068 Bilgi (Tel.No)

08.10.2010 Bilgi (Tarih)

31AV162 Bilgi (Plaka)

Temel Kavramlar
Veri taban , birbiri ile ili kili veriler toplulu udur; veri taban sadece veriler y n n de il, bunlar aras ndaki ili kileri de saklar ve dzenler. Tipik olarak bir veritaban , veri ile bilgi aras ndaki dn m sa lar.

Temel Kavramlar
Veritaban Ynetim Sistemleri, verilerin saklanmas n ve saklama yap sall n ayarlayan, veritabanlar ierisinde ve birbiri aras ndaki koordinasyonu belirleyen, kullan c isteklerine raporlama ile cevap veren (olu turma, ekleme, silme ve gncelleme vb.) ve veritabanlar n n ynetilmesini ve bak m n (yedekleme, tamir etme, geri ykleme vb.) sa layan sistemler btndr.

Veri Taban rnekleri


niversite- renci leri Bilgi Sistemi Hastane-Hasta, doktor, tedavi, ara-gere, mali bilgiler Ticari bir irket- Msteri, rn, Sat , deme, Teslimat bilgileri Banka-M teri, mevduat, kredi kart , kredi bilgileri

Neden Veri Taban Kullan lmal ?


Klasik veri dosya sisteminin sak ncalar ; y Veri Tekrarlar : Ayn veri, birden ok dosya ierisinde tekrar yer almaktad r. y oklu Gncelleme: Ayn veri birden ok dosyada tekrar etti i iin veri gncelleme s ras nda Veri Btnl nn (Data Integrity) kaybolmas na neden olmaktad r. Bunun neticesinde, bir birleriyle uyu mayan dosyalar ve onlardan retilen hatal raporlar elde edilir.

Neden Veri Taban Kullan lmal ?


y Bellek Hacminin sraf : Ayn veri birden ok dosyada mevcut oldu undan bilgileri depolamak iin yan bellekte a r bir israfa neden olmaktad r. y Eri im Dili: Klasik dosya sisteminde geli tirilen uygulama programlar n n dili uygulamadan uygulamaya farkl l k gsterdi inden dolay , standart bir dil kullan m sz konusu de ildir.

Neden Veri Taban Kullan lmal ?


Veritaban sistemlerinin yararlar ;
Ortak verilerin tekrar n n nlenmesi, verilerin merkez denetime a k olmas ve tutarl l n n sa layarak, veri tekrarlar ya ortadan kald r l r ya da en aza indirgenir, Veri btnl iin gerekli olanaklar n sa lanmas na, mekanizmalar n kurulmas na imkan tan n r. Yani belirli bir konu ile ili kili verinin sistemde, farkl noktalarda hep ayn ekilde tutulmas n (eli kilerin olu mamas ) zel yntemlerle kolayca kontrol yap l r,

Neden Veri Taban Kullan lmal ?


Veritaban sistemlerinin yararlar ; Veri tekrarlar en aza indirgendi i iin bellek alan n n israf nlenir, Veri taban sisteminde standart bir sorgu dili (SQL) kullan r, Veri payla m n sa lar, Fiziksel yap ve eri im yntemi karma kl klar n n, ok katmanl mimarilerle kullan c lardan gizlenmesini temin eder,

Neden Veri Taban Kullan lmal ?


Veritaban sistemlerinin yararlar ;
Her kullan c ya yaln z ilgilendi i verilerin, al k oldu u kolay, anla l r yap larda sunulmas n sa lar, Sunulan zmleme, tasar m ve geli tirme aralar ile uygulama yaz l m geli tirmenin kolayla mas n temin eder, Gvenlik ve gizlili in istenilen dzeyde sa lanmas , Yedekleme, yeniden ba latma, onarma gibi i letim sorunlar na zm getirilmesi.

Neden Veri Taban Kullan lmal ?


Veritaban sistemlerinin yararlar ; y Kesinlik ve Tutarl l k: Tan mlanan kriterlere gre veri giri inin yap lmas yla tm bilgiler ayn tip verilerden olu ur. Bu da bir btnlk sa lar.

y Analiz: Byk miktarlarda verilerden baz sonular kararak analizler yapmak ve sonular retmek olduka kolayd r.

Neden Veri Taban Kullan lmal ?


Veritaban sistemlerinin s n rl l klar ; y Veri taban sisteminin kurulum ve bak m klasik dosya sisteminden daha pahal d r. y Veritaban sistemini kullanmak iin zel bir e itim gerekebilir. Bu da ek maliyet art na yol aar. y Veri taban sistemi iinde, baz bile enler iyi tasarlanmaz ise tm sistem ciddi bir ba ar s zl kla kar kar ya kalabilir.

Veri Taban Ynetim Sistemi (VTYS) VTYS, veri taban sistemlerini tan mlamak, yaratmak, kullanmak, de i tirmek ve veri taban sistemleri ile ilgili her trl i letimsel gereksinimleri kar lamak iin kullan lan geni kapsaml yaz l m sistemidir. VTYS, birbirleri ile ili kili veri ve programlar toplulu undan olu maktad r.

14

Veri Taban Ynetim Sistemi (VTYS) Veri taban olarak adland r lan veri toplulu u, bir kurulu a ait bilgilerin dzenli bir yap ierisinde sakland ortamd r. Programlar ise saklanan bu verilerin ynetildi i ortamlard r.

15

Veri Taban Ynetim Sistemi

Veri Modeli
Her Veri Taban Ynetim Sistemi bir Veri Modeli (Data Model) kullan r. Veri modeli, verileri mant ksal dzeyde dzenlemek iin kullan lan yap lar, kavramlar ve i lemler toplulu u olarak tan mlan r. Veri taban n tasarlayan kullan c , veri modelinin yap lar n ve kavramlar n kullanarak mant sal dzeydeki dzenlemelerini olu turur, veri taban tasar m belirtimlerini haz rlar. Haz rlanan tasar m belirtimleri biimsel tan mlara dn trlerek Veri Taban Ynetim Sistemine girilir.

Veri Taban Ynetim Sistemlerinin S n fland r lmas


Veri Modeline Gre
Hiyerar ik A li kisel

Kullan c Say s na Gre


Tek kullan c l ok kullan c l

Hiyerar ik veritabanlar
Veri tabanlar iin kullan lan ilk modeldir Hiyerar ik veritabanlar bilgileri bir a a ya s nda saklarlar.

A veritabanlar
Hiyerar ik veritabanlar yetersiz kal nca 1960 lar n sonunda verilerin a alar n daha geli mi hali olan graflar eklinde sakland yap ortaya km t r.

li kisel veritabanlar
1970 lerin ba nda geli tirilmi tir. Bu sistemde veriler tablo eklinde saklan r. Tablolar aras ndaki ba lant lar matematiksel ili kilerle gsterilir. Gnmzdeki hemen hemen tm veri taban programlar bu yap dad r.

li kisel veritabanlar

Veri Taban Ynetim Sistemleri


y Oracle database y Microsoft Access y Microsoft SQL Server y Microsoft Visual FoxPro y MySQL y PostgreSQL y Progress y SQLite

Veri Taban Yap s


Veri taban

Tablo

Tablo

Tablo

Tablo

Tablo

Alan 1 1 2 3

Alan 2

Alan3

Alan4

Tablo
Bir veritaban tablolarda saklanan verilerden olu ur. Tablolar verilerin sat rlar ve stunlar halinde dzenlenmesiyle olu an veri grubudur. rne in ders ieri i ve renci bilgilerini veritaban nda saklamak iin 2 tablo olu turulur:
Ogrenci_bilgileri icerik

Tablo
Tablo iindeki her bir bilgi kay t, Stunlar ise alan olarak isimlendirilir. rne in renci bilgileri tablosunda
renci numaras , ad soyad , do um tarihi, do um yeri, e-mail adresi

bilgileri yer alacaksa

Tablo
Alan
Ogr_no 1 2 3 4 5 6 Ad_soyad Ay e ztrk Sema zdemir Serdar Glp nar Mehmet Efe Zerrin Polat Ulviye Ata d_tarih d_yeri e-mail ayse@gazi.edu.tr sema@gazi.edu.tr

01.11.1979 Konya 24.05.1975 Ankara 06.06.1983 Adana 11.02.1978 Ni de 22.08.1980 Antalya 12.12.1984 stanbul

Alan serdar@gazi.edu.tr
mehmet@gazi.edu.tr zerrin@gazi.edu.tr ulviye@gazi.edu.tr

Kay t

Veri Trleri
Veri taban nda tutulan kay tlar n yap s hakk nda bilgi sahibi olmak iin Alanlar n baz zelliklerinin nceden tan mlanmas gerekir. rne in personel sicil numaras mutlaka tam say , ad soyad harflerden olu mas gibi

Anahtar (Key)
Anahtar bir veya birden fazla alan n bir sat r iin niteleyici olarak girilmesi iin zorlanan bir e it zorlay c d r. 2 e it anahtar vard r:
Birincil Anahtar (Primary Key) Yabanc Anahtar (Foreign Key)

Birincil anahtar
Bir kay ta ula may sa layacak anahtar veridir. rne i renciler aras nda iki Ahmet var. Arama yaparken istedi imiz Ahmet i bulmak iin her bir renciye zel bir numara olmal d r. rne in renci numaras Birden fazla alanda birlikte birincil anahtar olabilir

Yabanc anahtar
Bir tabloya girilebilecek kay tlar ba ka bir tablonun belli alan ndaki verilerle
s n rland rmaya ve ili kilendirmeye yarar.

rne in rencilerin not verilerinin girildikleri tablodaki her sat ra renci bilgileri tablosundaki renci no ile e le en bir de er girilmesi gibi.

Veri taban Tasarlama


1. Nesneler tan mlan r. Ktphane sistemi: kitap, yeler, trler, dn hareketleri

Veri taban Tasarlama


2. Her nesne iin bir tablo olu turulur. kitap, uyeler, turler, odunc_hareketleri

Veri taban Tasarlama


3. Her tablo iin bir anahtar alan seilir Kitap tablosu: kitapno yeler tablosu: uyeno

Veri taban Tasarlama


4. Nesnelerin her bir zelli i iin tabloya stun eklenir. Kitap tablosu: kitapno, y l , yazar , ad , ilgili oldu u alan

Veri taban Tasarlama


5. Tekrarlayan nesne zellikleri iin ek tablolar olu turulur. stek tablosu

uyeno

stek _tarihi

Kitap_adi

Kitap_yili

Kitap_yazari

ilgili _alan

Veri taban Tasarlama


6. Tablo ile do rudan ili kili olamayan alanlar belirlenir. dn hareketleri tablosunda kitab dn alan yenin adresi do rudan bu tablo ile ili kili de ildir. Bu veri ye bilgilerinin tutuldu u uyeler tablosunda yer almal d r.

Veri taban Tasarlama


7. Tablolar aras ndaki ili kiler tan mlanmal d r. Tan mlanan tablodaki alanlar n birbiri ile ili kisi tan mlan r. rne in uyerler tablosundaki uyeno ile odun_tablosundaki uyeno alan ili kilendirilmelidir.

Veri Tan mlama Dili (VTD)


Veri taban tan mlar n VTYS'ye iletmek iin kullan lan biimsel dile Veri Tan mlama Dili (DDL: Data Definition Language) ad verilir. Veri Tan mlama Dili kullan larak olu turulan veri taban tan mlar , VTYS'nin Veri Tan mlama Dili Derleyicisi olarak adland r labilecek bir bile eni taraf ndan zmlenir, varsa eksik ve yanl lar bulunarak kullan c ya iletilir. Yanl lardan ar nm veri taban tan mlar VTYS taraf ndan uygun yap lara dn trlerek saklan r.

Veri Tan mlama Dili (VTD)


Veri taban tan mlar n n VTYS taraf ndan derlenerek saklanmas veri taban yakla m n n temel zelliklerinden biridir. Bu sre sayesinde, veri taban tan mlar n n yetkili ki iler taraf ndan bir kez yap lmas , tan mlar n kal c l n n sa lanmas ve kullan c lar n bu tan mlar kullanmalar ve bu tan mlara uygun i lem yapmalar sa lanm olur. Programlama dili kullan larak gerekle tirilen dosya tabanl uygulamalarda, bilgisayar belleklerinde yaln z veri saklan r. Uygulama programlar nda, veri zerinde yap lacak i lemler yan nda verinin tan m da yer al r.

Veri Tan mlama Dili (VTD)


Veri taban yakla m nda ise veri tan mlama ile veriler zerindeki uygulama i lemleri birbirinden tamamen ayr lm t r. Veri tan mlama ve daha nce yap lm tan mlar de i tirme yetkisi yaln z Veri Taban Sorumlusu (Data Base Administrator) olarak adland r lan ve veri taban n n tmnden sorumlu olan ki i ya da ki ilere aittir. Veri taban zerinde i lem yapan, uygulamalar gerekle tiren kullan c lar n ise veri tan mlama ya da mevcut tan mlar de i tirme yetkisi yoktur.

Veri Tan mlama Dili (VTD)


VTD ile yap lan tan mlarda veri taban tan mlar iinde yer alan en nemli tan mlar unlard r: 1.Mant ksal dzeyde yap lan dzenlemeler olu turulan yap lar ve her yap da hangi verilerin yer ald . 2.Her verinin tr, uzunlu u, varsa varsay lan de eri ve di er zellikleri. 3.Veriler aras ili kiler ve her trl k s tlamalar. 4.Fiziksel veri yap lar ile ilgili tercihler ve parametreler. 5.Kullan c tan mlar ve kullan c lar n hangi veriler zerinde hangi i lemleri yapmaya yetkili olduklar na ili kin tan mlar.

Veri Tan mlama Dili (VTD)


Veri taban tan mlar veri szl (data dictionary) olarak da adland r l r. VTYS nin fiziksel ortam nda a a da belirtilen e itli veriler saklan r:
1.veri ktkleri (dosyalar) 2.veri taban tan mlar n n yer ald veri szl 3.veri ktklerine ya da veri szl ne eri im iin kullan lan dizinler (indices) 4.veri de erlerine ve uygulamalara ili kin istatistiksel veriler ve gnlk ktkleri (logfiles)

Sorgu Dili ve Sorgu leyicisi


Veri taban uygulamalar iin kullan lan en yayg n ara sorgu dilidir. Kullan c , sorgu dili ile, gerekle tirmek istedi i i lemi yal n bir biimde ifade eder. Kullan c n n olu turdu u sorguda, neyin yap lmas n n istendi i yer al r; bunun nas l yap laca ise yer almaz.

Yap sal Sorgu Dili (SQL)


IBM, deneysel bir ili kisel veritaban ynetim sistemi geli tirmek amac yla System/R adl bir proje ba lat r. Bu sistem iin SEQUEL (Structured English Query Language) ad nda bir sorgu dili geli tirilmeye ba lanm t r. 1979 da tamamlanan bu proje s ras nda geli tirilen dilin ad SQL (Structured Query Language) olarak de i tirilmi tir.

SQL rne i
ngilizce diline ok benzeyen SQL sorgu dilinde olu turulmu bir sorgu a a da yer almaktad r. SELECT ADI, SOYADI, ADRESI FROM PERSONEL WHERE BOLUMNO = 17 AND GOREVI = 'Sekreter; Yukar daki sorgu ile 17 numaral blmde al an sekreterlerin ad, soyad ve adreslerinin bulunmak istendi i kolayca anla lmaktad r.

Sorgu leyicisi
VTYS'nin, sorgular n i lenmesi ile ilgili grevleri gerekle tiren bile enine Sorgu leyici (Query Processor) ad verilir. Sorgu i leyicinin grevleri:
Sorgunun szdizimsel ve anlamsal zmlemesini yapmak. Kullan c n n verilen i lemi yapmaya yetkili olup olmad n denetlemek. Sorguyu i letmek iin kullan labilecek algoritmalar (i letim senaryolar n ) belirlemek ve Query Optimizer alt bile eni yard m yla en iyisini semek. Sorgunun i letimini gerekle tirdikten sonra yan t n olu turup kullan c ya iletmek.

Veri leme Dili (DML)


Veri taban zerinde, veriyi de i tirme, silme ve gncelleme gibi sorgularla ifade edilemeyecek ya da sorgularla ifade edilmesi uygun olmayan i lemler de gerekle tirilir. Bu i lemler iin Veri leme Dili (DML: Data Manipulation Language) olarak adland r lan bir dil kullan l r.

Geni letilmi Programlama Dili


Veri taban zerindeki uygulamalar gerekle tirmek iin geni letilmi bir dil olu turulur. Bu dilde hem veri taban i lemlerini gerekle tiren DML komutlar , hem de di er i lemleri gerekle tiren C, Pascal, Cobol gibi genel amal programlama dillerinden bir ya da birka ile yaz lm ta y c dil komutlar yer al r. Olu turulan geni letilmi dil (DML + ta y c dil) ile haz rlanan uygulama programlar , VTYS'nin bile eni olan geni letilmi derleyicilerle derlenerek saklan r ve gerekti inde al t r larak kullan l r.

Veri Taban Yneticisi


Veri Taban Yneticisi (Database Manager), kullan c isteklerini veri taban zerinde gerekle tiren ve ok kullan c l ortamdaki i letimsel sorunlar zmleyen yaz l mlar btndr. VTYS nin gerekle tirdi i i lemlerin nemli bir blm bu katman taraf ndan gerekle tirilmektedir.

Veri Taban Yneticisi


Veri Taban Yneticisinin birok bile eni vard r. Bunlardan en nemli iki tanesi unlard r: Bellek Yneticisi (Storage Manager)
Ktk Yneticisi (File Manager) Tampon Yneticisi (Buffer Manager)

Hareket Yneticisi (Transaction Manager)

Bellek Yneticisi
Veri Taban Yneticisinin, verilerin ikincil belleklerde saklanmas ile ilgili i levlerini yneten kesimdir. Bir VTYS'nin Bellek Yneticisi olarak, VTYS'nin alt nda al t i letim sisteminin ktk sistemi (file system) kullan labilir. Ancak byk boyutlu veri tabanlar n kurmak ve i letmek iin kullan lan VTYS'ler iin verimlilik ok nemlidir ve gerek ana bellek, gerekse ikincil bellek ynetiminin VTYS taraf ndan gerekle tirilmesinde yarar vard r.

Bellek Yneticisi
Bellek Yneticisi a a daki iki bile enden olu ur: Ktk Yneticisi (File Manager)
Verinin ikincil bellek ktklerinde saklanmas n sa layan ve ana bellek ile ikincil bellek aras nda verinin bloklar halinde aktar lmas n sa layan yaz l mlard r.

Tampon Yneticisi (Buffer Manager)


Ktk yneticisi arac yla ikincil bellekten getirilen veri bloklar n ana bellek sayfalar nda saklayan, ana bellek sayfalar n yneten ve gerekti inde ana bellek sayfalar ndaki veri bloklar n n, ktk yneticisi arac l yla ikincil belleklere yaz lmas n sa layan yaz l md r.

Hareket Yneticisi
Veri Taban Yneticisinin, veri taban yakla m n n stnlklerinden faydalanmas n sa layan kesimidir. Veri taban yakla m n n stnlkleri aras nda:
ok kullan c l ortamda ok e itli kullan c isteklerinin e zamanl gerekle tirilmesi ve bu arada veri taban ve uygulama tutarl l klar n n korunmas , Veri taban zerinde yap lan i lemlerin yaz l m, donan m ya da g kayna ile ilgili bozukluklar nedeniyle yitirilmemesi

gibi zellikler bulunmaktad r.

Hareket Yneticisi
Hareket Yneticisinde belirtilen hareket, bir btn olu turan ve tutarl l k a s ndan veri taban zerinde birlikte gerekle tirilmesi gereken i lemler btndr. Tutarl l k a s ndan, bir hareketi olu turan i lemlerin ya tmnn gerekle tirilmesi, ya da hibirinin gerekle tirilmemesi gerekir. Bu zelli e hareketin ACID (Atomicity, Consitency, Isolation, Durability) zelli i ad verilir.

Hareket Yneticisi
Di er taraftan, veriler zerinde de i ikli e neden olan (veri ekleyen, silen ya da verileri gncelleyen) hareketler birlikte i letildi inde, henz tamamlanmam (ve belki de tamamlanmayarak geriye al nacak) bir hareket taraf ndan gerekle tirilen de i iklik i lemleriyle olu turulan veri de erlerinin di er hareketler taraf ndan grlmemesi gerekir.

Hareket Yneticisi
Hareket yneticisi, hem hareketlerin ACID zelli inin bozulmamas n hem de birlikte (e zamanl ) i letilmelerini sa lar. Bunu gerekle tirmek iin de kilitleme (locking), gnlk tutma (logging) ve hareket tamamlama (transaction commitment) gibi teknikleri kullan r

You might also like