You are on page 1of 36

VER TABANI YNETM

Ders 1: VTYSnin Tanm ve Bileenleri

Yrd. Do. Dr. Altan MESUT


Trakya niversitesi Bilgisayar Mhendislii

Kaynaklar
Veri Taban Sistemleri, nal Yarmaan, Akademi & Trkiye Biliim Vakf (2002) Veri Taban Sistemleri, Yaln zkan, ALFA Yaynlar (2003), 2. Bask (2009) Oracle 11g, Teoman Dinel, Kodlab (2010) SQL Server 2008 R2, Seluk zdemir, Kodlab (2010)

Veri Taban Ynetim Sistemi (VTYS)


Veri taban; belirli bir veri modeli ile saklanan, sistematik eriim imkn olan, ynetilebilir, gncellenebilir, tanabilir, birbirleri arasnda tanml ilikiler bulunabilen bilgiler kmesidir. VTYS; bir veri tabann yaratmak, zerinde istenilen bilgiyi aramak, gerektiinde bilgi eklemek-silmekdeitirmek ve veri taban ile ilgili her trl iletimsel gereksinimleri karlamak iin kullanlan geni kapsaml yazlm sistemidir. VTYS, birbirleri ile ilikili veri ve programlar topluluundan olumaktadr.

Veri Modeli (Data Model)


Veri modeli, verileri mantksal dzeyde dzenlemek iin kullanlan yaplar, kavramlar ve ilemler topluluudur. Her VTYS belirli bir veri modeli kullanr. Veri tabann tasarlayan kii, veri modelinin yaplarn ve kavramlarn kullanarak mantksal dzeydeki dzenlemeleri oluturur. Daha sonra o veri modelini kullanan bir VTYS zerinde bu dzenlemelere gre veri taban yaratlr. Gnmzde en ok kullanlan veri modeli ilikisel veri modeli dir. (Veri modelleri 2. hafta ayrntl olarak aklanacaktr).
4

Veri Taban Mimarisi


Veri taban mimarisi seviyeden oluur:
(Fiziksel) Seviye:
Verilerin nasl saklanaca ve bilgisayar tarafndan nasl ilenecei ile ilgilenen seviyedir. Veri tabannn performans bu seviyenin iyi planlanm olmasna baldr. Bu seviyede kullanlan ISAM, B+ Aalar gibi veri saklama modelleri Dosya Organizasyonu dersinde ayrntl olarak anlatlacaktr.

Kavramsal Seviye:
seviye ile d seviye arasnda iletiimi salayan seviyedir.

D (Alt) Seviye:
Kullanclarn verileri grd yada veri eklemek-silmekdeitirmek iin kulland ekranlar d seviyede yer alr.
5

Neden VTYS?
VTYS yaklamnda veri girii ve depolanmas veriye erien uygulama programlarndan bamszdr. Klasik dosya kullanmnda ise, kayt desenleri ve dosya yaplarnda ortaya kabilecek en ufak bir deiiklik bile uygulama programlarnn deitirilmesine neden olmaktadr.

Veri Taban Sistemlerinin stnlkleri (1)


Gereksiz veri tekrarn nler.
Tm uygulamalarn gereksinim duyduu veriler birbirleri ile btnleik yapdadr. Dolaysyla veri kayna tek olarak tasarlanr, bylece veri tekrar nlenmi olur. rnein, Trkiyedeki il kodlar ve isimleri hem personel alt sisteminde hem de pazarlama alt sisteminde ayr ayr tutulmaz.

Veri Taban Sistemlerinin stnlkleri (2)


Veri btnln (data integrity) salar.
Veri btnl, verinin doruluunu ve tutarlln anlatmaktadr. Veri btnl iin baz kstlamalar tanmlanabilir. rnein, renci bilgileri girilirken doduu il koduna 100 deeri girilirse, yanl bilgi nedeniyle bu istein yerine getirilmemesi istenebilir.

Veri Taban Sistemlerinin stnlkleri (3)


Verilerin gvenliini salar.
Tm verilere her kullancnn kolayca eriebilmesi ou zaman istenmeyen bir durumdur. Her kullancya eitli yetkiler atanarak, bu kullancnn eriebilecei, deitirebilecei ve silebilecei veriler ayr ayr tanmlanabilir. rnein, pazarlama blmnde alan bir kullancnn dier personelin zlk bilgilerine ulamas engellenebilir.

Veri Taban Sistemlerinin stnlkleri (4)


Ayn zamanda yaplan eriimlerde tutarszlklarn ortaya kmasn nler.
ki veya daha fazla kullanc ayn anda ayn veri zerinde deiiklik yapmak istediinde, yetkiye ve/veya kimin nce eritiine bakarak, birine ncelii verir, dierlerini bekletir.

10

Veri Taban Sistemlerinin stnlkleri (5)


Veriler zerinde merkezi denetim salar.
Kullanclar iletim sistemi komutlar ya da genel amal programlama dilleri ile yazlm uygulama programlarn kullanarak dorudan veri tabanndaki verilere eriemezler ve bu verileri deitiremezler. Veri taban kullanm yalnz VTYS (DBMS - Data Base Management System) olarak adlandrlan yazlm sistemi araclyla mmkndr.

11

Veri Taban Sistemlerinin stnlkleri (6)


Veri tabannn bilgisayar belleklerindeki fiziksel yaps kullanclardan gizlenir.
Kullanclara daha yaln mantksal yaplar sunulur. VTYS, bir anlamda yksek dzeyli programlama dili derleyicisi gibi davranarak kullancnn, soyut terimler kullanarak veri tabanyla iliki kurmasn salar. Bylece kullanc, sistem tarafndan kullanlan karmak veri gsterimleri ve algoritmalarn ayrntlaryla uramadan, neyin yaplmasn istediini belirterek isteklerini ortaya koyabilir.

12

VTYSnin Temel Bileenleri (1)


Derlenmi VT Tanmlar Veri Tanmlama Dili (DDL) Derleyicisi
Tablo yaratma Form yaratma Sorgu yaratma Rapor yaratma

VT Tanmlar

Veri Tabann Oluturma VT Sorgusu

Veri Taban
Kullanc verileri Metadata Dizinler Uygulama Metadatas

Veri Taban Yneticisi

Sorgu leyicisi (SQL) Geniletilmi Programlama Dili (DML + tayc dil) Derleyicisi
Kayt ekleme Kayt silme Kayt gncelleme

Derlenmi Uygulama Program

Uygulama Program

Veri Tabann Kullanma

13

Veri Tanmlama Dili (VTD)


Veri taban tanmlarn VTYS'ye iletmek iin kullanlan biimsel dile Veri Tanmlama Dili (DDL: Data Definition Language) ad verilir. Veri Tanmlama Dili kullanlarak oluturulan veri taban tanmlar, VTYS'nin Veri Tanmlama Dili Derleyicisi olarak adlandrlabilecek bir bileeni tarafndan zmlenir, varsa eksik ve yanllar bulunarak kullancya iletilir. Yanllardan arnm veri taban tanmlar VTYS tarafndan uygun yaplara dntrlerek saklanr.

14

Veri Tanmlama Dili (VTD)


Veri taban tanmlarnn VTYS tarafndan derlenerek saklanmas veri taban yaklamnn temel zelliklerinden biridir. Bu sre sayesinde, veri taban tanmlarnn yetkili kiiler tarafndan bir kez yaplmas, tanmlarn kalclnn salanmas ve kullanclarn bu tanmlar kullanmalar ve bu tanmlara uygun ilem yapmalar salanm olur. Programlama dili kullanlarak gerekletirilen dosya tabanl uygulamalarda, bilgisayar belleklerinde yalnz veri saklanr. Uygulama programlarnda, veri zerinde yaplacak ilemler yannda verinin tanm da yer alr.
15

Veri Tanmlama Dili (VTD)


Veri taban yaklamnda ise veri tanmlama ile veriler zerindeki uygulama ilemleri birbirinden tamamen ayrlmtr. Veri tanmlama ve daha nce yaplm tanmlar deitirme yetkisi yalnz Veri Taban Sorumlusu (Database Administrator) olarak adlandrlan ve veri tabannn tmnden sorumlu olan kii ya da kiilere aittir. Veri taban zerinde ilem yapan, uygulamalar gerekletiren kullanclarn ise veri tanmlama ya da mevcut tanmlar deitirme yetkisi yoktur.
16

Veri Tanmlama Dili (VTD)


VTD ile yaplan tanmlarda veri taban tanmlar iinde yer alan en nemli tanmlar unlardr:
1. Mantksal dzeyde yaplan dzenlemeler oluturulan yaplar ve her yapda hangi verilerin yer ald. 2. Her verinin tr, uzunluu, varsa varsaylan deeri ve dier zellikleri. 3. Veriler aras ilikiler ve her trl kstlamalar. 4. Fiziksel veri yaplar ile ilgili tercihler ve parametreler. 5. Kullanc tanmlar ve kullanclarn hangi veriler zerinde hangi ilemleri yapmaya yetkili olduklarna ilikin tanmlar.

17

Veri Tanmlama Dili (VTD)


Veri taban tanmlar veri szl (data dictionary) olarak da adlandrlr. VTYSnin fiziksel ortamnda aada belirtilen eitli veriler saklanr:
1. veri dosyalar 2. veri taban tanmlarnn yer ald veri szl 3. veri dosyalarna ya da veri szlne eriim iin kullanlan dizinler (indices) 4. veri deerlerine ve uygulamalara ilikin istatistiksel veriler ve gnlk dosyalar (logfiles)
18

VTYSnin Temel Bileenleri (2)


Derlenmi VT Tanmlar Veri Tanmlama Dili (DDL) Derleyicisi
Tablo yaratma Form yaratma Sorgu yaratma Rapor yaratma

VT Tanmlar

Veri Tabann Oluturma VT Sorgusu

Veri Taban
Kullanc verileri Metadata Dizinler Uygulama Metadatas

Veri Taban Yneticisi

Sorgu leyicisi (SQL) Geniletilmi Programlama Dili (DML + tayc dil) Derleyicisi
Kayt ekleme Kayt silme Kayt gncelleme

Derlenmi Uygulama Program

Uygulama Program

Veri Tabann Kullanma

19

Sorgu Dili ve Sorgu leyicisi


Veri taban uygulamalar iin kullanlan en yaygn ara sorgu dilidir. Kullanc, sorgu dili ile, gerekletirmek istedii ilemi yaln bir biimde ifade eder. Kullancnn oluturduu sorguda, neyin yaplmasnn istendii yer alr; bunun nasl yaplaca ise yer almaz.

20

Yapsal Sorgu Dili (SQL)


IBM, deneysel bir ilikisel veritaban ynetim sistemi gelitirmek amacyla System/R adl bir proje balatr. Bu sistem iin SEQUEL (Structured English Query Language) adnda bir sorgu dili gelitirilmeye balanmtr. 1979 da tamamlanan bu proje srasnda gelitirilen dilin ad SQL (Structured Query Language) olarak deitirilmitir.
21

ORACLE
System/R projesini izleyen bir grup mhendis, ilikisel veritabanndaki potansiyeli grm ve Relational Software, Inc. adnda bir irket kurmulardr (1979) Oracle adn verdikleri ilk ticari ilikisel veri taban ynetim sistemini gelitirmiler ve SQLi bu sistemde sorgu dili olarak kullanmlardr.

22

SQL rnei
ngilizce diline ok benzeyen SQL sorgu dilinde oluturulmu bir sorgu aada yer almaktadr. SELECT ADI, SOYADI, ADRES FROM PERSONEL WHERE BLMNO = 17 AND GREV = 'Sekreter; Yukardaki sorgu ile 17 numaral blmde alan sekreterlerin ad, soyad ve adreslerinin bulunmak istendii kolayca anlalmaktadr.

23

Sorgu leyicisi
VTYS'nin, sorgularn ilenmesi ile ilgili grevleri gerekletiren bileenine Sorgu leyici (Query Processor) ad verilir. Sorgu ileyicinin grevleri:
Sorgunun szdizimsel ve anlamsal zmlemesini yapmak. Kullancnn verilen ilemi yapmaya yetkili olup olmadn denetlemek. Sorguyu iletmek iin kullanlabilecek algoritmalar (iletim senaryolarn) belirlemek ve Query Optimizer alt bileeni yardmyla en iyisini semek. Sorgunun iletimini gerekletirdikten sonra yantn oluturup kullancya iletmek.
24

VTYSnin Temel Bileenleri (3)


Derlenmi VT Tanmlar Veri Tanmlama Dili (DDL) Derleyicisi
Tablo yaratma Form yaratma Sorgu yaratma Rapor yaratma

VT Tanmlar

Veri Tabann Oluturma VT Sorgusu

Veri Taban
Kullanc verileri Metadata Dizinler Uygulama Metadatas

Veri Taban Yneticisi

Sorgu leyicisi (SQL) Geniletilmi Programlama Dili (DML + tayc dil) Derleyicisi
Kayt ekleme Kayt silme Kayt gncelleme

Derlenmi Uygulama Program

Uygulama Program

Veri Tabann Kullanma

25

Veri leme Dili (DML)


Veri taban zerinde, veriyi deitirme, silme ve gncelleme gibi sorgularla ifade edilemeyecek ya da sorgularla ifade edilmesi uygun olmayan ilemler de gerekletirilir. Bu ilemler iin Veri leme Dili (DML: Data Manipulation Language) olarak adlandrlan bir dil kullanlr.

26

Geniletilmi Programlama Dili


Veri taban zerindeki uygulamalar gerekletirmek iin geniletilmi bir dil oluturulur. Bu dilde hem veri taban ilemlerini gerekletiren DML komutlar, hem de dier ilemleri gerekletiren C, Pascal, Cobol gibi genel amal programlama dillerinden bir ya da birka ile yazlm tayc dil komutlar yer alr. Oluturulan geniletilmi dil (DML + tayc dil) ile hazrlanan uygulama programlar, VTYS'nin bileeni olan geniletilmi derleyicilerle derlenerek saklanr ve gerektiinde altrlarak kullanlr.

27

VTYSnin Temel Bileenleri (4)


Derlenmi VT Tanmlar Veri Tanmlama Dili (DDL) Derleyicisi
Tablo yaratma Form yaratma Sorgu yaratma Rapor yaratma

VT Tanmlar

Veri Tabann Oluturma VT Sorgusu

Veri Taban
Kullanc verileri Metadata Dizinler Uygulama Metadatas

Veri Taban Yneticisi

Sorgu leyicisi (SQL) Geniletilmi Programlama Dili (DML + tayc dil) Derleyicisi
Kayt ekleme Kayt silme Kayt gncelleme

Derlenmi Uygulama Program

Uygulama Program

Veri Tabann Kullanma

28

Veri Taban Yneticisi


Veri Taban Yneticisi (Database Manager), kullanc isteklerini veri taban zerinde gerekletiren ve ok kullancl ortamdaki iletimsel sorunlar zmleyen yazlmlar btndr. VTYSnin gerekletirdii ilemlerin nemli bir blm bu katman tarafndan gerekletirilmektedir.
29

Veri Taban Yneticisi


Veri Taban Yneticisinin birok bileeni vardr. Bunlardan en nemli iki tanesi unlardr: Bellek Yneticisi (Storage Manager)
Dosya Yneticisi (File Manager) Tampon Yneticisi (Buffer Manager)

Hareket Yneticisi (Transaction Manager)

30

Bellek Yneticisi
Veri Taban Yneticisinin, verilerin ikincil belleklerde saklanmas ile ilgili ilevlerini yneten kesimdir. Bir VTYS'nin Bellek Yneticisi olarak, VTYS'nin altnda alt iletim sisteminin dosya sistemini kullanlabilir. Ancak byk boyutlu veri tabanlarn kurmak ve iletmek iin kullanlan VTYS'ler iin verimlilik ok nemlidir ve gerek ana bellek, gerekse ikincil bellek ynetiminin VTYS tarafndan gerekletirilmesinde yarar vardr.
31

Bellek Yneticisi
Bellek Yneticisi aadaki iki bileenden oluur: Dosya Yneticisi (File Manager)
Verinin ikincil bellek dosyalarnda saklanmasn salayan ve ana bellek ile ikincil bellek arasnda verinin bloklar halinde aktarlmasn salayan yazlmlardr.

Tampon Yneticisi (Buffer Manager)


Dosya yneticisi aracyla ikincil bellekten getirilen veri bloklarn ana bellek sayfalarnda saklayan, ana bellek sayfalarn yneten ve gerektiinde ana bellek sayfalarndaki veri bloklarnn, dosya yneticisi araclyla ikincil belleklere yazlmasn salayan yazlmdr.

32

Hareket Yneticisi
Veri Taban Yneticisinin, veri taban yaklamnn stnlklerinden faydalanmasn salayan kesimidir. Veri taban yaklamnn stnlkleri arasnda:
ok kullancl ortamda ok eitli kullanc isteklerinin ezamanl gerekletirilmesi ve bu arada veri taban ve uygulama tutarllklarnn korunmas, Veri taban zerinde yaplan ilemlerin yazlm, donanm ya da g kayna ile ilgili bozukluklar nedeniyle yitirilmemesi

gibi zellikler bulunmaktadr.

33

Hareket Yneticisi
Hareket Yneticisinde belirtilen hareket, bir btn oluturan ve tutarllk asndan veri taban zerinde birlikte gerekletirilmesi gereken ilemler btndr. Tutarllk asndan, bir hareketi oluturan ilemlerin ya tmnn gerekletirilmesi, ya da hibirinin gerekletirilmemesi gerekir. Bu zellie hareketin ACID (Atomicity, Consitency, Isolation, Durability) zellii ad verilir.

34

Hareket Yneticisi
Dier taraftan, veriler zerinde deiiklie neden olan (veri ekleyen, silen ya da verileri gncelleyen) hareketler birlikte iletildiinde, henz tamamlanmam (ve belki de tamamlanmayarak geriye alnacak) bir hareket tarafndan gerekletirilen deiiklik ilemleriyle oluturulan veri deerlerinin dier hareketler tarafndan grlmemesi gerekir.

35

Hareket Yneticisi
Hareket yneticisi, hem hareketlerin ACID zelliinin bozulmamasn hem de birlikte (ezamanl) iletilmelerini salar. Bunu gerekletirmek iin de kilitleme (locking), gnlk tutma (logging) ve hareket tamamlama (transaction commitment) gibi teknikleri kullanr (daha sonra aklanacaktr).

36

You might also like