You are on page 1of 53

VER TABANI YNETM

Ders 2: Veri Modelleri

Yrd. Do. Dr. Altan MESUT


Trakya niversitesi Bilgisayar Mhendislii

Veri Modeli
Verileri mantksal dzeyde dzenlemek iin kullanlan yaplar, kavramlar ve ilemler topluluuna veri modeli (data model) denir. Her VTYS belirli bir veri modelini kullanr. Bir VTYS'yi kullanarak oluturulacak her veri tabannda yer alacak veriler ve veriler aras ilikiler, mantksal dzeyde ilgili veri modeline gre dzenlenir; bu veri modeli kullanlarak veri tabannn kavramsal ve d emalar oluturulur.

Veri Modelleri
Bugne kadar gelitirilmi olan ok sayda veri modeli vardr. Ancak gemite ve gnmzde yaygn kullanlan veri modellerini 4 grupta toplamak mmkndr:
Sradzensel Veri Modeli (Hierarchical Data Model) A Veri Modeli (Network Data Model) likisel Veri Modeli (Relational Data Model) Nesneye-Ynelik Veri Modeli (Object-oriented Data Model)

Yukardaki sralama ayn zamanda kronolojik bir sralamadr.

Veri Modelleri : Tarihe


Sradzensel (Hiyerarik) Veri Modeli en eski model olup 60 ve 70'li yllarda ok kullanlmtr. 1969da ortaya kan A Veri Modeli 1970li yllarda ve 1980li yllarn ilk yarsnda kullanlmtr. likisel veri modeli de ilk kez 1969 ylnda ortaya atlm, 1970li yllarn sonunda kullanlmaya balanm ve 1985 ylndan sonra yaygnlam bir yaklamdr. 1990l yllarda yaygn kullanlan VTYS'lerin hemen hemen tmnn ilikisel tabanl olduu sylenebilir.

Veri Modelleri : Tarihe


Nesneye-ynelik veri modeli yaklam ise on yl akn sredir gndemde olan, gnmzde ok yaygn kullanlmasa bile, kullanm giderek yaygnlaan bir yaklamdr. Gemie baktmzda, ilikisel yaklamn kullanlmaya balanmas ile sradzensel ve a yaklamlarnn terk edildii grlmektedir. Buna karlk nesneye-ynelik yaklamn kullanlmaya balanmas ile ilikisel yaklam terk edilmemitir. Gnmzde hem ilikisel hem de nesneye-ynelik yaklam birlikte kullanan VTYS'lerinin yaygnlat grlmektedir (ORDBMS).

Sradzensel (Hiyerarik) Model


1960lar ve 1970ler
Aa veri yapsna benzer. Her kaydn bir ebeveyn kayd, birok ocuk kayd var (IBM IMS: Information Management System).
Kitaplar (no, balk)

Yazarlar (ad, soyad)

Yaynclar

Konular

A Modeli
1970ler
Her kaydn birok ebeveyn ve birok ocuk kayd bulunabilir. (TurboIMAGE, IDMS, RDM Embedded, RDM Server )
Yazarlar

Konular

Kitaplar
Yaynclar

likisel Model
1980ler
Veriler iin kavramsal olarak basit bir model; veriler ve ilikiler tablolar zerinde tanmlanr ve tm bilgiler grlebilecek ekildedir.
pubid 1 2 3 4 pubname Harper Addison Oxford Que
Authorid 1 2 3 4 5 Author name Smith Wynar Jones Duncan Applegate

Book ID 1 2 3 4 5

Title pubid Introductio The history New stuff ab Another title And yet more

2 4 3 2 1

Author id 1 2 3 4 5

Book ID 1 2 3 4 4

Subid 2 1 3 2 3
Subid Subject 1 cataloging 2 history 3 stuff

Nesneye-Ynelik Model
1990lar
Veriler nesne olarak modellenir ve yaratlr. Nesneye-Ynelik Programlama (OOP) da olan snf ve miras kavramlarna sahiptir. Karmak veriler zerinde ilem yaparken yksek performans sunan bir yaklamdr.

Nesneye-Ynelik likisel Model


1990lar
likisel Modelin iyi bilinen zelliklerini Nesne Tabanl zelliklerle birletirir. Bunlar:
Kullanc tanml veri trleri Kullanc tanml fonksiyonlar Kaltm ve alt snflar

Varlk-liki Modeli (E-R Modeli)


Varlk-iliki modeli, ya da ksaca E-R modeli (Entity-Relationship model) 1976 ylnda P.P. Chen tarafndan gelitirilen bir modeldir. Bugne kadar varlk-iliki modeline dayal hibir VTYS gelitirilmemitir. Buna karlk varlk-iliki modeli, VTYS'den bamsz veri zmlemede ve semantik veri modellemede en ok kullanlan modeldir.

Varlk-liki Modeli
Bu model kullanlarak nce;
VTYS'den bamsz olarak veriler zmlenir, veri modellemesi yaplr, veriler ve veriler aras ilikilerin anlamlar ve zellikleri incelenerek E-R izelgeleri oluturulur; kullanlacak VTYS belirlenir

sonra da E-R izelgeleri bu sistemin veri modeline dntrlerek veri taban emalar oluturulur.

Varlk ve Varlk Kmesi


Var olan ve benzerlerinden ayrt edilebilen her nesneye varlk (entity) denir.
Bir renci, veri taban dersi, belirli bir kitap, Burak birer varlk olarak deerlendirilir.

Ayn trden benzer varlklarn oluturduu kmeye ise varlk kmesi (entity set) ad verilir.Varlk kmeleri i ie, kesien ya da ayrk kmeler olabilir.
renciler, kz renciler, Bilgisayar Mhendislii Blm rencileri, yurtta kalan renciler, renkler, dersler, yllar, tarihler, sat miktarlar,... vb. varlk kmesi rnekleri olarak saylabilir.

Nitelik
Bir varlk kmesindeki varlklarn zelliklerini gstermek ve varlklar birbirinden ayrt etmek iin nitelikler (attributes) kullanlr. Gerek dnyada varlk kmelerinin ok sayda nitelikleri olabilir, ancak veri modellemede, gerek dnyann soyut bir modeli oluturulduu iin, bu niteliklerin yalnz kk bir ksm, uygulamalar iin gerekli olanlar (rn. Sicil no, Ad, Soyad, Adres, vb) seilerek kullanlr.

Etki Alan (Deer Alan)


Her niteliin bir etki alan (domain) vardr. Etki alan ilgili niteliin olabilecek deerlerinin tmn ieren bir kmedir.
Ad ve Soyad Burak zkan Begm zkan Dilay Dondurmac Nitelik

Etki Alan

Tretilen Nitelik
Bir nitelik kullanlarak bir baka varlk nitelii elde edilebiliyorsa, bu yeni nitelie tretilen nitelik ad verilir. rnein, personel varlnn doum tarihi niteliinden yararlanlarak ya nitelii elde edilebilir. Bu rnekte ya nitelii tretilen niteliktir, tasarmda ayrca tanmlanmasna gerek yoktur.

Birleik Nitelik
Birden fazla nitelik birletirilerek yeni bir nitelik oluturulabilir. Bu tr niteliklere birleik nitelik ad verilir. rnein, mahalle, cadde, sokak, apartman, posta kodu ve ehir gibi nitelikler birletirilerek adres isimli yeni bir nitelik oluturulabilir.

liki
Varlklar arasndaki bantya iliki ad verilir. kili iliki:
bir renci ile bir ders bir firma ile bir malzeme

l iliki:
Bir ii, bir rn ve bir makine (ii bu rn retirken bu makineyi kulland iin)

liki Kmesi
Ayn trdeki ilikilerin oluturduu kmeye iliki kmesi denir. Matematiksel olarak E1, E2, E3, ..., En varlk kmeleri arasndaki bir R ilikisi aadaki gibi tanmlanr: R = {(e1, e2, e3, ..., en ) :

e1 E1, e2 E2, e3 E3, ..., en En }

liki Kmesi : rnek


Aadaki iki varlk kmesini gz nne alalm:
E1 = { Ali, Aye } E2 = { Matematik, Fizik }

Bu varlk kmeleri iin renci ve ald ders ilikileri aadaki gibi ifade edilebilir:
R1 = { (Ali, Matematik) } R3 = { (Aye, Matematik) } R2 = { (Ali, Fizik) } R4= { (Aye, Fizik) }

liki Kmesi : rnek


Aada ekilde renci ve ders varlk kmeleri ile bu iki varlk kmesi arasndaki ald iliki kmesi grlmektedir.

oklu liki Kmesi


liki kmeleri ikili, l, drtl, .. vb. olabilir. Ancak genellikle ikili iliki kmeleri tercih edilir. l, drtl, ..vb. iliki kmesi yerine, istenirse birka ikili iliki kmesi kullanlabilir. rnein;
renci, ders ve retmen varlk kmeleri arasndaki l iliki yerine 2 ya da 3 ikili iliki kullanlabilir. Ali, Mehmet Hocann anlatt Fizik dersini alyor yerine Ali Fizik dersini alyor ve Mehmet Hoca Fizik dersini anlatyor kullanlabilir.

Ayn Varlk Kmesi ile liki


Aralarnda iliki tanmlanan varlk kmelerinden ikisi ya da daha ou ayn varlk kmesi de olabilir.
Annelik Vatanda
Ali Aye Fatma Mustafa Kemal Nuri

Evlilik

Rol
Aralarnda iliki kurulan varlklardan her birinin ilikideki ilevine varln rol denir. Farkl varlk kmeleri arasndaki ilikilerde roller dolayl yoldan anlalabildii iin ounlukla aka belirtilmez
rnein, renci ve ders arasnda kurulan ald ilikisinde varlklarn rolleri bellidir: renci dersi alan, ders ise renci tarafndan alnandr.

Rol
Oysa kii1 ve kii2 arasnda kurulan evlilik ilikisinde kiilerden hangisinin erkek hangisinin kadn olduunun belirtilmesi gerekebilir (baz isimler hem erkek hem kadnlar tarafndan kullanld iin). Benzer biimde bir kurumda alan personel1 ve personel2 arasnda kurulan ynetici ilikisinde hangi personelin rolnn ynetici (st), hangi personelin rolnn ise ynetilen (ast) olduunun belirtilmesine gerek vardr.

Rol : rnek
likilerdeki roller belirlenirken, baka niteliklere de bakmak gerekebilir.
rnein Personel varlnda ast-st ilikisini belirlemek iin Grevi nitelii dnda Blm niteliine de bakmak gerekebilir.
Personel varl:
Ad
Burak Begm Dilay

Blm
Muhasebe Muhasebe Muhasebe

Grevi
i Ynetici i

Selin
Sezin

Sat
Sat

Ynetici
i

Ynetici (st, ast) ilikileri:


(Begm, Burak) (Begm, Dilay) (Selin, Sezin)

liki Kmelerinin Snrlandrlmas


liki kmeleri ile ilgili olarak bir dizi snrlama tanmlanabilir. Bu snrlamalarn en nemlileri, aralarnda iliki kurulan varlk kmeleri arasndaki elemelerle ilgili saysal snrlamalardr. Bu tr saysal snrlamalar zellikle ikili iliki kmeleri iin ok nemlidir.

liki Trleri
A ve B varlk kmeleri arasnda tanmlanan (A ve B varlk kmeleri ayn da olabilir), A'dan B'ye bir iliki kmesi, eleme snrlamalar asndan aadaki drt trden birinde olabilir.
Birden-bire (one-to-one) Birden-oa (one-to-many) oktan-bire (many-to-one) oktan-oa (many-to-many)

liki Trleri : Birden-bire (1-1)


Her a ile en ok bir b ve her b ile de en ok bir a arasnda iliki kurulabilir (aA, bB). rnek: Evlilik ilikisi T.C. Medeni Kanununa gre birden-biredir.
Kadn Aye Fatma Buket Selin Sezin Evlilik Erkek Ali Ahmet Mustafa Cemal Veli

liki Trleri : Birden-oa (1-n)


Her a ile sfr, bir veya birok b ve her b ile de en ok bir a arasnda iliki kurulabilir. rnek: Blm ve renci varlk kmeleri arasndaki Okuyan ilikisi, blmden renciye doru birden-oa eklindedir.
Blm Okuyan renci Ali Ahmet Mustafa Cemal Veli

Mimarlk Mak. Mh. Bilg. Mh.

liki Trleri : oktan-bire (n-1)


Her a ile en ok bir b ve her b ile de sfr, bir veya birok a arasnda iliki kurulabilir. rnek: renci ve Blm varlk kmeleri arasndaki Okuduu ilikisi, renciden blme doru oktan-bire eklindedir.
renci Aye Fatma Kemal Sabri Ali Okuduu Blm

Tarih Arkeoloji Zooloji

liki Trleri : oktan-oa (n-m)


Her a ile sfr, bir veya birok b ve her b ile de sfr, bir veya birok a arasnda iliki kurulabilir. rnek: renci ve Ders varlk kmeleri arasndaki Ald ilikisi, oktan-oa eklinde bir ilikidir.
renci Ald Ders

Aye Ali

Fizik Matematik Kimya

liki Trn Belirlerken


Yaplan modellemenin gerek dnyaya uygunluunu salamas iin tanmlanan iliki kmesinin trnn doru belirlenmesi nemlidir. liki kmelerinin tr evrensel ve deimez deildir. Gerek dnya kurallarnn bir yansmas olarak bir ilikinin tr bir kurumdan dierine deiebilir. likinin trnn ayn kurum iinde zamanla deimesi de olasdr.

Tr Seimi iin rnek


Depo ve Malzeme varlk kmeleri arasndaki Bulunan ilikisi genelde oktanoa bir ilikidir. Ancak eer malzemeler snflandrlm ve her snftaki malzemeler yalnz bir depoda bulunuyorsa bu iliki depodan malzemeye bire-birok eklinde olacaktr.

Varolma Bamll
b varlnn bulunmas a varlnn bulunmasna bal ise, yani:
A ve B varlk kmeleri arasnda birden-bire, ya da A'dan B'ye birden-oa bir R ilikisi varsa VE bir b'nin varolmas bu b ile bir a arasnda r ilikisinin kurulmu olmasna bal ise (r ilikisi yznden bir a'ya bal olmayan b'ler var olamyorsa)

b a'ya varolma bamldr denir.

Varolma Bamll
Bu durumda;
a baskn (dominant) ya da birincil varlk, b baml (subordinate) ya da ikincil varlk olarak nitelenir. ve ann silinmesi durumunda bnin bir anlam kalmayacaktr.

Varolma Bamll iin rnek


Eer ilgili retim kurumunda blm belli olmayan renci bulunamaz kural geerli ise, yani her renci mutlaka bir blmn rencisi olmak zorunda ise, renci ve blm varlk kmeleri arasnda varolma bamll vardr. Bu durumda blm stn (dominant) varlk, renci ise baml (subordinate) varlktr. lgili retim kurumunda bir rencinin varolmas ancak bir blmn rencisi olmas ile mmkndr.

Anahtarlar
Bir varlk kmesi iindeki varlklar ya da bir iliki kmesi iindeki ilikileri birbirinden ayrt etmek iin kullanlan nitelik ya da nitelik grubuna bu varlk ya da iliki kmesinin anahtar denir. Anahtar, hem varlk kmeleri hem de iliki kmeleri iin geerli bir kavram olsa da, daha ok varlk kmeleri iin kullanlr.

Anahtar Trleri
Sper anahtar (superkey)
Derleri ile bir kmedeki varlklar (veya ilikileri) ayrt etmeyi salayan nitelie (veya nitelik grubuna) bu varlk / iliki kmesinin sper anahtar denir. Ayrt etme zelliine sahip olmak iin gereinden fazla nitelik ierebilir.

Aday anahtar (candidate key)


Eer bir varlk / iliki kmesinin sper anahtarnn bir altkmesi de bu varlk / iliki kmesini ayrt edebiliyorsa, bu altkme aday anahtardr (ya da ksaca anahtardr).

Anahtar Trleri iin rnek


Eer bir niversitede tm rencilerin numaralar birbirinden farkl ise, rencileri ayrt etmek iin renci numaras yeterlidir. Bu durumda renci numaras, renci varlk kmesi iin aday anahtar ya da ksaca anahtardr, iinde renci numaras bulunan her nitelik grubu (rnein renci numaras, ad ve soyad) ise bu varlk kmesinin sper anahtardr.

Gl & Zayf Varlk Kmeleri


Her varlk kmesi iin bir anahtar bulmak mmkn olmayabilir. Eer bir varlk kmesinin niteliklerinden en az bir anahtar oluturulabiliyorsa, bu varlk kmesine gl (strong) varlk kmesi denir. Eer bir varlk kmesinin niteliklerinin tm alnsa bile bir anahtar oluturmuyorsa bu varlk kmesine zayf (weak) varlk kmesi denir.

Zayf Varl Glendirmek


Zayf bir varlk kmesinde, niteliklerin deerleri ile varlklar birbirinden ayrdetmek mmkn deildir. Zayf bir varlk kmesinin anlaml olabilmesi iin u zelliklere sahip olmas gerekir:
Bu varlk kmesi ile gl bir varlk kmesi arasnda birden-bire ya da (glden-zayfa) birden-oa bir iliki bulunmaldr. Zayf varlklar iin bu ilikinin var olma bamll oluturmaldr. Zayf varlk kmesinin nitelikleri arasnda, ayn gl varla bal zayf varlklar birbirinden ayrt etmeyi salayan bir nitelik grubu (discriminator) bulunmaldr.

Bylece zayf bir varln anahtar, bal olduu stn varln anahtarna ayrc nitelikler eklenerek elde edilir.

Zayf Varl Glendirme rnei


Trkiye'deki tm lise rencilerinin bilgilerini ieren RENC varlk kmesi zayf bir varlk kmesidir. nk farkl liselerde renci numaras, ad ve soyad ayn olan renciler bulunabilir. RENC varlk kmesi ile LSE varlk kmesi arasnda bir OKUYAN ilikisi kurulursa, rencileri birbirinden ayrdetmek iin kullanlan R_NO niteliine, LSE varlk kmesinin anahtar olan LSE_KODU eklenir. Bu durumda RENC varlk kmesinin anahtar (LSE_KODU, R_NO) ikilisi olur.

Varlk-liki izelgeleri
Varlk Kmesi Nitelik

Zayf Varlk Kmesi

Anahtar Nitelik

liki Kmesi

Baml Varlk Kmesi

Tretilen Nitelik

Varlk Kmesi ve Nitelik rnekleri


Ad Soyad Ya

renci No

renci

D. Tarihi

Ders Ad

erii

Ders Kodu

Ders

Kredisi

liki Kmesi rnekleri


1 1

Erkek

Evlilik

Kadn

Blm

Okuyan

renci

renci

Ald

Ders

Rol rnekleri
Blm

Sicil No Ad Soyad

Personel
n

st

Ynetici
ast

Grevi

likilerde Nitelik
likilerde de tanmlayc nitelikler bulunabilir. Aadaki Miktar nitelii Satt ilikisi iin tanmlayc niteliktir.
Maz. No Maz. Ad Mal Kodu Mal Ad

Maaza

Satt

Mal

Miktar

Varlk, liki ve Nitelik seimleri


Varlk-iliki modelinin sunduu 3 temel kavram: varlk kmesi, nitelik, iliki kmesi kavramlardr. Gerek dnyay soyutlayarak semantik modelleme yapmak iin kullanlabilen bu kavram birbirinden kesin izgilerle ayrlmamaktadr. Varlk kmesi ile nitelik, ya da varlk kmesi ile iliki kmeleri birbirinin yerine kullanlabilir; ayn konuda deiik dzenlemeler yaplabilir.

rnek : Telefon Numaras (1)


telefon numaras kii varlk kmesinin bir nitelii olarak dnlrse;
telefon numaras kiilerden bamsz olarak varolamaz. bir kiinin sadece bir telefon numaras bulunabilir. birden ok kiinin telefon numaras ayn olabilir (telefon numaras kii varlk kmesinin anahtarlarndan biri olarak tanmlanmad srece).
Kii Tel No

rnek : Telefon Numaras (2)


telefon numaras ayr bir varlk kmesi olarak dnlp, bu varlk kmesi ile kii varlk kmesi arasnda iliki kurulursa;
telefonun numaras dnda nitelikleri de bulunabilir. kii ve telefon varlk kmeleri arasndaki ilikinin trne gre her kiinin bir ya da birok telefonu olabilir. bir telefon numaras bir ya da birok kiiye verilebilir.
Kii
Sahip Olduu

Tel No

rnek : Banka Hesab


"Banka hesab" banka ubesi ve mteri varlk kmeleri arasnda bir iliki olarak dnlebilir.
Banka ubesi
Banka Hesab

Mteri

Banka hesab ayr bir varlk kmesi olarak dnlp bu varlk kmesi ile banka ubesi ve mteri varlk kmeleri arasnda birer iliki de kurulabilir.
Banka ubesi
Yatrm

Banka Hesab

Mteri

Vadeli

Banka Hesab

Seerken Dikkat !
Veri modellemede varlk kmelerinin, niteliklerin ve iliki kmelerinin seimi ok nemlidir, Ancak bunlarn nasl seileceine ilikin kesin kurallar da yoktur. Kuruluun ncelikleri ve uygulamalarn zellikleri yannda veri modellemeyi gerekletiren biliim teknik personelinin anlay da dzenlemede etkili olmaktadr.

You might also like