You are on page 1of 46

VER TABANI YNETM

Ders 3: Genelleme, Kmeleme ve likisel Model

Yrd. Do. Dr. Altan MESUT


Trakya niversitesi Bilgisayar Mhendislii

GENELLEME (Generalization)
Varlk kmeleri arasnda zel ilikiler bulunabilir, bunlarn en nemlisi ait olma ilikisidir. Alt dzey varlk kmeleri genellenerek bir st dzey varlk kmesi oluturulabilir.

Genelleme rnei
VSZ-HES (vadesiz hesap) ile VL-HES (vadeli hesap) kmeleri genellenerek BANKA-HES (banka hesap) varlk kmesi oluturulabilir.

Genelleme rnei
VSZ-HES ile BANKA-HES varlk kmeleri arasndaki iliki zel ilikidir (ait olma ilikisi). Her VSZ-HES bir BANKA-HESdir biiminde ifade edilebilecek bu ilikiye ISA (is-a) ilikisi ad verilir.

Genelleme rnei
ISA ilikisi st dzey bir varlk tr ile bunun alt trleri arasnda kurulan zel bir ilikidir. ISA ilikisinde st dzey varln nitelikleri kaltm yoluyla alt dzey varlk trlerine geer.

KMELEME (Aggregation)
Varlk-iliki modelinde veri modellemeyi kolaylatran kavramlardan biri de kmeleme kavramdr. Bilindii gibi iliki kmeleri iki ya da daha ok saydaki varlk kmesi arasnda kurulur. kiden ok sayda varlk kmesi arasnda kurulan ilikiler, ounlukla, hem semantik adan hem de iletimsel adan uygun zmler oluturmazlar.

Kmeleme rnei
ALIAN, PROJE ve MAKNE varlk kmeleri arasndaki l PM ilikisini dnelim.

_No

Ad

Soyad

K_Sre

P_No

P_Ad

P_Bte

ALIAN

PM

PROJE

MAKNE

M_No

M_Ad

M_Tr

Yeri

Kmeleme rnei
PM iliki kmesindeki *,p,m+ ls alan 'nin p projesinde altn ve bu proje iin m makinesini kullandn gsterecektir. Bu iliki hangi alann hangi projelerde altn ve hangi alann hangi proje iin hangi retim makinesini ne kadar sre kullandn gsterecektir.
_No Ad Soyad K_Sre P_No P_Ad P_Bte

ALIAN

PM

PROJE

MAKNE

M_No

M_Ad

M_Tr

Yeri

Kmeleme rnei
Bu ilikinin uygun bir dzenleme olmad grlmektedir. Nedenleri:
alanlar ile projeler arasndaki grevlendirme bilgisi makine kullanmndan bamsz yaplamamaktadr. Bir alann bir projedeki grevlendirme bilgisi, kullanlan makine says kadar tekrarlanmaktadr.
_No Ad Soyad K_Sre P_No P_Ad P_Bte

ALIAN

PM

PROJE

MAKNE

M_No

M_Ad

M_Tr

Yeri

Kmeleme rnei
Bu l iliki hem gereksiz tekrarlar ierir, hem de istenmeyen durumlara yol aabilir. Bu nedenle bu l iliki yerine iki tane ikili iliki kullanmak daha uygun bir zmdr.
_No Ad Soyad K_Sre P_No P_Ad P_Bte

ALIAN

PM

PROJE

MAKNE

M_No

M_Ad

M_Tr

Yeri

Kmeleme rnei

n _No Ad Soyad

ALITII K_Sre n

m P_No P_Ad P_Bte

ALIAN

PM KULLANDII MAKNE

PROJE

M_No

M_Ad

M_Tr m

Yeri

Kmeleme rnei
Daha nce yaplan tanma gre ikili iliki iki varlk kmesi arasnda kurulur. Kmeleme kavram varlk kmeleri ve aralarndaki ilikinin kmelenmesini ve bu kmenin bir varlk kmesi gibi dnlmesini salar.
_No Ad Soyad P_No P_Ad P_Bte

ALIAN

ALITII n

PROJE

Kme KULLANDII m MAKNE K_Sre

M_No

M_Ad

M_Tr

Yeri

Kmeleme rnei
Bylece ALIAN ve PROJE varlk kmeleri ile aralarndaki ALITII ilikisi kmelenir; KULLANDII ilikisi ise bu kme ile MAKNE varlk kmesi arasnda kurulur.
_No Ad Soyad P_No P_Ad P_Bte

ALIAN

ALITII n

PROJE

Kme KULLANDII m MAKNE K_Sre

M_No

M_Ad

M_Tr m

Yeri

Kmeleme rnei
Kmeleme kavram, ikili bir ilikinin iki varlk kmesi arasnda olduu gibi bir varlk kmesi ile bir iliki kmesi, ya da iki iliki kmesi arasnda kurulmasn olanakl klar. Not: Varlk-iliki izeneklerinde, izimin karmaklamamas iin, genellikle kmelemeyi gsteren kesikli dikdrtgenlere yer verilmez.

Varlk-liki Modeli rnei


Bir elektronik firmas rettii rnler, kulland bileenler ve her rn iin hangi bileenlerin hangi miktarlarda kullanldn gsteren bir rn-Bileen Veri Taban oluturmak istiyor:
1. Veri tabannda her bileenin kodu, ad, tantc aklamas, stok miktar ile hangi satcdan satn alnd verilerinin bulunmas isteniyor. 2. Her satcnn numaras, ad, adresi ve telefon numarasnn veri tabannda yer almas isteniyor. 3. Her bileen tek bir satcdan satn alnyor; ancak ayn satcdan birden ok bileen alnabiliyor. 4. Her rnn kodu, ad, birim fiyat ve stok miktar gerekiyor. 5. Bu rnn retilmesi iin hangi bileenlerden kaar adet gerekli olduu nem tayor. 6. Her rn bileenlere varolma bamldr.

zm 1
Veri tabannda her bileenin kodu, ad, tantc aklamas, stok miktar ile hangi satcdan satn alnd verilerinin bulunmas isteniyor.

Satc_Kodu
Satc varlndan elde edilecei iin yazlmayabilirdi.

Kodu

BLEEN

Ad

Miktar

Aklama

zm 2
Her satcnn numaras, ad, adresi ve telefon numarasnn veri tabannda yer almas isteniyor.
Ad Kodu

SATICI

Adresi

Telefon_No

zm 3
Her bileen tek bir satcdan satn alnyor; ancak ayn satcdan birden ok bileen alnabiliyor.
Kodu Ad BLEEN Miktar Aklama Adresi Telefon_No
n
Satn Alma

Ad

Kodu

SATICI

zm 4
Her rnn kodu, ad, birim fiyat ve stok miktar gerekiyor.

Ad

Kodu

RN

Stok_Miktar

Birim_Fiyat

zm 5
Bu rnn retilmesi iin hangi bileenlerden kaar adet gerekli olduu nem tayor.

Adet
n
m

BLEEN

retim

RN

Bil_Kod

rn_Kod

zm 6
Her rn bileenlere varolma bamldr.
Bu durumda BLEEN stn (dominant) varlk, RN ise baml (subordinate) varlktr.
Adet Kodu Ad

Kodu Ad
BLEEN Miktar Aklama
n

retim

RN

Birim_Fiyat

Stok_Miktar

zmn Tamam
Ad Kodu

Telefon_No Tarih

SATICI
1

Adresi Adet

Satn Alma

Adet

Kodu

Ad

Ad

BLEEN

retim

RN

Miktar

Aklama

Kodu

Birim_Fiyat

Stok_Miktar

Alternatif Gsterimler

LKSEL VER MODEL


likisel veri modelinin temelindeki dnceyi, bu modeli ilk kez gelitiren E. F. Coddun bir makalesinde yazd u cmleler ok gzel ifade etmektedir.
Bilgisayar bandaki rastgele kullanc ounlukla tablolarn yazlmasn ya da gsterilmesini ister. Tablodan daha yaln, daha evrensel, daha ok gereksinim duyulan ve daha kolay anlalan veri yaps ne olabilir? Niin bu tr kullanclarn veri tabanndaki tm veri ve ilikileri tablolar biiminde grmesine izin verilmesin?

liki Kavram
liki (relation) kavram bu modelde matematiksel bir kavramdr. Daha nce grdmz Varlk-liki modelindeki iliki ile kartrlmamaldr. Aslnda bu modeldeki iliki, Varlk-liki modelindeki hem varlklarn hem de ilikilerin yerini tutar.

Temel liki Yaps


Matematiksel iliki kavram aadaki gibi tanmlanr:
Her biri birer deerler kmesi olan D1, D2, ... , Dk alanlar (domains) gz nne alnsn. Bu alanlarn kartezyen arpm D1 x D2 x ... x Dk ile gsterilir ve 1. eleman D1 alanndan, 2. eleman D2 alanndan, .. , k. eleman ise Dk alanndan alnan *d1, d2, ... , dk+ k-oklular kmesidir. Bu k alan zerinde tanmlanan her r ilikisi, bu alanlarn kartezyen arpmnn bir altkmesidir: r D1 x D2 x ... x Dk

Tablolar ile Gsterim


Her liki iki boyutlu bir tablo olarak gsterilir. Tablonun her stununa bir nitelik atanr. Tablonun her satr ise bir kayd gsterir.
1. eleman 1. niteliin deer alanndan, 2. eleman 2. niteliin deer alanndan, .. , k. eleman ise k. niteliin deer alanndan alnan ve k deerden oluan bir oklu deerler topluluu kayt olarak adlandrlr.

Tablolar ile Gsterim


Tablo, niteliklerin deer alanlarnn kartezyen arpmnn bir altkmesidir. Bu tanma gre tablo matematiksel anlamda bir ilikidir. likisel model, temel yap olarak, matematiksel bir yap olan iliki yapsn kullanr. Bylece modeli salam bir matematiksel temele oturtarak gerek tasarm kriterlerinde, gerekse kullanc dillerinde bu kuramdan yararlanr.

Tablolar ile Gsterim


Matematiksel iliki yaps, zde hibir deiiklik yapmadan, kullancnn alk olduu ve grsel bir yap olan tablo yaps olarak sunulur. Buna gre ilikisel veri modeli asndan iliki ve tablo terimleri eanlamldr. Bilimsel kesimde daha ok iliki terimi kullanlrken, kullanclar arasnda daha ok tablo terimi kullanlmaktadr. Her ilikinin (tablonun) tekil bir ad vardr.

Tablolar ile Gsterim


liki emas, ilikinin ad ile niteliklerini gsteren R(A1, A2, ...., Ak) biimindeki bir tanmdr. R iliki emasna gre gerekleen her r ilikisi, yukardaki tanma uygun olarak olumu k-oklular kmesi ya da bir tablodur. Veri taban ilikisi ile matematiksel iliki arasndaki balca fark, veri taban ilikisinin kullanld ortama ve zamana gre deimesine karn matematiksel ilikinin evrensel olmas, ortama ve zamana gre deimemesidir.

rnek
D1 = {a, b, c} D2 ={1, 2, 3} D3 = {x, y} olsun. Bu alann kartezyen arpm 3x3x2 = 18 adet 3-okludan oluan bir kmedir.
D1 x D2 x D3 = { [a,1,x], [a,2,x], [a,3,x], [a,1,y], [a,2,y], [a,3,y], [b,1,x], [b,2,x], [b,3,x], [b,1,y], [b,2,y], [b,3,y], [c,1,x], [c,2,x], [c,3,x], [c,1,y], [c,2,y], [c,3,y] }

rnek
Eer A, B, C niteliklerinin deer alan srasyla D1, D2 ve D3 ise, bu deer alan zerinde tanml, emas R(A, B, C) olan bir r ilikisi rnein aadaki gibi olabilir.
r = {[a,2,x], [a,2,y], [a,3,y], [b,1,x], [c,1,y], [c,3,x]}

rnek
rnek olan r ilikisi 3 kolon, 6 satrl bir tablo olarak grlebilir. likinin nitelikleri tablonun kolonlarna kar gelir ve kolon balklarna niteliklerin adlar yazlr. likinin oklular (kaytlar) ise tablonun satrlarna kar gelir.
Nitelik simleri A a a Deer Alanlar (Kaytlar) a b c c B 2 2 3 1 1 3 C x y y x y x

likinin (tablonun) zellikleri


1. Satrlarn (kaytlarn) sras nemsizdir. 2. Tm satrlarn birbirinden farkl olmas gerekir (iliki bir satrlar kmesi olduuna gre ayn satr ilikide birden ok kez yer alamaz). 3. Tm satrlar birbirinden farkl olduuna gre ilikinin en az bir anahtar (anahtar aday) vardr. En kt olaslkla, tm niteliklerin birleimi anahtar oluturur. 4. likinin her stunu bir nitelie kar geldiine ve stun balnda niteliin ad yer aldna gre, stunlarn sras da nemsizdir.

likinin (tablonun) zellikleri


5. Bir stnda yer alan tm deerler, belirli bir deer alanndan gelen deerler olup tmnn tr ayndr. 6. Tabloda yer alan her deer bir say, bir ad, bir miktar, bir tutar, bir adres, bir tarih,.. vb gibi yaln deerler olabilir. Tablonun bir esi bir dizi, bir vektr, bir baka tablo ya da karmak bir deer olamaz. Baka bir deyile tablonun nitelikleri yaln ve tek deerli niteliklerdir.

liki Anahtarlar
liki kuramna gre her ilikinin mutlaka bir anahtarnn bulunmas gerekir. Bir ilikinin niteliklerinin bir ya da birka altkmesinin deerleri tm kaytlarda birbirinden farkldr. Bu zellie sahip nitelik altkmelerine ilikinin sper anahtar denir. Sper anahtarlar ilikideki kaytlar (satrlar) tekil belirleme zelliine sahiptir.

liki Anahtarlar
Eer bir sper anahtarda artk nitelik yoksa (sper anahtar oluturan nitelik grubunun hibir z altkmesi ilikinin bir sper anahtar deilse) bu sper anahtara aday anahtar veya iliki anahtar, ya da ksaca anahtar denir. Uygulama asndan nemli olan sper anahtar deil iliki anahtardr.

liki Anahtarlar
liki anahtar hem ilikideki kaytlar tekil belirleme zelliine sahip olan hem de iinde artk nitelik bulunmayan bir nitelik grubudur. En kt koullarda iliki anahtar tm niteliklerden oluur. Her ilikinin anahtarnn ya da anahtarlarnn bilinmesi son derece nemlidir.

Birincil Anahtar
likisel veri tabannda bir tablonun benzer deerler iermeyen (tekil : unique) bir stunu ya da birka stunu birlikte birincil anahtar (primary key - PK) olarak tanmlanabilir. Birincil anahtar bir aday anahtardr ve sz konusu varln kaytlarn en iyi biimde karakterize eden anahtardr. Birincil anahtar tanmlandnda u ekilde bir snrlama konulmu olacaktr:
Birincil anahtar NULL (bo) deerleri veya birbirinin ayn deerleri ieremez.

D Anahtar
Bir d anahtar (foreign key - FK) bir stun veya ok saydaki stunlarn birleiminden oluur. D anahtar ayn tablo ya da baka bir tablodaki bir birincil anahtar ile eletirilir.
PK FK PK

No
25 13 28

Ad
Burak Dilay

BlmNo
10 20

BlmNo BlmAd
10 20 30 Personel Muhasebe Sat

Begm 10

liki emas
likinin ad ile iliki niteliklerinin adlarndan oluan tanm deyimine iliki emas denir. liki emasnn zet gsterimi R(N1, N2, .... , Nk) biimindeki tanmdr (ayrntl iliki emasnda ise niteliklerin deer alanlar, veri trleri, btnlk kstlamalar gibi ileride grlecek tanmlar da yer alr). liki emasnda genellikle, ilgili niteliklerin alt izilerek, iliki anahtar gsterilir.

likisel Veri Taban emas


Eer ilikinin birden ok anahtar varsa bunlardan en ok kullanlan, en anlamls seilir ve iliki emasnda bu anahtar gsterilir. Belirli bir kurulua/konuya ilikin verilerin mantksal dzeyde dzenlenmesini gsteren ve kendi aralarnda anlaml bir btn oluturan iliki emalarnn btnne, ilikisel veri taban emas ad verilir.

liki emas rnei


RENC (RNO, ADI, SOYADI, CNS, DO-TAR, R-BNO) BLM (BNO, BADI, FAKLTE) DERS (DKODU, DADI, KRD, A-BNO) RDERS (RNO, DKODU, DNEM, NOTU)

Veri Taban An
Veri tabanlarnda srekli olarak veri ekleme, silme, gncelleme ilemleri yaplmaktadr. Bu ilemler neticesinde veri taban srekli deiime urar. Veri tabannn herhangi bir andaki durumu ok nemlidir ve buna veri taban an (database instance) ad verilir. VTYSler bu tip ilemler iin her defasnda disk eriimi yapmak yerine, sk kullanlan tablolar RAM zerinde tutarak eriim hzn arttrrlar. Belirli zaman aralklar ile RAMdeki deiimler disk dosyalarna aktarlr.

You might also like