verİ tabani yÖnetİm sİstemlerİ

348
Veri Tabanı Yönetim Sistemleri TBIL-403 AHMET YESEVİ ÜNİVERSİTESİ Uzaktan Eğitim Fakültesi TÜRTEP TBIL-403 VERİ TABANI YÖNETİM SİSTEMLERİ Dr. Yalçın ÖZKAN Veri Tabanı Yönetim Sistemleri TBIL-403 -> Ahmet Yesevi Ünv file:///D|/Belgeler/Universite/Donem_III/Dersler/temp/Kapak_TBIL403.html [24.11.2006 21:26:14]

Upload: ayhaneln3230

Post on 24-Jun-2015

1.341 views

Category:

Documents


9 download

TRANSCRIPT

Veri Taban Ynetim Sistemleri TBIL-403

AHMET YESEV NVERSTES Uzaktan Eitim Fakltesi TRTEP

TBIL-403

VER TABANI YNETM SSTEMLERDr. Yaln ZKAN

Veri Taban Ynetim Sistemleri TBIL-403 -> Ahmet Yesevi nv

file:///D|/Belgeler/Universite/Donem_III/Dersler/temp/Kapak_TBIL403.html [24.11.2006 21:26:14]

Untitled Document

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/kunye.htm [24.11.2006 21:26:14]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01002.htm

Veri taban sistemleri bilgisayar sistemlerinin nemli bir bileeni olarak deerlendirilir. Veri Taban Ynetim Sistemleri (VTYS), birbirleriyle ilikili veri ve programlar topluluundan olumaktadr. Veri topluluu bir "veri taban" olarak deerlendirilir. Veri taban, bir kurulua ilikin bilgilerin yer ald ortamdr. Veri taban sistemleri, veri kmelerinin dzenli biimde tutulduu ve bu verilerin eitli yazlmlar araclyla ynetildii ortamlardr. Bu derste; temel kavramlar ardndan, veri taban tasarmnn esasn oluturan "Varlk-liki modeli" ele alnarak incelenecektir. Ardndan "likisel Model" ele alnacak ve "likisel Veri Taban" tasarm zerinde durulacaktr. Veri Taban Ynetim Sistemlerinin temel sorgulama dili olan SQL, bu ders kapsamnda ayrntl biimde ele alnarak incelenecekir. Bu dilin sorgulama olanaklar ve veri tabann deitirme zellikleri zerinde durulacaktr. Bu dersi tamamlayan renci, veri taban sistemleri zerinde ayrntl bilgi sahibi olacak, SQL sorgulama dilini etkin bir biimde kullanabilecektir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01002.htm [24.11.2006 21:26:15]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01005.htm

TEMEL KAVRAMLARBu blmde,

Klasik Dosya Yaplar, Veri Taban Sistemleri, Veri Taban Sistemlerinin stnlkleri, Veri Modelleri

anlatlmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01005.htm [24.11.2006 21:26:15]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01010.htm

Blm HedefiBu blmde,

Bilgisayardaki dosya kavramn, Temel dosya tiplerini, Veri Taban kavramn, Veri Taban sistemlerinin neden tercih edilmesi gerektiini, Veri modelinin ne olduunu ve Balca veri modellerini

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01010.htm [24.11.2006 21:26:15]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01020.htm

1.1 Klasik Dosya YaplarBilgisayarlarn ilk ortaya ktndan bu yana hem donanm hem de yazlm alannda pek ok deiim ortaya kmtr. Doal olarak bu deiim, kurulularn ve kiilerin gereksinimlerine daha iyi cevap verebilmek amacyla ortaya kmaktadr. Pek ok kuruluta eskiye oranla ok daha fazla veri retildiinden, geleneksel veri saklama ve ileme tekniklerinin yetersiz kald gzlemlenmitir. Veri saklama birimlerinde depolanan veri topluluklarna dosya (file) denir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01020.htm [24.11.2006 21:26:16]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01025.htm

1.1.1 Kayt ve AlanDosyalar kendi iinde kaytlara blnmtr. Bir snftaki renci listesini gz nne alalm. Bu liste ok sayda veri ierebilir. O halde, listenin ana bellekte tutulmas sz konusu olamaz. Ana bellekte tutulduu takdirde, bilgisayarn kapatlmas durumunda bu bilgiler yok olacaktr. O halde bu verilerin kalc bir ortamda, rnein sabit disk zerinde yer almas gerekecektir. Disk zerinde tutulan bu bilgiler, yeni renci eklendiinde byyecek veya karldnda klecektir. Ayrca zaman zaman ierii deiecektir. Bu listedeki her bir renci bilgisi bir mantksal kayt oluturur. Her kayt da farkl bilgiler ierebilir. rnein; rencinin ad, baba ad, doduu yer vb gibi bilgileri ierebilir. Saylan bu bilgilerin herbirine alan (field) adn veriyoruz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01025.htm [24.11.2006 21:26:16]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01030.htm

1.1.2 Sral DosyalarKlasik bilgisayar dosyalar birbirinden bamsz; muhasebe, stok, pazarlama, retim ve dier uygulamalarda kullanlmak zere hazrlanr. Bu dosyalar, sral ya da dorudan eriim yntemleri kullanlarak ilenir. Sral eriimde, dosyann tm kaytlar tek tek taranarak istenilen kaytlara ulalr. Dorudan eriim ynteminde ise, kaytlar tek tek srayla okutulmaz, istenilen kayda dorudan erierek ilenir. Sral dosyalar, bir baka deyile ardk dosyalar, ierdii kaytlara birinci kayttan balamak zere srayla eriim yapmak zere tasarlanm dosyalardr. Bu tr dosyalarn kaytlarna ardk olarak eriilebilmesine karlk, kaytlar fiziksel olarak ardk olmayabilir. Sral dosyalarn herbir kaytna ardk olarak eriilmesi baz durumlarda yararl olmasna ramen, baz uygulamalarda sorunlar yaratr.

rnein; okuldaki tm rencilerin tm listelenecek ise, kaytlara pepee eriim sz konusudur. Bu durumda dosyann sral olarak tasarlanm olmas sorun yaratmaz. Ancak sadece birka rencinin listelenmesi isteniliyorsa, tm rencilerin okunarak bu listenin elde edilmesi uygun bir yntem olmayacaktr. Sz konusu rencilere dorudan eriilmesi en uygun yoldur.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01030.htm [24.11.2006 21:26:16]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01035.htm

1.1.3 ndeksli DosyalarSral dosyalarda tm kaytlar ardarda gelimesi gerkiyordu. Bu soruna zm bulmak amacyla dorudan eriimli dosyalar kullanlr. Bu tr dosyalarda, herbir arama ilemi dosyann bandan itibaren yaplmaz. Belirlenen kaytlara dorudan eriilerek zerinde ilem yaplr. Dorudan eriimli dosyalarn en tannm, indeksli dosyalar olarak bilinir. ndeksli dosyalar veya bir baka deyile indeks sral dosyalar, veri dosyasndan ayr olarak bir indeks dosyasnn oluturulmas ile birlikte hazrlanr. Bir dosya iin oluturulan indeks; sz konusu dosyann anahtarlar ile bu anahtarlarn disk zerinde bulunduu adresi ierir. Anahtar alan, eriimde kulanlmak zere seilen alan olarak deerlendirilir.

rnein; renci dosyasnda, renci numarasn ieren alannn indeks alan olarak tasarlandn varsayalm. Herhangi bir rencinin bilgilerine ulamak sz konusu olduunda; bu numara nce indeks zerinde aranlarak bulunur ve sz konusu kayda ilikin adres bilgisi elde edilerek, bu adrese dorudan eriilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01035.htm [24.11.2006 21:26:17]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01040.htm

1.1.4 Hesaba Dayal DosyalarBir dier dorudan eriimli dosya tr hesaba dayal dosyalar (hashed files) olarak bilinir. Bu tr dosyalar, indeksli dosyalar gibi ayr bir indeksin tutulmasn gerektirmez. Dosyann herhangi bir kaydna dorudan doruya eriebilmek iin bir hesaplama algoritmas kullanr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01040.htm [24.11.2006 21:26:17]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01045.htm

1.2 Veri Taban SistemleriKarmak dosya yaplar ve ok sayda dosya aras iliki ve kullanclarn dosyalara eriimi sz konusu olduunda, geleneksel dosya sisteminin yetersiz kald grlmtr. Bu sorunu zmek zere, veriyi saklama ve veriye eriim konusunda yeni yazlm teknolojilerine ynelme balam ve Veri Taban Ynetim Sistemleri (VTYS) yaklam ortaya kmtr.

Veri Taban Ynetim Sistemleri (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 deimesine ve yeniden derlenmesine neden olmaktadr. Veri taban sistemleri bilgisayar sistemlerinin nemli bir bileeni olarak deerlendirilir. Veri taban ynetim sistemleri (VTYS), birbirleriyle ilikili veri ve programlar topluluundan olumaktadr. Veri topluluu bir veri taban olarak deerlendirilir. Veri taban bir kurulua ilikin bilgilerin yer ald ortamdr. Veri taban sistemleri, veri kmelerinin dzenli bimde tutulduu ve bu verilerin eitli yazlmlar araclyla ynetildii ortamlardr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01045.htm [24.11.2006 21:26:18]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01050.htm

1.3 Veri Taban Sistemlerinin stnlkleriVeri taban kullanm, geleneksel dosya kullanmna gre birok ynden stnlk salamaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01050.htm [24.11.2006 21:26:18]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01055.htm

1.4 Veri ModelleriVeri Taban Ynetim Sistemleri belirli bir veri modeline dayanr. Bir veri taban yapsnn temelini veri modeli kavram oluturmaktadr. Veriyi mantksal dzeyde dzenlemek iin; kullanlan kavramlar, yaplar ve ilemler topluluuna Veri Modeli denir. u ana dek birok veri modeli gelitirilmitir. Balca veri modelleri yandaki animasyonda yer almaktadr. Saylan bu veri modellerinin ilk ikisi u anda kullanlmamaktadr. En yaygn kullanlan ise, likisel Veri Modelidir. Gnmzde kullanlan VTYSlerin hemen hemen tm ilikisel veri modeline dayaldr. Son zamanlarda ortaya kan Nesneye Ynelik Veri Modeli, likisel Veri Modeli ile birlikte baz VTYSlerde kullanlmaktadr.

! Veri Modellerini grmek iin "DEVAM" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01055.htm [24.11.2006 21:26:18]

Untitled Document

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT01060.htm [24.11.2006 21:26:19]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02005.htm

VARLIK LK MODELBu blmde,

Varlk liki Modeli, Varlk, Varlk Dizisi, Varlk ve liki Kmeleri, Nitelikler, Varlklarn Elendirilmesi, Varolu Koulu, Anahtarlar, Varlk liki emalar, Varlk liki Modelinin Tablolatrlmas,

anlatlmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02005.htm [24.11.2006 21:26:19]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02010.htm

Blm HedefiBu blmde,

Varlk ve iliki kavramlarn, Varlk liki modelinin temel kavramlarn , Varlklar elendirme trlerini, Varolu koulu kavramn, Anahtar ve sper anahtar ve grevlerini, Varlk-iliki emalarnn grevlerini, Varlk liki emalarnn dzenlenmesini, Varlk-iliki emalarnn veri taban tablolarna dntrlmesini,

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02010.htm [24.11.2006 21:26:19]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02020.htm

2.1 Varlk liki ModeliZaman iinde, her bir veri modeli iin birok VTYSleri retilmitir. Ancak u ana kadar hibir VTYS iinde kullanlmam bir veri modeli daha bulunmaktadr. Bu veri modeli varlk-iliki modeli (Entity-Relationship Model) adyla bilinmektedir. Varlk liki modelini ksaca Trke kelimelerinin ba harflerinden treterek V veya ngilizce kelimelerinin ba harflerinden treterek ksaca ER modeli olarak isimlendirilir. Varlk-iliki modeli herhangi bir VTYSde kullanlmasa bile, veri zmlemede, modellemede ve ilikilerin ortaya konulmas asndan ok kullanlan bir aratr. Bu model kullanlarak, VTYSden bamsz olarak veri zmlenir, modellemesi ve ilikileri tamamlandktan sonra herhangi bir VTYS veri taban emasna dntrlr.

rnek bir varlk iliki modeli emas

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02020.htm [24.11.2006 21:26:20]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02025.htm

2.2 VarlkVarlk (Entity), var olan ve dier varlklardan ayrt edilebilen bir nesnedir. rnein,

bir bir bir bir

bilgisayar, kaplan, sava ua, kz ocuu

birer varlk olarak deerlendirilir. Bu kavram, aslnda dnyamzdaki var olan nesneleri, olaylar ve kavramlar tanmlamaktadr. Yandaki nesnelerden her biri bir varlk olarak deerlendirilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02025.htm [24.11.2006 21:26:20]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02030.htm

2.3 Varlk DizisiAyn trdeki varlklar bir varlk dizisi ya da bir baka deyile varlk kmesi oluturur. rnein, bir okuldaki tm renciler renci, bu okuldaki tm dersler ders isimli varlk olarak deerlendirilebilir. ok saydaki renci topluluu da bir varlk oluturur.

rnein; Burak bir varlk olmasna karlk; onun yer ald renci tanm da bir varlk olarak deerlendirilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02030.htm [24.11.2006 21:26:21]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02035.htm

2.4 Varlk ve liki KmeleriVarlklar arasndaki balantya iliki ad verilir. rnein, Burak varl ile Dersler varl arasnda bir iliki vardr nk; Burak bir rencidir ve ald dersler Dersler varl ile gsterilmektedir. liki kmesi, ayn trdeki ilikilerin bir kmesidir. Biimsel olarak, bu varlk seti zerindeki bir matematiksel iliki olarak ifade edilebilir. Ayn tr ilikilerin oluturduu kmeye iliki kmesi denir ve bu iliki kmelerini R ile gsterilir.

E1, E2,.... En varlk kmeleri ise, bu kmeler arasndaki R ilikisi u ekilde tanmlanr:

rnek Aadaki iki varlk kmesini gznne alalm. Bu varlk kmelerinden birincisi rencileri, ikincisi ise bu rencilerin aldklar dersleri iermektedir. E1= {Burak, Begm} E2= {Matematik, Fizik} Bu iki kme arasndaki iliki, rencilerle dersler arasnda olan ilikidir. Bu ilikileri, renci-ders iftleri biiminde ifade edebiliriz. Tm rencilerle tm dersler arasndaki iliki ise kartezyen arpm yaplarak ortaya konulur. Kartezyen arpm, iki kme arasnda olas tm iftleri ifade etmektedir. ki varlk kmesi iin kartezyen arpm u ekildedir:file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02035.htm (1 of 3) [24.11.2006 21:26:21]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02035.htm

E1 x E2 = {(Burak, Matematik), (Burak, Fizik), (Begm, Matematik), (Begm, Fizik)} Aada gsterildii biimde iliki kmesi tanmlayalm: R1 = {(Burak, Matematik)} R2 = {(Burak, Fizik)} R3 = {(Burak, Matematik), (Begm, Matematik)} Bu iliki kmeleri iin aadaki bantlarn doru olduu grlr: R1 E1 x E2

R2 E x E 1 2 R3 E x E 1 2

Bu rnek bize, iki veri kmesi arasnda geerli tm iliki kmelerinin, R iliki kmesinin bir alt kmesi olduunu gstermektedir. rnek Bir bankann mterileri ve bu mteriler iin bankann dzenledii hesaplar birer varlk olarak kabul edilir. Bu iki varlk arasnda mteri-hesap no biiminde ifade edilen bir iliki bulunmaktadr.

"Mteri" ve "Hesaplar" varlklar arasnda ikili iliki bulunmaktadr. Bu iliki kmeleri u ekilde ifade edilebilir: R1 = {(Burak, 1350), (Burak, 1400)} R2 = {(Begm, 1525} R3 = {(Selin,1111)} R4 = {(Sezin, 1200)} R5 = {(Dilay, 1500), (Dilay, 1750)}file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02035.htm (2 of 3) [24.11.2006 21:26:21]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02035.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02035.htm (3 of 3) [24.11.2006 21:26:21]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02040.htm

2.5 NiteliklerBir varlk, ok sayda nitelik yardmyla tanmlanabilir. rnein, PERSONEL varlnn nitelikleri yandaki ekildeki gibi olabilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02040.htm [24.11.2006 21:26:22]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02045.htm

2.5.1 Etki AlanNiteliin ald deerlere etki alan (domain) ad verilir. rnein, PERSONEL varlnn ad ve soyad nitelii, birok PERSONEL adn ve soyadn ieren bir dizidir. O halde nitelik, matematiksel anlamda bir fonksiyon olarak da deerlendirilebilir. Bir varlk kmesinden bir etki alanna elendirmeyi salar. Bu sayede her varlk, nitelik ve veri deeri olarak veri iftleri biiminde gsterilebilir.

rnein bir PERSONEL varl; (nitelik, etki alan) iftleri biiminde ifade edilebilir. PERSONEL varlnn bir eleman iin veri iftleri yandaki ekildeki gibi ifade edilebilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02045.htm [24.11.2006 21:26:22]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02050.htm

2.5.2 Tretilen NitelikBir 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.

RNEK:PERSONELin doum tarihi 1960 ise, iinde bulunduumuz yldan yararlanlarak, bu tarih karlr ve PERSONELin ya bulunur. O halde, PERSONELin doum tarihi nitelii belirli ise, ya isimli bir nitelik tanmlamaya gerek yoktur. Ya nitelii bir tretilen nitelik olarak deerlendirilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02050.htm [24.11.2006 21:26:23]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02055.htm

2.5.3 ok Deere Sahip NiteliklerBir nitelik birden fazla deer ile elenebiliyorsa, ok deere sahip nitelik ad verilen bir kavramdan sz edilir.

RNEK: Bir kiinin beendii araba markalar isimli nitelik, birden ok arabay kapsayaca iin bu niteliin ok deeresahip bir nitelik olduu kabul edilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02055.htm [24.11.2006 21:26:23]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02060.htm

2.5.4 Birleik NiteliklerBirden fazla nitelik birletirilerek yeni bir nitelik oluturulabilir. Bu tr niteliklere birleik nitelik ad verilir.

RNEK:PERSONELin cadde ve ehir nitelikleri birletirilerek adres isimli yeni bir nitelik oluturulabilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02060.htm [24.11.2006 21:26:23]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02065.htm

2.5.5 RolBir iliki varln bir fonksiyonu ise, buna rol ad verilir. rnein, PERSONEL varl hem yneticileri hem de iileri kapsayacaktr. Bu varlklar arasnda bazlar dierlerinin yneticisidir. Kim kimin yneticisidir? biimindeki bir ilikiyi gz nne alalm. Bu iliki; (Ynetici, i) iftleriyle karakterize edilir. Ancak bu iftler arasnda, (i, Ynetici) iftleri gz ard edilir.

RNEK:PERSONEL varl ile niteliklerini gz nne alalm. Bu varln nitelikleri ve etki alan, yani ierdii deerler gsterilmitir. Buna hangi PERSONELin, dierinin yneticisi olduunu belirleyen alt kii ilikisini gz nne alarak rol iftlerini belirleyelim. (Begm, Burak) (Begm, Dilay) (Selin, Sezin)

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02065.htm [24.11.2006 21:26:24]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02070.htm

2.6 Varlklarn ElendirilmesiBir varlkla ilikiye girebilecek varlklarn saysna eleme says denir. Eleme saylar n>2 varlk iin sz konusudur ve ikili ilikilerin ortaya konulmas asndan yararldr. A ve B gibi iki varlk kmesi arasndaki R iliki kmesi iin drt farkl eleme durumlar olabilir.

! Varlk Eleme ekillerinin tamamn grmek iin "Devam" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02070.htm [24.11.2006 21:26:24]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02075.htm

2.6.1 Birden-bire likiA varlk kmesi iindeki bir varlk, B varlk kmesi iindeki sadece bir varlk ile ilikili ve B varlk kmesi iindeki bir varlk, A varlk kmesi iinde sadece bir varlk ile ilikili ise birden-bire iliki sz konusudur. A ve B kmelerinin,

biiminde olduunu varsayalm. A kmesinin her bir elemannn, B kmesindeki bir elemanla ilikide olmas bire-bir ilikiyi ifade etmektedir.

RNEK 1:Mteri-hesaplar ilikisini gz nne alalm. Her mteri iin sadece bir hesap atrlabildiini ve birden fazla kii iin ortak hesap almasna izin verilmediini varsayalm.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02075.htm (1 of 2) [24.11.2006 21:26:25]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02075.htm

ekil zerinde gsterildii gibi, her bir mteri sadece bir hesap numaras ile elenebilmektedir. Ayn biimde bir hesap numaras sadece bir mteriye verilebilmektedir. O halde bu birden-bire ilikidir. Dier rnekler iin tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02075.htm (2 of 2) [24.11.2006 21:26:25]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02075_2.htm

RNEK 2:Aadaki varlklar gznne alalm:

Bu varlklar iin aadaki elemeler yaplabiliyorsa, birden-bire ilikiden sz edilebilir. R1 = {(a1,b2),(a2,b4)} R2 = {(a2,b1),(a3,b2),(a4,b3)} R3={(a1,b3),(a2,b2),(a3,b1)}

RNEK 3:Aadaki iki kmeyi gznne alalm:

Bu iki kme iinde yer alan evli eler birden-bire bir elemeye sahiptir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02075_2.htm [24.11.2006 21:26:25]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02080.htm

2.6.2 Birden-oa likiA kmesi iindeki bir varlk, B kmesi iindeki birden fazla varlk ile ilikili ise, bu elemeye birden-oa iliki ad verilir. Bu durumun tersi geerli deildir. Yani B kmesindeki bir varlk, A kmesindeki sadece bir varlk ile eleebilir.

RNEK:A varlk kmesi anne isimlerinden olumaktadr. B kmesi ise bu anne varlklarnn ocuklarndan olumaktadr.

kme elemanlarn daha akca yazabiliriz:

Bu iki kme arasndaki iliki, doal olarak birden-oa biiminde olacaktr. nk bir annenin bir veya daha fazla ocuu olabilir. Ancak bir ocuun sadece bir annesi olacaktr. O halde iki kme arasndaki R iliki kmesi u ekilde ifade edilebilir:

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02080.htm [24.11.2006 21:26:25]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02085.htm

2.6.3 oktan-bire likiA varlk kmesindeki birden fazla varlk, B kmesindeki bir varlk ile ilikili ise, bu elemeye oktan-bire iliki ad verilir.

RNEK:A kmesi ocuklar; B kmesi ise bu ocuklarn annelerini iermektedir.

Bu iki varlk kmesi arasndaki iliki u ekilde ifade edilebilir :

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02085.htm [24.11.2006 21:26:26]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02090.htm

2.6.4 oktan-oa likiA varlk kmesi iindeki bir varlk B varlk kmesi iindeki birden fazla varlk ile ilikili ise ve B kmesindeki bir varlk A kmesindeki birden fazla varlk ile eleniyorsa oktan-oa iliki vardr.

RNEK:Mteri-hesap ilikilerinde, aile yelerinin ortak hesap aabilmesi durumunda oktan-oa iliki sz konusu olmaktadr.

Bu ekil, mteri-hesap ilikisinin oktan-oa biiminde olduunu gstermektedir. Mteriler birden fazla hesaba sahip olabilmekte ve birden fazla mteri ayn hesab aabilmektedir. rnein, Burak isimli kullanc 4500 ve 2310 numaral iki hesaba sahiptir. Buna karlk, 4500 numaral hesabn ayn aileye ye Burak dnda Begm isimli bir baka mterisi bulunmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02090.htm [24.11.2006 21:26:26]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02095.htm

2.7 Varolu KouluEer X varlnn bulunmas, Y varlnn bulunmasna bal ise, Xin Yye bal olduundan sz edilir. Bir baka deyile, Y silinirse Xin bir anlam kalmayacaktr. O halde Xde silinmelidir sonucuna ulalr. Byle bir durumda Yye baskn varlk (dominant entity), Xe baml varlk (subordinate entity) ad verilir.

RNEK:Bir iletmede rn ve stok hareket varlklarnn mevcut olduunu varsayalm. rn={rn isimleri} stok hareket={Gnlk rn giri ve k miktarlar} Burada varlklar arasndaki iliki birden oa dorudur. Her rn birden fazla stok hareketi ile ilikilidir. Bu durumda, stok hareket varlk kmesinden bir varln silinmesi durumunda, rn varlk kmesinden bir varlk silinmesi sz konusu olmaz. nk bu varlk stok hareket kmesindeki baka varlklarla da ilikilidir. Yukarda sylenenin aksine rn kmesinden bir varlk silinmesi sz konusu ise, bu varlkla ilikili olan tm stok hareket varlklarnn da silinmesi gerekecektir. Bu durumda rn varl baskn varlk, stok hareket varl ise baml varlk olarak deerlendirilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02095.htm [24.11.2006 21:26:27]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02100.htm

!

2.8 AnahtarlarVarlklar ve ilikileri tanmlam bulunuyoruz. Ancak, bir varlk kmesi veya bir iliki kmesi iinde yer alan varlklar birbirinden nasl ayrt edebileceiz sorunu karmza kmaktadr. rnein renci varlk kmesi iinde her bir renciyi dierinden ayrt eden nitelikler neler olabilir? rencileri birbirinden ayrt etmek iin, renci numarasn kullanabileceimizi syleyebiliriz. Varlk kmesi iindeki varlklar birbirinden ayrt etmek iin kullanlan bu tr niteliklere varlk kmesinin anahtar denir. "Sper ve Aday Anahtar" olmak zere iki tr anahtar vardr.

Dier anahtar trn grmek iin "Devam" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02100.htm [24.11.2006 21:26:27]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02105.htm

2.8.1 Sper AnahtarVarlk kmesi iinde yer alan bir varl kesin olarak tanmlamaya yarayan anahtara sper anahtar denir. Bu anahtar sadece bir nitelikten oluabilecei gibi, birden fazla niteliin birleiminden de oluabilir. Sper anahtarlar sper kme oluturur. Bir sper anahtarn herhangi bir sper kmesi daima bir sper anahtar olarak kabul edilir.

RNEK:SSK numaras bir PERSONELi dierinden ayrt etmek iin yeterlidir. nk bir lkedeki tm alanlarn sadece bir SSK numaras vardr ve iki farkl kiinin ayn SSK numarasna sahip olmas olanakszdr.

PERSONELin ad sper anahtar olarak tanmlanamaz. nk ayn isme sahip birok PERSONEL var olabilir. Ancak, SSK numaras bir sper anahtar olmas nedeniyle, "SSK numaras" ve "PERSONELin ad" birlikte sper anahtar olarak deerlendirilebilir. Hatta SSK Numaras, Ad, Blm nitelikleri birlikte bir sper anahtar olarak kabul edilebilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02105.htm [24.11.2006 21:26:27]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02110.htm

2.8.2 Aday AnahtarVarlk kmesi iinde yer alan bir varl kesin olarak tanmlamaya yarayan bir baka anahtar da aday anahtar olarak bilinmektedir. Bir varlk kmesinin sper anahtar bir veya daha fazla niteliin birleiminden oluabiliyordu. Bu tr bir sper anahtarn herhangi bir alt kmesi ayn zamanda bir sper anahtar deil ise, bu anahtara aday anahtar ya da ksaca anahtar ad verilir. Baz durumlarda; varlklara ilikin birka nitelik, birlikte bir anahtar olarak tanmlanabilir.

RNEK:

Personel iin; SSK No, Ad, Blm nitelikleri, birlikte "PERSONEL" varl iindeki her bir varl dierinden ayrt etmek iin kullanlabilir. Sper anahtar, varlklar kesin olarak birbirinden ayrt etme zelliine sahip olmasna karlk, bu zellii kazanmak iin gerekenden fazla nitelii ierebilir. Anahtar ise, ayn tanma uygundur. Ancak gerekenden fazla nitelik iermeme zelliine sahiptir. Yukarda grld gibi, SSK No nitelii sper anahtarn bir paras olmasna karlk, tek bana varlklar birbirinden kesin olarak ayrt etmekte kullanlabilir. O halde SSK No nitelii bir anahtardr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02110.htm [24.11.2006 21:26:28]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02115.htm

2.8.3 Zayf ve Kuvvetli VarlklarBaz durumlarda varlk kmesi iinde bir anahtar bulmak mmkn olmayabilir. Hatta niteliklerinin tm biraraya getirildiinde yine bir anahtar elde edilemeyebilir. Byle varlk kmelerine zayf varlk kmesi ad verilir. Buna karlk, varlk kmesinin ierdii niteliklerden en az biri bir anahtar oluturabiliyorsa bu varlk kmesine kuvvetli varlk kmesi ad verilir.

RNEK:Bir PERSONEL varlnn aada belirtilen niteliklere sahip olduunu varsayalm. sim ve soyad Doduu il Eitim dzeyi Bu nitelikten oluan varlk kmesi, bir zayf varlk kmesi olarak deerlendirilir. nk, bu kme iinde ayn isim ve soyadna sahip ok sayda PERSONEL olabilir. O halde bir anahtar olarak kabul edilemez. Benzer biimde doduu il ve eitim dzeyi nitelikleri de ayn nedenlerden tr birer anahtar olamaz. Bu niteliklerin tmnn birleimi bile bir anahtar olamaz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02115.htm [24.11.2006 21:26:28]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02120.htm

2.9 Varlklar liki emalarVarlk iliki modelinde varlklar ve ilikileri tanmlamak iin aada belirtilen ema eleri kullanlr.

! Dier Varlk iliki ema elementlerini grmek iin "Devam" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02120.htm [24.11.2006 21:26:29]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125.htm

2.9.1 liki Trlerinin Gsterilmesiliki trleri,

Birden-bire Birden-oa oktan-bire oktan-oa

biiminde tanmlanmt. Bu ilikiler varlk-iliki, yani ER emalar ile aadaki ekilde gsterilebilir.

1. rnek iin tklaynz 2. rnek iin tklaynz 3. rnek iin tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125.htm [24.11.2006 21:26:29]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125_1.htm

RNEK 1:Bir PERSONEL varlnn aada belirtilen niteliklere sahip olduunu varsayalm.

Ad Cadde Sokak Apartman Doum tarihi Sevdii yiyecekler

a) b)

Cadde, sokak ve apartman nitelikleri adres isimli adyla birletirilecektir. Doum tarihi isimli nitelikten yararlanlarak ya isimli yeni bir nitelik elde edilecektir.

Yaplan tanmlara uygun olarak varlk-iliki emasn yle oluturabiliriz:

2. rnek iin tklaynz 3. rnek iin tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125_1.htm [24.11.2006 21:26:30]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125_2.htm

RNEK 2:Mteri ve Hesap isimli iki varlk kmesi birbirine musHes isimli iliki ile baldr. Mteri varlnn nitelikleri:

Ad SSK no Adres

Hesap varlnn nitelikleri:

Hesap no Bakiye

Varlk-iliki emas yanda belirtilen ekilde olabilir:

1. rnek iin tklaynz 3. rnek iin tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125_2.htm [24.11.2006 21:26:30]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125_3.htm

RNEK 3:PERSONEL isimli varlk kmesini gz nne alalm. Bu varlk kmesinin nitelikleri unlardr:

Ad Adresi Tel no

Bu PERSONEL varlk kmesindeki PERSONELin bir ksm dierlerinin yneticisidir. Bu iliki u ekilde gsterilebilir:

1. rnek iin tklaynz 2. rnek iin tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02125_3.htm [24.11.2006 21:26:30]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02130.htm

2.10 Varlk liki Modelinin TablolatrlmasBir veri taban, tablolardan oluur. Varlk-iliki emalar biiminde izilen bir veri taban tablolar halinde gsterilebilir. Veri tabannn her varlk kmesi ve her iliki kmesi iin, bu isimlerle simgelenen birer tablo dzenlenir.

RNEK 1:

RNEK 2:

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02130.htm (1 of 3) [24.11.2006 21:26:31]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02130.htm

RNEK 3:

RNEK 4:

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02130.htm (2 of 3) [24.11.2006 21:26:31]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02130.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02130.htm (3 of 3) [24.11.2006 21:26:31]

Untitled Document

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT02135.htm [24.11.2006 21:26:31]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03005.htm

LKSEL VER MODELBu blmde,

likisel Veri Modeli, likisel Veri Taban, Veri Taban Btnl,

anlatlmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03005.htm [24.11.2006 21:26:31]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03010.htm

Blm HedefiBu blmde,

likisel veri taban kavramn ve ana bileeni olan tablolarn zelliklerini, Veri taban emas kavramn, Veri taban btnl kavramn, Anahtarlarn btnlk snrlamalarndaki nemini, Veri taban snrlamas trlerini,

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03010.htm [24.11.2006 21:26:32]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03015.htm

3.1 likisel Modellikisel model (relational model), gnmzde en yaygn biimde kullanlan ( veri taban modelidir ) bir modeldir. Ticari veri taban ynetim sistemlerinin hemen hemen tmnde bu model kullanlmaktadr. likisel model, varlklar arasndaki balantnn, ierdii deerlere gre salanmas esasna dayanr. likisel model, varlklar arasnda oluan karmak ilikileri basite indirgemek amacyla gelitirilmitir. Bu yaklamda, veri tabanndaki tm ilikiler tablolar biiminde tanmlanmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03015.htm [24.11.2006 21:26:32]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03020.htm

3.2 likisel Veri Tabanlikisel veri taban, her biri zel isimlere sahip tablolardan oluur. likisel veri tabannda her bir tablo bir varla veya bir ilikiye karlk gelmektedir. Tablonun stunlar nitelikleri; satrlar ise bu niteliklerin deerlerini ifade eder. Her bir satr bir kayt olarak da dnlebilir. Anahtar alan, tablonun tanmlaycsdr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03020.htm [24.11.2006 21:26:32]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03025.htm

3.2.1 Tablolarn zelliklerilikisel veri taban iinde yer alan her bir tablo;

Stunlardan (kolonlardan) oluur ve Her bir stunun ayr bir ad vardr. Her bir stun, ayn niteliin tanmland ayn etki alannn (domain) belirledii deerleri ierir. Her bir satr birbirinden farkldr. Satrlarn sras nemsizdir. Stunlarn sras nemsizdir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03025.htm [24.11.2006 21:26:33]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03030.htm

3.2.2 Veri Taban emasVeri tabannn mantksal tasarmna veri taban emas ad verilir. Tablolar ve onlarn nitelikleri; veri taban emasn oluturur. Veri taban emalarn iki ana grup altnda ortaya koymak mmkndr.

! Fiziksel ve Kavramsal ema dmelerine tkladnzda onlar hakknda bilgi alabilirsiniz.

Veri taban emas veya bir baka deyile kavramsal ema tasarlandktan sonra, her bir uygulama iin alt-emalar hazrlanr. rnein, muhasebe uygulamas bir alt emadr. nk bu uygulama veri tabannn tm ile ilgilenmez.

Alt ema, veri taban emasnn herhangi bir uygulama program tarafndan gereksinim duyulan alt-dzey mantksal grnmdr. Bir uygulama programnn veri tabannn her noktasna erimesi gerekmez. ounlukla kendisi ile ilgili blmlere yani alt-emaya ulamas yeterlidir. rnein, firmann satlarla ilgili alt-emas, rnler ve mterilerle ilgili verileri kapsayacaktr. Bu uygulama, veri tabannn dier kaynaklar ile ilgilenmez.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03030.htm [24.11.2006 21:26:33]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03035.htm

3.2.3 Veri Taban rneiVeri tabanlar, zaman iinde veri eklemeleri ya da veri silinmesi gibi ilemlere tabi tutulurlar. Bu ilemler sonucunda veri taban srekli olarak deiime urar. Ancak veri tabannn herhangi bir andaki durumu nem tar. Veri tabannn herhangi bir andaki durumuna Veri Taban rnei (database instance) ad verilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03035.htm [24.11.2006 21:26:34]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03040.htm

3.3 Veri Taban BtnlVeri tabannn doru ve tutarl biimde almas ve ilemleri yerine getirmesi gerekir. Verinin doru ve tutarl olmasna "veri btnl" denir. Veri btnlnn salanmas sonucunda, veri tabannn eksik, yanl, tutarsz ve elikili olmamas salanr.

Veri tabannda veri btnln salamak iin birok yol bulunmaktadr. Bunlardan en nemlisi, btnlk snrlamalar (integrity constraints) adn almaktadr. Btnlk snrlamalar, veri taban ynetim sistemi veya uygulama programlar tarafndan tanmlanr. Sz edilen snrlamalar; kullanc tarafndan yaplmas gereken ekleme, silme ve gncelletirme ilemlerinden nce bir denetim yaplmasna neden olur. Bu denetim sonucunda, sadece snrlamalara uyan ilemlerin yaplmasna izin verilir. Dierleri reddedilir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03040.htm [24.11.2006 21:26:34]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03045.htm

3.3.1 Anahtar SnrlamalarBtnlk snrlamalarnn salanmasnda anahtarlar nemli rol oynar. Anahtar tr belirlenerek, bu snrlamalarn veri taban ynetim sistemi tarafndan otomatik olarak yaplmas salanr. Sz konusu anahtarlar:

Birincil anahtar (Primary key) Yabanc anahtar (Foreign key)

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03045.htm [24.11.2006 21:26:35]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03050.htm

3.3.1.1 Birincil Anahtar Snrlamalarlikisel veri tabanlarnda bir tablonun benzer deerler iermeyen (unique) bir stunu ya da birka stunu birlikte birincil anahtar olarak tanmlanabilir. Birincil anahtar, bir aday anahtardr ve sz konusu varln kaytlarn en iyi biimde karakterize eder. Birincil anahtar tanmlandnda, u ekilde bir snrlama konulmu olacaktr; Birincil anahtar NULL deerleri veya birbirinin ayn deerleri ieremez. Bo olan deerlere NULL adn veriyoruz. Bu snrlamann kontroln ise veri taban ynetim sistemi yapacaktr.

Birincil anahtar tek bir stundan oluabilecei gibi, birden fazla stunun birleiminden de oluabilir. Bu durumda bileik birinci anahtar dan sz edilir. Bileik birincil anahtarn ierdii deer tek olmaldr. Ancak bileik anahtar oluturan stunlarn her biri ift deerler ierebilir. Bununla birlikte birincil anahtar oluturan stunlarn hibiri NULL deer ieremez. Birincil anahtar snrlamalar ile ilgili rnek iin tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03050.htm [24.11.2006 21:26:35]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03050_1.htm

rnekPERSONEL tablosunun No isimli stunu birincil anahtar olarak tanmlanmtr. Bu tabloya, ekil zerinde grld biimde 25 numaraya sahip yeni bir PERSONEL eklemeye alyoruz. Bu isteimiz gereklemeyecektir. nk, bir tabloda birincil anahtara sahip bir stunda birbirinin ayn olan deerlere yer verilmez.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03050_1.htm [24.11.2006 21:26:35]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03055.htm

3.3.1.2 D Anahtar SnrlamalarBir d anahtar, bir stun veya ok saydaki stunlarn birleiminden oluur. D anahtar, ayn tablo ya da bir baka tabloda yer alan bir birincil anahtarla eletirilir. D anahtarn deeri bir birincil anahtar deeriyle elemeli veya NULL olmaldr. Eer d anahtar birincil anahtarn bir ksmn oluturuyorsa, doal olarak NULL deer ieremez.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03055.htm [24.11.2006 21:26:36]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03060.htm

3.3.1.3 likisel Btnlkki tablo birbirleriyle d anahtar kullanlarak ilikilendirildikten sonra, bu snrlamalara dayanarak, iki tablo arasnda silme ve gncelletirme ilemleri otomatik olarak yerine getirilebilir. rnein; PERSONEL ve BLM isimli iki tabloyu gz nne alalm. PERSONEL tablosunun Blm no isimli stunu, BLM tablosuna ilikin bir d anahtar olarak tanmlanmtr. Bu tr bir tanm beraberinde ilikisel btnlk zelliklerini getirecektir. BLM isimli tablodan bir satr, rnein 10 numaral blm silmek istiyoruz. Bu satr silindiinde, PERSONEL tablosunda da ayn satr ile ilgili tm kaytlar otomatik olarak yok olacaktr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03060.htm [24.11.2006 21:26:36]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03065.htm

3.3.2 Veri Deerleri SnrlamasTablonun herhangi bir stununda yer alacak verilerin hangi deerlere sahip olabilecei konusunda snrlamalar getirilebilir. Bir deerin NULL olamayaca belirtilerek bir snrlama yaplabilir. Bunun yan sra, rnein, PERSONELin ehir ii telefon numarasnn 7 haneden fazla olmasn nlemek iin byle bir snrlama konulabilir. Benzer biimde, bir rencinin doduu ilin trafik kodunun 3 haneden fazla olamayaca ve 1 ile 81 rakamlar arasnda olabilecei biiminde snrlamalar getirilebilir.

RNEK:PERSONEL tablosu iin yle bir snrlama tanmlandn varsayalm; Blm numaralar 1-99 arasnda, yani iki haneli olacaktr. Bu snrlamaya uymayan bir giri yaplmaya alldnda, rnein blm numaras 400 olan bir kayt girilmeye alldnda, snrlama nedeniyle kayt ekleme ilemi yerine getirilmeyecektir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03065.htm [24.11.2006 21:26:37]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03070.htm

3.3.3 letme Kurallar SnrlamasTablolar zerinde iletme kurallarna dayal snrlamalar yaplabilir. Bu sayede, iletme kurallarna uygun olarak veri btnl sz konusu olabilir. rnein, iletmenin muhasebe blmnde programc kadrosuna sahip eleman altrmak anlaml deildir. Bunu denetlemek gerekecektir. Veri tabanna bilgi girileri esnasnda, muhasebe blmne yeni PERSONEL kayd eklemek gerektiinde, sz konusu iletme kural, uygunsuz veri girilerini engelleyecektir. Bu tr snrlamalar ounlukla uygulama programlar araclyla denetlenir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03070.htm [24.11.2006 21:26:37]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03075.htm

3.3.4 Nitelikler Aras Bamllklarn KullanlmasVeri btnlnn ve tutarllnn salanmasnda, nitelikler arasndaki bamllklarn kullanlmas yararl olabilir. Niteliklerin birbirleriyle olan bamll gz nne alnmadan veri taban tasarmnn yaplmas sorunlara neden olacaktr. Nitelikler arasndaki fonsiyonel bamllklar belirlenerek, ema zerinde dzenlemeler yaplr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03075.htm [24.11.2006 21:26:37]

Untitled Document

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT03080.htm [24.11.2006 21:26:38]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04005.htm

LKSEL VER TABANI TASARIMIBu blmde,

Normalletirme, Fonksiyonel Bamllk, Birinci Normal Form ve Sorunlar, kinci Normal Form ve Sorunlar, nc Normal Form, Boyce-Codd Normal Formu, Drdnc Normal Form, Beinci Normal Form,

anlatlmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04005.htm [24.11.2006 21:26:38]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04010.htm

Blm HedefiBu blmde,

Balang seviyesinde ilikisel veri taban tasarmn, Veri taban tasarmnda karlalan sorunlar, Bu sorunlarn zlmesi iin normal formlarn kullanlmas gerektiini, Normal formlarn neler olduunu, Normal formlarn hangi sorunlar zmlediini

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04010.htm [24.11.2006 21:26:38]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04015.htm

4.1 Normalletirmelikisel veri tabannn tasarlanmas aamasnda, verinin tekrarlanmasn, veri kaybn veya veri yetersizliini nlemek iin normalletirme ilemi uygulanr. Normalletirme teorisi normal form kavramna dayanr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04015.htm [24.11.2006 21:26:39]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04020.htm

4.2 Fonksiyonel Bamllk R bir iliki emas olsun. X ve Y, Eer niteliklerinin

R'nin iki alt kmesi olduunu varsayalm.

O halde; R ilikisinin Y nitelii, R'nin X niteliine ilikisel olarak bamldr. X 'in her bir deeri karlk geliyorsa da fonksiyonel bamllktan sz edilir. Bu ilevsel bamllk,

X nitelikler kmesinin deerleri Y nitelikler kmesinin deerlerini belirliyorsa; Y, X 'e fonksiyonel bamldr denir. Y'nin bir deerine

biiminde ifade edilir. Eer bu bant geerli ise ve X'den bir nitelik karld halde bu bamllk hala geerli oluyorsa; burada ksmi bamllk sz konusudur. Fonksiyonel bamll bir rnek ile ortaya koymak istiyoruz. rnek Bir irketin mterilerine partiler biiminde rn gnderdiini varsayalm. Her bir mteri ayr bir ilde yer almaktadr. Bir ehir birden fazla mteri ierebilir. Her bir ehir "ehir kodu" na sahiptir. Her bir mteriye birden fazla parti rn gnderebilir. Bu bilgileri saklamak iin bir ilikisel tablo yaratldn varsayalm. Bu tablonun ad DAITIM olsun. Sz konusu DAITIM emas u ekilde gsterilebilir; DAITIM (m#, ehir_kodu, ehir, p#, miktar)

Burada m#, ehir_kodu ve ehir alanlar mteri bilgilerini, p# ve miktar ise datm ilemi bilgilerini oluturmaktadr.file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04020.htm (1 of 2) [24.11.2006 21:26:40]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04020.htm

Bir mteriye birden fazla parti rn gnderilebilir. Verinin tekrarl olmasn nlemek iin m# ve p# birleik anahtar olarak tanmlanmtr. Bu verilere dayanarak fonksiyonel bamllklar u ekilde ifade edebiliriz: m#ehir_kodu,ehir ehirehir_kodu (m#,p#)miktar Burada iki trl bamllk tanmlanmtr. Birinci ve ncs anahtarlara gre bamllklar ortaya koymaktadr. kinci bamllk ise, anahtara baml olmayan, geili bamllklardr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04020.htm (2 of 2) [24.11.2006 21:26:40]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04025.htm

4.3 Birinci Normal FormAadaki tablo birinci normal form olarak tanmlanr. likisel veri taban modelinin temel kuraldr. Btn niteliklerin ald deerler atomik olmak zorundadr. Birinci formdaki bir tablo, belirli baz alanlarda tekrarl verilere sahiptir. rnein; sehir kodu ve ehir verileri her mteri iin tekrarldr. Bu tekrarlar gncelleme sorunlarna yol aacaktr. Ayrca bu formda bilgi girii ve silme ilemlerinde sorunlara neden olacaktr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04025.htm [24.11.2006 21:26:40]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04030.htm

4.3.1 Birinci Normal Formun SorunlarBirinci normal formda baz sorunlarla karlaabiliriz. Bu sorunlar yandaki animasyonda verilmitir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04030.htm [24.11.2006 21:26:40]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04035.htm

4.3.1.1 Satr Ekleme Sorunu Bir baka ehirdeki, rnein "ZMR" deki mterinin m#, ehir_kodu ve ehir bilgilerinin girilebilmesi iin; mutlaka bir datm ileminin gerekletirilmesi gerekir. Ekleme ileminin yaplabilmesi iin, bu mteriye ilikin bir datm ileminin yaplm olmas ve p# ile miktar deerlerinin belirlenmi olmas gerekir. Bu deerler olmadan kayt ekleme ilemi yaplamaz.

! "Ekle" dmesine tklayarak yeni satr eklemeyi deneyiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04035.htm [24.11.2006 21:26:41]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04040.htm

4.3.1.2 Satr Silme Sorunu Bir datm ileminin iptal edilerek ilgili kaydn silinmeye alldn varsayalm. Bir satr silindiinde, sadece datm ve miktar deil, mteri hakkndaki dier bilgiler de yok olacaktr. rnein, M3 mterisi ile ilgili satr silindiinde, mterinin ehir_kodu ve ehir bilgileri de yok olacaktr.

! Satr silmek iin "Satr Sil" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04040.htm [24.11.2006 21:26:41]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04045.htm

4.3.1.3 Gncelleme Sorunu M1 mterisinin yeri STANBUL'dan ANKARA'ya tanrsa, bu yeni bilgi nedeniyle tablo iinde M1'e ait be satrn gncelletirilmesi gerekecektir. Eer tablo ok byk ise, sadece bir mteri ile ilgili bu tr kk bir deiiklik belki de binlerce kaydn gncelletirilmesi sorununu yaratacaktr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04045.htm [24.11.2006 21:26:41]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04050.htm

4.4 kinci Normal FormBirinci normal formun, veri taban tasarm esnasnda baz sorunlara neden olduunu rendik. Bu sorunlardan bir ksmn zmek iin birinci normal formdaki tablolar, baka normal formlara dntrlr. Tablolarn stunlar arasndaki fonksiyonel bamllktan yararlanarak, 1NF (birinci normal form) tablolarnn birden fazla tabloya dntrlmesi sonucunda; ikinci normal forma (2NF) ulalr. Eer bir iliki emasndaki birincil anahtar olmayan bir nitelik, R'nin herhangi bir anahtar niteliine ksmi fonksiyonel olarak baml deilse (yani tam fonksiyonel baml ise), bu iliki ikinci normal formdadr.

kinci normal formda ilikisel tablonun her bir anahtar olmayan stunu, birincil anahtara tam fonksiyonel bamldr. Bu; anahtar olmayan her kolon, birincil anahtara baml olmaldr demektir. DAITIM tablosu birinci normal formdadr. nk, ehir_kodu ve ehir stunlar (m#, p#) birleik anahtarnn sadece m# stunu zerinde fonksiyonel bamldr. kinci normal form, kendisi anahtar olmayan tm stunlarn anahtara balanarak yeni tablolara ayrtrlmas ile oluturulur.

rnek; DAITIM isimli tabloda m# ve p# anahtarlar gz nne alnarak, bu tablo iki ayr tabloya dntrlebilir. Bu tablodaki fonksiyonel bamllklar u ekilde ifade edilebilir:m# -> ehir_kodu, ehir ehir -> ehir_kodu (m#,p#) -> miktar Bu fonksiyonel ilikilerden birincisi ve ncs, anahtarlara fonksiyonel bal olarak tanmlanmtr. Bu tanmlar 2NF formunun yapsn belirler. 2NF durumunda DAITIM tablosu EHRLER ve MKTARLAR isimli iki tabloya dnr. DAITIM(m#, ehir_kodu, ehir, p#, miktar) EHRLER(m#, ehir_kodu, ehir) MKTARLAR(m#, p#, miktar) Bu tablolarn grnm aadaki animasyonda canlandrlmtr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04050.htm (1 of 2) [24.11.2006 21:26:42]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04050.htm

! kinci normal form tablolarn oluturmak iin aa yndeki oka tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04050.htm (2 of 2) [24.11.2006 21:26:42]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04055.htm

4.4.1 kinci Normal Formun Sorunlarkinci normal formda baz sorunlarla karlaabiliriz. Bu sorunlar yandaki animasyonda verilmitir.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04055.htm [24.11.2006 21:26:42]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04060.htm

4.4.1.1 Satr Ekleme Sorunu EHIRLER isimli tabloya yeni bir mteri kayt girilmedii srece, yeni bir ehir kodu ve ehir ad girilmesine olanak yoktur. rnein bu tabloya, 61 ehir koduna sahip TRABZON ilini eklemek gerektiinde bir sorunla karlalacaktr. Bu ili tabloya dahi etmek iin, bu ilde yerlemi bir mteriye ihtiya vardr. Byle bir mteri olmad srece ehir ile ilgili bu tr bilgiler tabloya eklenemez.

! Yeni satr eklemek iin "Ekle" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04060.htm [24.11.2006 21:26:42]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04065.htm

4.4.1.2 Satr Silme Sorunu Tablodan bir mteri silindiinde, ehir kodu ve ehir ad bilgileri de yok olacaktr. rnein, EHRLER tablosundan M5 mterisi silindiinde, o mterinin yerletii ZMR iline ilikin veriler de tablodan yok olur.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04065.htm [24.11.2006 21:26:43]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04070.htm

4.5 nc Normal FormR'deki herhangi bir anahtar iinde yer almayan nitelik, R'nin herhangi bir niteliine geili fonksiyonel baml deil ve ayrca 2NF zelliklerine sahip ise; bu ilikinin nc normal formda (3NF) olduu sylenir. kinci normal formda sadece anahtarlara ilikin fonksiyonel bamllklar kullanlmt. Bunun dndaki geili bamllklar da tablolara dntrlerek, nc normal form elde edilir. rneimizdeki fonksiyonel bamllklar u ekilde tanmlamtk; m# -> ehir_kodu, ehir ehir -> ehir_kodu (m#,p#) ->miktar Bu durumda, bir anahtara bal olmayan, ehir -> ehir_kodu geili bants da ayr bir tabloya dntrlerek, 3NF'deki aadaki tablo tanmlarna ulalr; MTER_EHR(m#, ehir) EHR_KOD(ehir_kodu, ehir) MKTARLAR(m#, p#, miktar) Tablolar bu tanmlara gre yeniden dzenlenir.

! nc normal form tablolarn oluturmak iin aa yndeki oka tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04070.htm [24.11.2006 21:26:43]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04075.htm

4.6 Boyce-Codd Normal Formu2NF, 3F durumunda olup geili bamllk iermeyen bir ilikidir. Kendisi anahtar olmayan zellikler, anahtara fonksiyonel olarak bal bulunmamaktadr. 3NF'da da baz sorunlarla karlalabilir. Bu sorunlar nlemek iin Boyce-Codd normal formu (BCNF) kullanlr. rnek olarak aadaki ilikiyi gz nne alalm; RENC(renci_no, blm, retim_yesi) Burada birincil anahtar; (renci_no, blm) olarak belirlenmitir. Aday anahtar ise; (renci_no, retim yesi) biimindedir. Fonksiyonel bant ise u ekilde ifade edilebilir; retim_yesi -> blm

ekil zerindeki iliki 3NF durumuda olup baz sorunlara sahiptir. rnein, bir renci birden ok blme yazlabildii gibi; bir blmde birden fazla retim yesi de yer alabilmektedir. Bu durumda, renci birden ok blme yazlabildii iin, renci_no anahtar blm ve retim yesini belirleyememektedir. Burada renci_no ile blm anahtarlar birlikte, retim yesi niteliini; renci_no ile retim_yesi anahtarlar da blm niteliini belirlemektedir. Bu kombinasyonlarn her ikisi de anahtar olabilir. RENC emas tanm olarak, birinci normal formdadr. Anahtarsz nitelikler, bir anahtara bal olduu iin de ikinci normal formdadr. Ayrca geili bamllk bulunmad iin, nc normal formdadr. Buna ramen yukardaki ema yine baz sorunlara sahiptir. rnein, 98 numaral rencinin kaydnn silinmesi durumunda, B. ZKAN 'a ait olan bilgi de yok olacaktr. Ayn ekilde, yeni bir renci EKONOM blmne yazlncaya kadar bu blm tablo zerinde grlmeyecektir. Bu sorunlar nlemek iin, Boyce-Codd normal formu elde edilmeye allr. BCNF, her belirleyicinin bir anahtar oluu halidir. RENC emasnda retim_yesi bir aday anahtar deil, bir belirleyici olduu iin, bu iliki BCNF'da bulunmamaktadr. RENC emas aada grld biimde iki ilikiye ayrlmas halinde, BCNF oluturulur ve yukarda saylan sorunlara son verilmi olur.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04075.htm (1 of 2) [24.11.2006 21:26:44]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04075.htm

! Boyce-Codd normal formu tablosunu oluturmak iin aa yndeki oka tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04075.htm (2 of 2) [24.11.2006 21:26:44]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04080.htm

4.7 Drdnc Normal FormBaz durumlarda BCNF'daki bir ilikide de sorunlar grlebilmektedir. rnek olarak aadaki tabloyu gz nne alalm: RENC(renci_no, blm, spor)

Bu iliki; deerlerin atomik oluu, anahtarlarnn bulunuu, geili belirleyicilerinin olmamas ve belirleyicilerinin anahtar oluu zellikleri nedeniyle 1NF, 2NF, 3NF ve BCNF koullarna uymaktadr. Buna karlk, yine de baz sorunlar bulunmaktadr. Burada bir renci, birden ok sayda blme ve spor etkinliine sahip olabilmektedir. Bu nedenle, renci_no ile blm ve renci_no ile spor arasndaki ilikiler birer fonksiyonel bant deil; ok deerli bamllk halindedir. ok deerli bamllklar -> -> simgesi ile ifade edilir . Bir iliki emasnda bir A anahtar olmak zere, btn fonksiyonel bamllklar iin; A -> X ve btn ok deerli bamllklar iin; A -> -> Y biiminde ise, drdnc normal form sz konusudur. oklu bantlarda ekleme ve silme esnasnda sorunlarla karlalabilir. rnein, MATEMATK ve MUHASEBE blmleri ile KAYAK ve TENS spor etkinliklerine katlan 65 numaral renci iin 4 ayr kayt yaplmaktadr. Bu rencinin FUTBOL etkinliine katlabilmesi iin ayrca 2 kayt daha eklenmesi sz konusudur. Bylece ok sayda yineleme sorunu ortaya kmaktadr. Bu sorunu nlemek iin, yukarda verilen iliki iki ayr ilikiye ayrlarak, oklu bamllk durumu eklenmekte ve drdnc normal form (4NF) oluturulmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04080.htm (1 of 2) [24.11.2006 21:26:44]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04080.htm

! Drdnc normal form tablolarn oluturmak iin aa yndeki oka tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04080.htm (2 of 2) [24.11.2006 21:26:44]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04085.htm

4.8 Beinci Normal FormBir ilikinin iki veya daha ok sayda ilikiye ayrlmas halinde, bilgi kaybna dlmemesi nem tamaktadr. Genellikle 4NF durumunda bu koul salanmaktadr. Ancak yine de ilikinin, ikiden ok sayda ilikiye ayrlmas halinde, veri kayb sz konusu olabilmektedir. Bu saknca 5NF kurularak giderilebilir.

Beinci normal form; iliki ierisindeki her birleik bantnn, bu ilikideki aday anahtarlardan oluturulmas ile salanmaktadr. rnek olarak, aadaki emay gz nne alalm: DN (ube_ad, toplam_mevduat, ube_ehri, kredi_no, mteri_ad, miktar) Bu ema; silme, ekleme ve deitirme ilemlerinde kaydn tamamnn yazlmasn gerektirdii iin, iyi bir veri taban emas olarak deerlendirilmez. Bu ema, nce iki ayr emaya blnr. UBE (ube_ad, toplam_mevduat, ube_ehri) KRED (ube_ad,kredi_no, mteri_ad, miktar) KRED emas da aada belirtildii biimde ikiye ayrlr: KREDI_MKTAR (ube_ad, kredi_no, miktar) MTER_KRED (kredi_no,mteri_ad) Bylece kaypsz ayrtrma ilemi gerekletirilmi olur. Burada ortak zellik, kredi_no olup; Kredi_no -> miktar, ube_ad bants kurulmaktadr. Bylece KRED emas, KRED1 (kredi_no, ube_ad) KRED2 (kredi_no, mteri_ad) KRED3 (kredi_no, miktar) biiminde ayr emaya ayrlarak 5NF olumaktadr.file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04085.htm (1 of 2) [24.11.2006 21:26:45]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04085.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04085.htm (2 of 2) [24.11.2006 21:26:45]

Untitled Document

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT04090.htm [24.11.2006 21:26:45]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05005.htm

LKSEL CEBRBu blmde,

likisel cebrin temel ilemleri, Kaytlar arasnda seim, Stunlarn seimi, Kartezyen arpm, Birletirme ilemi, Kesime ilemi, Fark, Doal birletirme, Blme ilemi,

anlatlmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05005.htm [24.11.2006 21:26:45]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05010.htm

Blm HedefiBu blmde,

likisel cebir kavramn, likisel cebrin temel ilemlerinden 1. 2. 3. 4. 5. 6. 7. 8. Seimi, Atma lemini, arpmay, Birletirmeyi, Kesimeyi, Fark, Doal birletirmeyi, Blmeyi,

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05010.htm [24.11.2006 21:26:46]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05015.htm

5.1 likisel Cebir Kavramlikisel cebir (relational algebra), bir ilikisel sorgulama dilidir. Bir veya iki ilikiyi girdi olarak alp sonu olarak yeni bir iliki reten bir dizi ilemden oluur. likisel cebir, bir veri taban sorgulama dilidir. Ancak bu sorgulamalar sadece biimsel olarak yaplr. likisel Cebrin sorgulama dili iin bir yorumlayc ya da bir derleyici yoktur. Bu adan, sonraki blmlerde inceleyeceimiz SQL (Standart Sorgulama Dili)'den farkldr. likisel cebrin temel ilemlerini yanda grebilirsiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05015.htm [24.11.2006 21:26:46]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05020.htm

5.1.1 SeimBelirli bir ilikiden, baz sralar (kaytlar) seerek ortaya koymaya seme ilemi denir. Bu ilem u ekilde tanmlanr: iareti ile gsterilir ve

Seim ileminde, bir seim kriteri kullanlr. Seim kriteri bir eitlik biiminde ortaya konabilir. Bu tr bir ilemde "=" karlatrma ileci yerine " " ilelerinden biri de kullanlabilir.

Ayrca mantksal ilelere de yer vermek mmkndr. "Ve" iin "

"; "veya" iin "

" ileleri kullanlabilir.

! Seim ileminin nasl yapldn grmek iin "Se" dmesine tklaynz. rnek MTER ilikisini (tablosunu) gz nne alalm. "Beikta" ilesindeki mterileri semek iin aada belirtildii biimde bir sorgu dzenlenebilir;

Bu sorgu tablodan iki kaydn seilmesine neden olur. Sorgulamay u ekilde anime edebiliriz :file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05020.htm (1 of 3) [24.11.2006 21:26:47]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05020.htm

rnekMTER tablosunu yeniden gz nne alalm. lesi "Beikta" ve bakiye miktar 100'den byk olan mterileri semek istiyoruz. Amacmza uygun sorgu u ekilde tanmlanabilir;

Bu sorgu, tablodan bir kaydn seilmesine neden olur. Sorgulamay u ekilde gstebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05020.htm (2 of 3) [24.11.2006 21:26:47]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05020.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05020.htm (3 of 3) [24.11.2006 21:26:47]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05025.htm

5.1.2 Atma lemiBelirli bir ilikiden baz stunlar atmak suretiyle yaplan seim ilemidir. Bu ilem (projection) ad verilen bu ilem u ekilde tanmlanr; iareti ile gsterilir. Atma

! Seim ileminin nasl yapldn grmek iin "Se" dmesine tklaynz.

rnekMTER tablosunda yer alan kaytlara bir sorgu uygulayarak, sadece mteri ad ve ehir bilgisi elde edilmek istenmektedir. Sz konusu sorgu ilikisel cebir ifadeleriyle u ekilde ortaya konulabilir;

Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05025.htm (1 of 2) [24.11.2006 21:26:47]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05025.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05025.htm (2 of 2) [24.11.2006 21:26:47]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm

5.1.3 arpmaBelirli bir ilikiden mmkn olabilecek tm iftleri elde ederek tek bir iliki biiminde gstermek iin kartezyen arpm oluturulur. Kartezyen arpm ifade edilir; iareti ile gsterilir. Kartezyen arpm u ekilde

! Kartezyen arpm ileminin nasl yapldn grmek iin "arp" dmesine tklaynz.

rnekAadaki RENC ve DERSLER ilikilerini gz nne alalm. ki tablonun kartezyen arpm, her iki tablonun tm satrlarnn birbirleriyle elenmesi sonucunda elde edilir. Sonu, mmkn olabilecek tm elemeleri kapsayacaktr. Sz konusu arpm u ekilde ifade edilir;

Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm (1 of 4) [24.11.2006 21:26:48]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm

rnekRENC ve DERSLER ilikilerini gz nne alalm. "ktisat" blmnde okuyan ve tm dersleri alan rencileri bulmak iin;

sorgusu tanmlanabilir. Bu sorgu ileminde yer alan

ifadesi, RENC ve DERSLER tablolarndan elde edilebilecek tm ikilileri ifade etmektedir. biimindeki bir tanm ise, bu sonu zerinden blm "ktisat" olan satrlar semektedir. Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm (2 of 4) [24.11.2006 21:26:48]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm

rnek"ktisat" blmnde okuyan ve hem "Matematik" hem de "statistik" dersi alan renciler listelenecektir. Ancak bunlara ilikin olarak sadece ders ve renci ad elde edilecektir. Amacmza uygun sorgu u ekilde olabilir;

Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm (3 of 4) [24.11.2006 21:26:48]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05030.htm (4 of 4) [24.11.2006 21:26:48]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05035.htm

5.1.4 Birletirmeki ilikiden birinde veya her ikisinde birden bulunan kaytlarn seilmesi iin yaplan bir ilemdir. Bu ilem gsterilmektedir.

simgesi ile

rnekAadaki ilikileri gz nne alalm. Bankann "Beikta" ubesinde mevduat ve/veya kredi hesab bulunan kiileri semek ve sadece isimlerini sunmak iin yle bir ifade tanmlanabilir;

Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05035.htm (1 of 2) [24.11.2006 21:26:48]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05035.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05035.htm (2 of 2) [24.11.2006 21:26:48]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05040.htm

5.1.5 Kesimeki ilikide de bulunan kaytlarn belirlenmesi iin kesime ilemi

uygulanr. Bu ilem

iareti ile gsterilir.

rnekAadaki ilikileri gz nne alarak, bankann "Beikta" ubesinde hem mevduat hem de kredi hesab olan mterileri bulmak iin aadaki sorgu dzenlenebilir;

Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05040.htm (1 of 2) [24.11.2006 21:26:49]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05040.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05040.htm (2 of 2) [24.11.2006 21:26:49]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05045.htm

5.1.6 Farkki ilikiden birinde bulunup dierinde bulunmayan kaytlarn bulunmas ilemidir. Fark ilemi (-) iareti ile gsterilir.

rnekAadaki ilikileri gz nne alarak, bankann "Ulus" ubesinde mevduat olup kredisi olmayan mterilerin isimlerini bulmak iin u ekilde bir ilem tanmlanr;

Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05045.htm (1 of 2) [24.11.2006 21:26:49]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05045.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05045.htm (2 of 2) [24.11.2006 21:26:49]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05050.htm

5.1.7. Doal Birletirme(A,B) ve (B,C) niteliklerine sahip iki ayr ilikinin, (A,B,C) niteliklerine sahip tek bir iliki haline dntrlmesine Doal Birletirme denir. Bu ilem iareti ile gsterilir.

! Doal Birletirme ileminin nasl yapldn grmek iin "Doal Birletirme" dmesine tklaynz.

rnekAadaki ilikileri gz nne alarak, kredi hesab olan ve ayn ilede oturan tm mterilerin isimlerini bulmak iin u ekilde bir ifade tanmlanr;

Bu tanm sonucunda KRED ve MTER tablolarnda yer alan ad ve ile nitelikleri karlatrlr ve birbirleriyle eleen kaytlar birletirilir. Sorgulamay u ekilde gsterebiliriz;

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05050.htm (1 of 2) [24.11.2006 21:26:50]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05050.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05050.htm (2 of 2) [24.11.2006 21:26:50]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05055.htm

5.1.8 Blmekili ve birli; iki ayr ilikiyi karlatrarak, birli olan ilikiye e olan ikinci ilikinin deerlerinden oluan, yeni bir iliki oluturulabilir. Bu tr bir ilem blme ilemidir ve (:) iareti ile gsterilir.

! Blme ileminin nasl yapldn grmek iin "Blme" dmesine tklaynz.

rnekBir bankann STANBUL ilindeki btn ubelerinde mevduat hesab olan mterilerini renmek istiyoruz.

Adm 1:ube isimleri UBE ilikisi ile tanmldr. nce STANBUL 'da yer alan tm ubeleri elde edelim.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05055.htm (1 of 3) [24.11.2006 21:26:50]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05055.htm

Adm 2:Bu kez aadaki MEVDUAT tablosunu gz nne alalm. MEVDUAT tablosundan tm mterilerin adn ve ubesini elde etmek iin aada belirtilen ilem uygulanr;

Adm 3:

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05055.htm (2 of 3) [24.11.2006 21:26:50]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05055.htm

Blme ilemi

biiminde tanmlanr. Bu ilem sonucunda aada belirtilen sonu elde edilir. Burada

Adm 1'deki ube isimlerinin Adm 2'dekilerle karlatrld ve eleen kaytlarn elde edildii anlalmaktadr.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05055.htm (3 of 3) [24.11.2006 21:26:50]

Untitled Document

Testin nasl cevaplanacan grmek iin buraya tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT05060.htm [24.11.2006 21:26:50]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06005.htm

SQL YAPISAL SORGULAMA DLBu blmde, SQL yapsal programlama dilini renmeye balayacaz. SQL bir sorgulama dilidir. SQL'in kendine zg deyimleri ve kurallar vardr. Hemen hemen tm ilikisel veri taban ynetim sistemlerinin ortak dili olarak kabul edilmitir. Verileri sorgulamak iin SQL kullanan balca veri taban ynetim sistemleri unlardr:

Oracle Sysbase Microsoft SQL Server DB2 Informix MySQL Microsoft Acces

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06005.htm [24.11.2006 21:26:51]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06010.htm

Blm HedefiBu blmde SQL'de;

SELECT deyiminin temel yapsn, Aritmetik ifadelerin sorgularda kullanmn, Ayn deere sahip satrlarn denetlenmesini, Karlatrma ilelerini, Mantksal ilelerin kullanmn, lelerin ilem srasn, Verinin sralanmasn,

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06010.htm [24.11.2006 21:26:51]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06015.htm

6.1. Sorgulama lemleriSQL'de sorgulama ilemleri, SELECT deyimi yardmyla yerine getirilir. SELECT deyimi temel olarak farkl ilemi yerine getirmek iin kullanlr:

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06015.htm [24.11.2006 21:26:52]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06020.htm

6.1.1. SELECT Deyiminin YapsSELECT deyimi en basit biimde u ekilde ifade edilmektedir;

SELECT [DISTINCT] { * | stun, ....} FROM tablo;

Tanm iinde baz SQL anahtar kelimelerine yer verilmektedir. Bu anahtar kelimeler, SQL 'in kendi zel kelimeleridir ve aynen bu ekilde ifade edilmelidir. SELECT FROM DISTINCT SQL'in sorgulama deyimidir. Hangi tablonun sorgulanacan ifade eder. ift kaytlar nleyen anahtar kelimedir.

Tanmdaki her bir iaretin veya farkl gsterimin hangi anlama geldiini aadaki tablodan grebilirsiniz.

[]

Kullanlmas zorunlu olmayan SQL szckleri, bu iaretler arasnda tanmlanr. Alt izili ve italik olan bu ifadeler, kullanc tarafndan verilen isimleri ifade etmektedir. Bunlar SQL szc deildir.

{..|.. } *

Bu biimde gsterilen ifadeler, birden fazla seenein varln ve bu seeneklerden birinin mutlaka seilmesi gerektiini ifade eder. Seenekler birbirlerinden | iareti ile ayrlmaktadr. Tek bir stunu deil, tm stunlar ifade eder.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06020.htm [24.11.2006 21:26:52]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06025.htm

6.1.2. SELECT Yazm KurallarSQL deyimleri dzenlenirken baz kurallar ve nerileri gz nnde tutmak gerekmektedir. Aksi takdirde sorgu hata verir ve almaz. SQL sorgu yazm kurallarn aadaki animasyonu inceleyerek grebilirsiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06025.htm [24.11.2006 21:26:52]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06030.htm

6.1.3 Bir Tablonun Tm Satrlarn SemekBir tablonun tm stunlarn semek sz konusu ise, SELECT deyimi iinde stun isimleri yerine; * iareti kullanlr.

rnek:BLM isimli tablonun stunlar unlardr; Stun ad Blm_no Blm_ad Konumu Aklama Blm numarasdr. Blmn addr. Blmn bulunduu yerin addr.

Bu tablonun ierdii tm verileri grntlemek istiyoruz. Bunun iin aada belirtilen SELECT deyimi dzenlenir: SELECT * FROM BLM; Bu deyimi, daha izlenebilir olmasn salamak iin u ekilde de yazabiliriz; SELECT * FROM BLM; Sorgunun nasl altn aada grebilirsiniz. ! Sorguyu altrmak iin "altr" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06030.htm (1 of 2) [24.11.2006 21:26:53]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06030.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06030.htm (2 of 2) [24.11.2006 21:26:53]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06035.htm

6.1.4. Belirli Stunlarn SeilmesiTablo iinde belirlenen stunlarn elde edilmesi sz konusu ise, SELECT deyimi iinde bu stun isimlerine yer verilir. Stun isimleri virgllerle birbirlerinden ayrlr.

rnek:BLM tablosunun sadece blm numaralarn ve blm isimlerini ieren stunlarn, yani BLM_NO ve BLM_ADI stunlarn seerek grntlemek istiyoruz. Amacmza uygun SELECT deyimi u ekilde dzenlenebilir; SELECT BLM_NO, BLM_ADI FROM BLM;

Stun isimleri, tablo isimleriyle birlikte ifade edilebilir. zellikle birden fazla tablo varsa bu yola bavurulur. Bunun iin, tablo ismi her bir alann bana eklenir ve araya bir nokta iareti konur. SELECT BLM.BLM_NO, BLM.BLM_ADI FROM BLM;

Sorgunun nasl altn aada grebilirsiniz. ! Sorguyu altrmak iin "altr" dmesine tklaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06035.htm (1 of 2) [24.11.2006 21:26:53]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06035.htm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06035.htm (2 of 2) [24.11.2006 21:26:53]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06040.htm

6.2. Aritmetik ifadelerAritmetik ifadeler; stun isimleri, sabit saysal deerler ve aritmetik ilelerden oluur. rnein, bir tablonun CRET isimli stunundaki saysal deeri 12 ile arpmak iin, CRET*12 biiminde bir ifade tanmlanabilir. SELECT deyimi iinde bir ifade tanmlandnda, bu ifade ayr bir stun biiminde yaratlm olacaktr.

rnekPERSONEL tablosunun PERSONEL ve CRET isimli iki stunu listelenecektir. Ayrca CRET stununun ierdii deere; 1500 deeri eklenerek (yani cretlere zam yaplyor) ayr bir stun elde etmek istiyoruz. Amacmza uygun SELECT deyimi aada grld biimde dzenlenebilir; SELECT PERSONEL_NO, ADI, CRET+1500 FROM PERSONEL; ! Aritmetik leleri ve anlamlarn grmek iin 'DEVAM' dmesine tklaynz.

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06040.htm [24.11.2006 21:26:54]

6.2. Aritmetik ifadeler

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06040_1.htm [24.11.2006 21:26:54]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06045.htm

6.2.1. Aritmetik fadelerde lem SrasAritmetik ileler, SELECT deyiminin FROM szc dnda herhangi bir yerinde kullanlabilir.

rnekPERSONEL tablosunun, PERSONEL ve CRET isimli iki stunu listelenecektir. Burada CRET, aylk cret rakamn iermektedir. Yllk crete 500 deerini eklemek istiyoruz. Sz konusu hesaplamay salayan ifade u ekilde olacaktr; 12*CRET+500 Buna gre * ilecinin nceliinden dolay nce 12 ile CRET arplacak ve bulunan deere 500 eklenecektir. Amacmza uygun SELECT deyimi u ekilde olabilir; SELECT PERSONEL_NO, ADI, 12*CRET+500 FROM PERSONEL;

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz Aritmetik fadelerde lem Sras

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06045.htm [24.11.2006 21:26:54]

6.2.1. Aritmetik fadelerde lem Sras

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06045_1.htm [24.11.2006 21:26:55]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06050.htm

6.2.2 Aritmetik fadelerde Parantezlerin KullanmParantezler, aritmetik ifadeler iinde dier tm ilelere gre bir ncelie sahiptir. nce parantez iindeki ilemler gerekletirilir.

rneknceki ksmdaki rnekte 12*CRET+500 biiminde bir tanm yaparak, yllk crete zam yapmtk. Bu kez aylk crete 500 zam yapmak istiyoruz. Amacmza uygun ifade u ekilde olabilir: 12*(CRET+500) Bu durumda, cret stununun ierdii deere 500 eklenir ve bulunan deer 12 ile arplr. Amacmza uygun SELECT deyimi u ekilde olabilir; SELECT PERSONEL_NO, ADI, 12*(CRET+500) FROM PERSONEL;

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06050.htm [24.11.2006 21:26:55]

6.2.2 Aritmetik fadelerde Parantezlerin Kullanm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06050_1.htm [24.11.2006 21:26:55]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06055.htm

6.2.3 Aritmetik fadelerde NULL Deerlerin KullanmNULL Deer; var olmayan, atanamayan, bilinmeyen bir deer olarak kabul edilir. NULL Deer, bir sfr ya da boluk olarak da deerlendirilmez. Eer bir stun NULL deerler ieriyorsa, SELECT deyimi altrldnda bu deerler bo olarak grntlenir.

rnekEer bir aritmetik ifade iinde NULL deer ieren bir stun varsa, ifade ne olursa olsun o satrlarla ilgili sonu da NULL olarak elde edilir. KOMSYON isimli stunun NULL deerler ierdii bilinmektedir. O halde; SELECT ADI, CRET,KOMSYON, 12*CRET+KOMSYON FROM PERSONEL; deyimi altrldnda, tanmlanan aritmetik ifade her satr iin NULL deerler retecektir. NULL ile yaplan hesaplamalara dikkat ediniz. rnein, 12*7000+NULL

NULL

olduu unutulmamaldr.

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06055.htm [24.11.2006 21:26:56]

6.2.2 Aritmetik fadelerde NULL Deerlerin Kullanm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06055_1.htm [24.11.2006 21:26:56]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06060.htm

6.3. Stunlar in Takma simler KullanmSELECT deyimi altrldnda, elde edilen sonular yine stunlar biiminde olacaktr. Tablonun stun isimleri, SELECT deyiminin almas sonucu elde edilen listenin stun balklar olacaktr. Bunun yerine, kt stunlarna istenilen balklar atanabilir. AS anahtar kelimesi bu amala kullanlr. Eer takma isim birden fazla kelimeden oluuyorsa trnak iaretleri arasnda belirtilebilir.

rnekPERSONEL tablosunun PERSONEL stunu iin SM, cret stunu iin AYLIK_CRET takma isimlerini atayacaz. Ayrca yllk creti hesaplayarak bu stuna da YILLIK_CRET takma ismini vermek istiyoruz. Amacmza uygun SELECT deyimi u ekilde olabilir; SELECT ADI AS SM, CRET AS AYLIK_CRET, 12*CRET+KOMSYON AS YILLIK_CRET FROM PERSONEL; Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06060.htm [24.11.2006 21:26:57]

6.3. Stunlar in Takma simler Kullanm

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06060_1.htm [24.11.2006 21:26:57]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06065.htm

6.4. Stun eriklerini BirletirmeStunlarn ierdikleri deerleri, birbiriyle ya da bir baka karakter dizisi ile birletirerek yeni deerler elde edilebilir. Birletirme ileci olarak (||) simgesi kullanlabilir. Bu ilecin kulllanm veri tabanlarnda farkllk gsterebilir. rnein, ORACLE veri tabannda (||); MS Access veri tabannda ise (&) ileci ayn amala kullanlr.

rnekPERSONEL ad ve grev bilgisini birletirerek, iki stun bilgisi arasna "-" iaretini yerletirmek ve tek stun biiminde grntlemek istiyoruz. SELECT deyimini ORACLE veri taban iin u ekilde dzenleyebiliriz; SELECT ADI || '-' || GREV AS ADI_GREV FROM PERSONEL;

Ayn amaca SELECT deyimini MS Access veri tabannda u ekilde kullanarak ulaabiliriz; SELECT ADI & "-" & GREV AS ADI_GREV FROM PERSONEL; Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06065.htm [24.11.2006 21:26:57]

6.4. Stun eriklerini Birletirme

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06065_1.htm [24.11.2006 21:26:58]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06070.htm

6.5. Ayn Deere Sahip SatrlarBir SELECT deyimi altrldnda, ayn deerlere sahip satrlarn grntlenmesi engellenemez. rnein, SELECT BLM_NO FROM PERSONEL; deyimi altrldnda, PERSONEL tablosunun BLM_NO stunu ierikleri aynen listelenir. Bu stunun ierdii deerlerin ou birbirinin ayn olabilir. Eer tekrarl deerlerin sadece bir tanesinin elde edilmesi sz konusu ise, SELECT deyimi DISTINCT anahtar kelimesi ile birlikte kullanlr. SELECT DISTINCT BLM_NO FROM PERSONEL;

rnekPERSONEL tablosunun BLM_NO stunundaki verileri tekrarlatmadan listelemek istiyoruz. Bunun iin aada belirtilen yol izlenir; SELECT DISTINCT BLM_NO FROM PERSONEL;

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06070.htm [24.11.2006 21:26:58]

6.5. Ayn Deere Sahip Satrlar

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06070_1.htm [24.11.2006 21:26:58]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06075.htm

6.6. Verinin SnrlandrlmasVeri tabanndan veriyi alma srasnda, satrlara baz kstlamalar koyarak, tablonun tm satrlar yerine bir ksm elde edilebilir. Tablonun belirli ksmlarn semek iin WHERE szc kullanlr. Bu szck SELECT deyimi iinde aada gsterildii biimde yer alr. WHERE szc iinde tanmlanan koul; stun iindeki deerleri, literal deerleri, aritmetik ifadeleri veya fonksiyonlar ierebilir.

rnekPERSONEL tablosu iinde yer alan PERSONEL arasnda grevi MEMUR olanlar seerek listelemek istiyoruz. Amacmza uygun SELECT deyimi u ekilde dzenlenebilir; SELECT ADI,GREV,BLM_NO FROM PERSONEL WHERE GREV='MEMUR';

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06075.htm [24.11.2006 21:26:59]

6.6. Verinin Snrlandrlmas

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06075_1.htm [24.11.2006 21:26:59]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06080.htm

6.6.1. Karlatrma leleriWHERE szc iinde tanmlanan kstlama ifadelerinde, yani koul ifadelerinde eitli karlatrma ileleri kullanlr.

rnekcreti 2500'den daha az ya da eit olan PERSONELi seerek listelemek istiyoruz. Amacmza uyan SELECT deyimi u ekildedir; SELECT ADI,GREV,CRET FROM PERSONEL WHERE CRET=2000 AND GREV='MEMUR'; Eer belirli bir personelin creti 2000'e eit veya daha fazla ise; CRET>=2000 koulu doru olacaktr. Yani TRUE deerini dndrr. Ayn personelin grevi memur ise yani, GREV='MEMUR' koulu doru ise, bu koul da TRUE deerini dndrr. Bylece her iki koul iin TRUE deerlerine sahip olan personel isimleri listelenir.

AND leci Doruluk Tablosu

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06111.htm [24.11.2006 21:27:04]

6.6.3.1 AND leci

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06111_1.htm [24.11.2006 21:27:04]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06112.htm

6.6.3.2 OR leciOR ileci; iki koulun yandaki doruluk deeri tablosuna gre TRUE veya FALSE deerinin dndrlmesini salar. Eer, her iki koulun doruluk deeri TRUE ise istenen seme ilemi gerekleir.

rnekKomisyon alan veya grevi MEMUR olan personeli listelemek istiyoruz. Amacmza uygun SELECT deyimi u ekildedir; OR leci Doruluk Tablosu SELECT ADI, GREV, CRET FROM PERSONEL WHERE KOMSYON IS NOT NULL OR GREV='MEMUR';

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06112.htm [24.11.2006 21:27:04]

6.6.3.2 OR leci

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06112_1.htm [24.11.2006 21:27:04]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06113.htm

6.6.3.3 NOT leciNOT ileci; bir koulun doruluk deeri TRUE ise FALSE; FALSE ise TRUE deerini dndrmesini salar. Bu ile IN, LIKE, NULL ve BETWEEN ileleriyle birlikte kullanlabilir.

rnekMeslei MEMUR, EF veya PAZARLAMACI olmayan personeli listelemek iin aadaki SELECT deyimi kullanlabilir; NOT leci Doruluk Tablosu SELECT ADI, GREV FROM PERSONEL WHERE GREV NOT IN('MEMUR', 'EF', 'PAZARLAMACI'); Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06113.htm [24.11.2006 21:27:05]

6.6.3.3 NOT leci

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06113_1.htm [24.11.2006 21:27:05]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06115.htm

6.6.4. lelerin lem SrasWHERE szc iinde yer alan ileler, yanda gsterilen sraya gre ilem grrler. Bu ilelerin dnda, parantezler de kullanlabilir. Parantezler tm ilelere gre bir ncelie sahiptir. Yani ncelikle parantez iindeki ilemler yaplr, ardndan da yandaki tabloya gre ilem sras uygulanr.

rnekAadaki SELECT deyimini gz nne alalm: SELECT ADI, GREV,CRET FROM PERSONEL WHERE GREV='MEMUR' OR GREV='EF' AND CRET>3000; lelerin ncelik srasn gz nne alarak deerlendirme yapmamz gerekiyor. AND ileci OR dan daha ncelikli olduu iin, AND ilecini ilgilendiren koulu ncelikle deerlendirmemiz gerekiyor. Ardndan geriye kalan koulu gz nne alyoruz. O halde aada belirtildii biimde iki kouldan sz edilebilir; ! Karlatrma leleri ve anlamlar grmek iin 'DEVAM' dmesine tklaynz. 1) Grevi EF olanlar ve creti 3000'den fazla olanlar 2) Grevi MEMUR olanlar Bu iki koulu ncelik sralarn gz nne alarak birletirirsek, yle bir seme ilemiyle karlarz; "Grevi EF olanlar ve creti 3000'den fazla olanlar veya grevi MEMUR olanlarn seimi"

rnekGrevi; EF veya MEMUR olanlar ve creti 3000'den fazla olanlarn seimini yapacak SELECT deyimini yaznz. SELECT ADI, GREV,CRET FROM PERSONEL WHERE (GREV='MEMUR' OR GREV='EF') AND CRET>3000;

Parantezlerin ncelik srasna sahip olduunu unutmaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06115.htm [24.11.2006 21:27:06]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06120.htm

6.7. Sralama lemleriTablolarn satrlarnn, herhangi bir stuna gre sral olarak elde edilmesi sz konusu ise, SELECT deyimi ORDER BY szckleri ile birlikte kullanlr. Sralama szckleri de dahil olmak zere SELECT deyimi u ekilde tanmlanr;

SELECT [DISTINCT] { * | stun, ....} FROM tablo [WHERE koul [ORDER BY {stun, ifade} [ASC | DESC] ];

rnekPersoneli ie giri tarihine gre sralamak istiyoruz. Bunun iin SELECT deyimi u ekilde dzenlenebilir; SELECT ADI, GREV, GR_TARH FROM PERSONEL ORDER BY GR_TARH; Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

rnekBu kez personeli cretine gre her blm iinde sralamak istiyoruz. Bu durumda, blmleri ve cretleri birlikte sralamz sz konusudur. SELECT deyimi u ekilde dzenlenebilir; SELECT BLM_NO, ADI, CRET FROM PERSONEL ORDER BY BLM_NO, CRET DESC;

Yukardaki sorgulamann sonucunu grmek iin linke tklaynz

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06120.htm [24.11.2006 21:27:06]

6.7. Sralama lemleri

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06120_1.htm [24.11.2006 21:27:06]

6.7. Sralama lemleri

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06120_2.htm [24.11.2006 21:27:07]

Untitled Document

Testin nasl cevaplanacan grmek iin buraya tklaynz. Aada verilen tablolar gz nne alarak sorular yantlaynz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06130.htm (1 of 2) [24.11.2006 21:27:07]

Untitled Document

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT06130.htm (2 of 2) [24.11.2006 21:27:07]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07005.htm

SQL FONKSYONLARININ KULLANIMIBu blmde, SQL yapsal programlama dilinde standart olarak bulunan ve veri taban ynetiminde bizlere byk kolaylkar salayan temel SQL fonksiyonlarn ve bu fonksiyonlarn nasl kullanlacan reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07005.htm [24.11.2006 21:27:07]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07010.htm

Blm HedefiBu blmde,

Fonksiyon kavramn, SQL'de fonksiyonlarn yerini, Tek satr fonksiyonlarnn kullanmn, Karakter fonksiyonlarn, Saysal fonksiyonlar, Tarih fonksiyonlarn, Dntrme fonksiyonlarn, Dier SQL fonksiyonlarn, ie fonksiyon kullanmn,

reneceksiniz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07010.htm [24.11.2006 21:27:08]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07015.htm

7.1. FONSYON NEDR?Fonksiyonlar veya bir baka deyile ilevler, SQL'e baz gl zellikler katan olanaklar olarak deerlendirilir. SQL fonksiyonlar, aynen programlama dillerinde olduu gibi, kullancya baz zel ilemleri ve hesaplamalar otomatik olarak salar. Bir fonksiyon; eitli argmanlar girdi olarak alp bir sonu reten hazr bileenlerdir. Kullancnn, fonksiyonun adn ve gerekli argmanlar tanmlamas yeterlidir. Bu bilgilere dayal olarak fonksiyon, bir sonu dndrr (retir).

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07015.htm [24.11.2006 21:27:08]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07020.htm

7.2. SQL FonksiyonlarSQL fonksiyonlar iki ana grup altnda incelenmektedir:

Tek satr fonksiyonlar, tablonun bir satr iin uygulanr ve her satr iin bir sonu retilir. oklu satr fonksiyonlar ise, bir grup satra uygulanr ve sonu buna gre elde edilir.

Burada anlatlan SQL standart ANSI SQL 'dir. Ancak baz fonksiyonlar tm veri tabanlarnn desteklemediini greceksiniz. ANSI SQL'in tm zelliklerini barndran ORACLE veri taban zerinde altmz varsayarak, fonksiyonlar ona gre anlatacaz.

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07020.htm [24.11.2006 21:27:08]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07025.htm

7.3. Tek Satr FonksiyonlarTek satr fonksiyonlar, tablonun her bir satrna uygulanan fonksiyonlardr. Tek satr fonksiyonlarnn birok tr bulunmaktadr.

Bu derste, aksi sylenmedike "fonksiyon" szc ile tek satr fonksiyonlarndan sz edildii anlalacaktr. Tek satr fonksiyonlarn aada belirtildii biimde tanmlyoruz;

fonksiyon stun ifade argmanlar

Herhangi bir SQL fonksiyonunu simgeler. rnein LOWER bir fonksiyon ismidir. Bu ismi deitiremeyiz. Herhangi bir tabloya ilikin stun ad Herhangi bir karakter dizisi ya da hesaplama ifadesi Fonksiyonla birlikte kullanlabilecek argmanlar

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07025.htm [24.11.2006 21:27:09]

file:///D|/Belgeler/Universite/Donem_III/Dersler/TBIL_403/VT07030.htm

7.3.1. Karakter FonksiyonlarKarakter fonksiyonlar; karakter verileri girdi olarak alan, karakter ya da saysal deerler dndrebilen fonksiyonlardr.

Bu fonksiyonlarn en ok kullanlanlarn u ekilde sralayabiliriz;

Alfabetik karakterle