Professional Documents
Culture Documents
MEGEP
(MESLEK ETM VE RETM SSTEMNN GLENDRLMES PROJES)
BLM TEKNOLOJLER
ANKARA 2008
Milli Eitim Bakanl tarafndan gelitirilen modller; Talim ve Terbiye Kurulu Bakanlnn 02.06.2006 tarih ve 269 sayl Karar ile onaylanan, Mesleki ve Teknik Eitim Okul ve Kurumlarnda kademeli olarak yaygnlatrlan 42 alan ve 192 dala ait ereve retim programlarnda amalanan mesleki yeterlikleri kazandrmaya ynelik gelitirilmi retim materyalleridir (Ders Notlardr). Modller, bireylere mesleki yeterlik kazandrmak ve bireysel renmeye rehberlik etmek amacyla renme materyali olarak hazrlanm, denenmek ve gelitirilmek zere Mesleki ve Teknik Eitim Okul ve Kurumlarnda uygulanmaya balanmtr. Modller teknolojik gelimelere paralel olarak, amalanan yeterlii kazandrmak koulu ile eitim retim srasnda gelitirilebilir ve yaplmas nerilen deiiklikler Bakanlkta ilgili birime bildirilir. rgn ve yaygn eitim kurumlar, iletmeler ve kendi kendine mesleki yeterlik kazanmak isteyen bireyler modllere internet zerinden ulalabilirler. Baslm modller, eitim kurumlarnda rencilere cretsiz olarak datlr. Modller hibir ekilde ticari amala kullanlamaz ve cret karlnda satlamaz.
NDEKLER
AIKLAMALAR ....................................................................................................................ii GR ....................................................................................................................................... 1 RENME FAALYET - 1 ................................................................................................... 3 1. VER TABANI .................................................................................................................... 3 1.1. Veri Taban Oluturmak................................................................................................ 3 1.1.1. Management Studio ile Veri taban Oluturmak ................................................... 3 1.1.2. Transact SQL ile Veri Taban Oluturmak ............................................................ 5 1.2. Veri Taban Seeneklerini Ayarlamak .......................................................................... 6 1.3. Veri Taban Silmek ....................................................................................................... 8 1.4. likisel Veri Taban Nesneleri ..................................................................................... 8 1.5. Tablolar ......................................................................................................................... 8 1.5.1. Tablo Oluturmak .................................................................................................. 8 1.5.2. Tabloya Stun Eklemek....................................................................................... 10 1.5.3. Stun zelliklerini Deitirmek .......................................................................... 12 1.5.4. Tablodan Stun Silmek........................................................................................ 14 1.5.5. Tablo Silmek........................................................................................................ 14 1.5.6. Nesnelerin T-SQL fadelerini Almak .................................................................. 15 1.6. Veri Trleri ................................................................................................................. 20 1.6.1. Karakter Dizilimi ................................................................................................. 21 1.6.2. Unicode Karakter Dizilimi .................................................................................. 22 1.6.3. Tarih ve Saat Veri Trleri.................................................................................... 23 1.6.4. Tahmini Saysal Veri Tr .................................................................................. 23 1.6.5. Kesin Saysal Veri Tr....................................................................................... 23 1.6.6. Tam Say Veri Tr ............................................................................................. 24 1.6.7. Parasal Veri Tr................................................................................................. 24 1.6.8. Binary (kili) Veri Tr ....................................................................................... 24 1.6.9. zel Veri Trleri.................................................................................................. 25 1.6.10. Kullanc Tanml Veri Trleri........................................................................... 25 UYGULAMA FAALYET .............................................................................................. 27 LME VE DEERLENDRME .................................................................................... 28 RENME FAALYET - 2 ................................................................................................. 28 2. PLANLAMA...................................................................................................................... 28 2.1. Veri Taban Normalizasyonu ...................................................................................... 28 2.2. Kaytlarn likilendirilmesi ........................................................................................ 31 2.2.1. Bire-Bir liki....................................................................................................... 31 2.2.2. Bir-ok liki ....................................................................................................... 31 2.2.3. ok-ok liki ..................................................................................................... 32 2.3. Dosya Gruplar (File Groups) ..................................................................................... 32 2.3.1. Dosya Gruplarnda (File Groups) Dikkat Edilmesi Gereken Hususlar ............... 32 2.3.2. Dosya Gruplarnn (File Groups) Faydalar......................................................... 33 UYGULAMA FAALYET .............................................................................................. 34 LME VE DEERLENDRME .................................................................................... 38 MODL DEERLENDRME .............................................................................................. 39 CEVAP ANAHTARLARI ..................................................................................................... 40 KAYNAKA ......................................................................................................................... 41
AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI SRE N KOUL YETERLK 481BB0043 Biliim Teknolojileri Veri Taban Programcl A Veri Taban Planlama Bir veri taban oluturma, veri taban bileenlerini kullanma ve veri modeli yapabilmeyle ilgili bilgilerin kazandrld renme materyalidir. 40/32 A Veri Taban- 1 modln bitirmi olmak
MODLN AMACI
Genel Ama Gerekli ortam salandnda, veri taban oluturup veri taban nesnelerini kullanabileceksiniz. Amalar 1. Veri taban kavramlar ve nesnelerini kullanabileceksiniz. 2. Veri taban planlamas zerinde alabileceksiniz. Ortam: Atlye, laboratuar, bilgi teknolojileri ortam ( internet ) vb., kendi kendinize veya grupla alabileceiniz tm ortamlar. Donanm: A veri tabann altrabilecek yeterlikte bilgisayar, yedekleme iin gerekli donanm (CD yazc, flash bellek), raporlama iin yazc, kt ve kalem Her faaliyet sonrasnda o faaliyetle ilgili deerlendirme sorular ile kendi kendinizi deerlendireceksiniz. Modl sonunda uygulanacak lme aralar ile modl uygulamalarnda kazandnz bilgi ve beceriler llerek deerlendirilecektir.
LME VE DEERLENDRME
ii
GR
GR
Sevgili renci, Okul yaantnzda reneceiniz her konu, yaptnz uygulamalar ve tamamladnz her modl bilgi daarcnz gelitirecek ve ilerde atlacanz i yaantnzda size baar getirecektir. Eitim srecinde daha z verili alr ve alma disiplinini kazanrsanz; baarl olmamanz iin hibir neden yoktur. Son yllarda yaplan birok proje ok sayda bilgisayar tarafndan kullanlabilecek ekilde tasarlanmaktadr. Bu yzden, a ortamnda birden fazla kullanc ayn proje zerinde alabilmektedir. Bu ilemleri ok sk kullandnz veri taban programyla da yapabilmenize ramen a ortamnda gvenlik ve hzl eriim asndan en iyi sonucu veren SQL Server veri tabanyla da yapabilirsiniz. Bu programla, milyonlarca kaydn olduu tablolar zerinde ilem yaparken tm kullanclara hitap edebilmektedir. stenilen sorgu sonularn da en hzl ekilde elde edebilmenizi salar. Bu modlle, veri taban nesnelerini, veri tabannn oluturulmasn ve planlamasn reneceksiniz.
ARATIRMA
Daha nce rendiiniz modllerde bir veri tabannn nasl oluturulduunu aratrnz. Bir tablo oluturmann faydalarn aratrnz.
1. VER TABANI
Veri taban dzenli bilgiler topluluudur. Kelimenin anlam; bilgisayar ortamnda saklanan dzenli verilerle snrl olmamakla birlikte, daha ok bu anlamda kullanlmaktadr. Bilgisayar terminolojisinde, sistematik eriim imkn olan, ynetilebilir, gncellenebilir, tanabilir, birbirleri arasnda tanml ilikiler bulunabilen bilgiler kmesidir. Bir baka tanm da, bir bilgisayarda sistematik ekilde saklanm, programlarca istenebilecek veri yndr.
Database name alanna veri taban iin uygun bir isim girerek OK dmesine tklatnz.
Birincil (Primary) dosya, veri taban iin gerekli olan tm nesneleri saklayan dosyadr. Bir veri taban oluturulurken birincil dosya belirtilmemise ilk oluturulan dosya birincil dosya olarak belirlenir. Veri tabannda mutlaka birincil dosya bulunmaldr. Oluturulan veri tabannda kullanlan ifadelerin anlamlar yledir. Veri taban_ismi: Veri tabanna verilecek isimdir. Dosya_takma_ismi: Veri tabanndaki dosyalar iin belirlenen takma isimdir. lgili dosyaya eriimde pratiklik salar. letim sistemince bilinen isimdir. Fiziki_dosya_ismi: letim sisteminde saklanacak dosyann adn ve yolunu belirtir. Bu isimde iletim sistemince bilinen bir isimdir. Dosya_boyutu: Veri taban tanmlandndaki boyutunu belirtir. Balangta 1MBtr. Management Studioda bu 3MB olarak tanmlanr. Oluturulacak log dosyas da bunun %10u kadardr. Maksimum_dosya_boyutu: Dosyann maksimum boyutunu belirtir. Belirtilmezse disk dolana kadar dosya artm miktar kadar artmaya devam eder. Dosya_artm_miktar: Dosyann belirtilen boyutu dolduunda dosya boyutu otomatik olarak artar. Artm miktar bu parametreyle belirtilir.
Options sekmesinden gerekli olan ayarlamalar yaplabilir. Ayrca, T-SQL deyimi olan ALTER DATABASE deyimi de ayn ilevi grmektedir. Veri tabannda ayarlanabilecek baz zellikler unlardr: Auto Close: Server kullanclar balantlarn kestiklerinde veri taban sunucusu otomatik olarak dosyalar serbest brakr. Bu dosyalar iletim sisteminden deitirilebilir hle gelir. Auto Create Statistics ve Auto Update Statistics: SQL Serverda baz komutlar iin sorgulamalar yaplrken sorgu sonular istatistiksel olarak kaydedilir ve gncellenebilir. Auto Shrink: Veri tabannn otomatik olarak kltlmesini ayarlar. ANSI Null Default: Bu seenek False olursa tablodaki alan bo olamaz demektir. True bunun tam tersidir. Database Read Only: Bu seenek veri tabannn sadece okunabilir olmasn salar. Deitirilme yaplamaz. Recovery Model: Veri taban zerinde yaplan ilemlerin ayrntl olup olmamas bu seimle ayarlanr. Restrict Access: Restricted seimi, Servera bal kullanclar ve db_owner (sahip) kullanc dndaki dier kullanclarn veri taban dosyasna eriimini engeller. Seenein Single olmas, tek bir kiinin veri tabann kullanmasn salar. Multiple ise birok kullancnn bu veri tabann kullanmasn salamaktadr. Collation: Dil ayarlarnn yapld seenektir.
Roller Kurallar Varsaylan Deerler Kullanc Tanml Veri Trleri Kullanc Tanml Fonksiyonlar
1.5. Tablolar
SQL Serverda her ilem tablolarda yapldndan, tablolarn eitli zelliklerini ve tablolar ynetmeyi bu blmde reneceksiniz. Tablolarda ilemler Management Studioyla yaplabildii gibi T-SQL komutlaryla da yaplabilir.
New Table komutunu verdiinizde tablolarn alanlarn, veri tipini ve alana bilgi girilip girilmeyecei zorunluluunun belirtildii ekran grnts karnza gelecektir.
Column Name, tablodaki alanlarn adn; Data Type, alanlarn alaca verilerin trlerini; Allow Nulls, alann bilgi ierip iermeyeceinin zorunluluunu gstermektedir. Tabloda bulunmasn istediiniz alanlar belirledikten sonra oluturduunuz tabloyu kaydetmeniz gerekmektedir. Bunun iin ara ubuunda bulunan (Save) dmesine tklamalsnz. Save dmesine tkladnzda ekrana Choose Name diyalog kutusu gelecektir.
sterseniz tablonun adn uygulamanzn ieriine gre de adlandrabilirsiniz. Mterilerle ilgili bir veri tabannda oluturduunuz tabloya TabloSiparis adn verebilirsiniz.
Tablo adn yazdktan sonra OK dmesine tklatnz. Artk tablonun ad yazdnz ad olarak deitirilecektir.
Bylece Management Studio kullanlarak bir tablo oluturulmu olur. T-SQL ile de tablo oluturulabilir. Tablo Oluturma iin genel ifade u ekildedir: CREATE TABLE tablo_adi (kolon_adi1 veri_tipi[NOT NULL][, kolon_adi2 veri_tipi[NOT NULL],.......]) eklindedir. [NOT NULL] ifadesi yazlmas zorunlu olmayan bir ifadedir. Kolon adlar istenilen sayda olabilir. rnek CREATE TABLE tablo2 (ad nchar NOT NULL, soyad nchar NOT NULL) eklinde bir T-SQL yazmyla da tablo oluturulabilir.
10
New Column komutunu verdiinizde daha nceden oluturduunuz stunlarn en altna bir stun daha eklenecektir.
Eklenen stuna bir ad verdikten ve veri tipini setikten sonra tablonuza bir stun daha eklemi olursunuz. Bir baka yntemle, tablo ekrannda farenin sa tuuna bastnzda gelen menden Insert Column komutunu vermeniz yeterli olacaktr.
T-SQL komutuyla da tabloya stun ekleyebilirsiniz. Tablo stnde deiiklik yapabilmek iin genel olarak ALTER TABLE deyimi kullanlr.
11
Tabloya stun eklemek iin kullanlacak genel yap u ekilde olmaldr. ALTER TABLE tablo_adi ADD sutun_adi sutun_ozelligi Stun zellii parametresinde veri tipi, stunun uzunluu gibi tanmlamalar yer alr. rnek ALTER TABLE tablo1 ADD adres VARCHAR(50) eklinde bir yazmla tablonuza bir stun eklemi olursunuz. Bir tabloya, kayt girildikten sonra stun eklenecekse, bu stun NOT NULL ile tanmlanrken dikkat etmek gerekir. Hesaplanm stun veya default deer olmadan bu ilem gereklemez.
Modify komutunun verilmesiyle deitirmek istediiniz stun dier mevcut stunlarla birlikte ekrana gelecektir.
12
Stunun geniliini veya veri tipini deitirmek iin de Column Properties (Stun zellikleri) penceresinden gerekli deiiklikleri yapabilirsiniz.
Tm bu ilemleri yaptktan sonra projenizi kaydetmeyi unutmaynz. Ayrca, Object Explorer penceresinde de yaplan deiiklikleri grmek iin stun (Columns) zerinde iken sa klik yapp alan menden Refresh komutunu vermelisiniz.
13
Silmek istediiniz stun ad bu pencerede gsterilecek ve OK dmesine tklamanz hlinde stun silinmi olacaktr.
14
Delete Object penceresinde silmek istediiniz tablo gsterilecektir. OK dmesine basarak tabloyu silebilirsiniz.
15
Al ekran geldikten sonra Next dmesine tklanr. T-SQL ifadesi alnacak veri tabannn seilmesi iin Resim 1.25 ekrana gelir.
16
Veri taban seilip Next dmesine tklanmaldr. Nesnelerin nasl script edileceinin belirlendii pencere ekrana gelecektir.
Bu pencerede script zelliklerinin ayarlamalar yaplabilir. Next dmesi ile ekrana nesne seim ekran gelecektir.
17
Bu projede sadece tablolar olduu iin Tables seimi vardr. Seimi iaretleyip Next dmesine tklandnda tablo seim ekran karnza gelecektir.
fadesi alnacak tablo seimi yaplp Next dmesine tklanmaldr. k seenei ekran gelecektir.
18
Elde edilecek verilerin nereye alnaca bu ekranda sorulur. Yeni bir sorgu ekran seimini yapabilirsiniz. lgili seimi yapp Next dmesine tklaynz. Ekrana zet (Summary) ekran penceresi gelecektir.
19
Close dmesine tklatarak ilemi bitiriniz. Bylece T-SQL ifadeleri yeni bir sorgu dosyasna alnm olacaktr.
20
Sistem tanml veri trleri kategorileri unlardr. Karakter dizilimi (Character strings) Unicode karakter dizilimi (Unicode character strings) Tarih ve saat (Date and time) Tahmini saysal (Approximate numeric) Kesin saysal (Exact numeric) Tam saylar (Integer numbers) Parasal (Monetary) kili (Binary) zel (Special)
Baz durumlarda, bir veri trn T-SQL kodda ilikilendirmek iin farkl tanmlayclar/tantclar kullanabilirsiniz. rnein; Char veri tr Karakter olarak, varchar ise karakter eitlilii olarak ele alnabilir. Bu e anlaml szcklerin bazlar ANSI SQL-92 standart gereksinimlerine dayanmaktadr.
char veri tr, sabit boyuttaki dizilimleri depolamak iin kullanlr. Daha nce belirtildii gibi, bu veri trnn maksimum uzunluu/boyutu 8000 karakterdir ki bu, eski versiyonlardaki 255 karakter limiti balamnda kayda deer bir arttr. rnek TCKimlikNo char(11) varchar veri tr, 8000 karakter uzunlua kadar olan eitli boyutlarda dizilimleri depolar. Uzunluu nominal boyuttan az olan karakter deeri bir stuna veya bir deikene atandnda SQL Server peinden boluklar eklemek yerine onu olduu gibi kaydeder. Varchar veri trleri dizilimin uzunluunu kaydetmek iin 2 ilave byte kaplar. rnek ad varchar(50) varchar (max), varchar veri tr gibi grnr ve iler ancak dhili yap ve ilevsellii daha ok metin veri tr gibidir. Ayn zamanda 2 GBa kadar olan geni dizilimleri depolamak iin tasarlanmtr. Dizilim, kaydn geri kalanyla veri sayfasnda deil zel veri
21
sayfalarnda depolanr. Bunun en byk avantaj varchar ile alan ou dizilim operasyon fonksiyonunun ayn zamanda varchar (max) ile de almasdr; bununla birlikte ilave ilevsellik iin birka yeni fonksiyon bulunmaktadr. rnek Yeni_deger varchar(max)) text veri tr, byk miktarlardaki veriyi depolamak iin kullanlr. Tek bir alan 2GB (231 - 1 byte) bilgiye kadar depolayabilir. Sadece 16 byte tabloda depolanr. Bu nedenle ilave ilem, metin stunlarnn kullanmyla ilikilendirilir. Metin deerleri ilemi iin baz zel fonksiyonlar bulunmaktadr. rnek durum text
Bu yeni veri trleri ile eski veri trleri arasndaki fark; yeni veri trlerinin karakter bana 2 byte kaplayan Unicode karakterlerini tutabilmeleridir. Bu nedenle, depolayabildikleri maksimum dizilim uzunluu, eski veri trlerindekinin yarsdr (4000). rnek TCKimlikNo nchar(11) rnek ad nvarchar(50)
22
Bu iki veri tr arasndaki fark kapladklar alandr. datetime 8 byte, smalldatetime sadece 4 byte kullanr. Aralarndaki dier farklar ise depolanan tarihin doruluu/kesinlii ve kullanlabilecek tarihlerin geniliidir. Smalldatetimen doruluu bir dakikadr ve 1 Ocak 1900den 6 Haziran 2079a kadar olan zaman kapsar ki bu da yeterinden fazladr. Datetimen doruluu 3.33 milisaniyedir ve 1 Ocak 1753ten 31 Aralk 9999a kadar olan sreyi kapsar.
23
int veri trleriyle ilgili en gzel ey kk alanda olduka fazla say depolayabilmesidir. Bu nedenle sk sk anahtar deerler (key values) iin kullanlr. Ana anahtarn veri tr int ise tablo drt milyara kadar kayt depolayabilir ki miktar herhangi bir ama iin olduka yeterlidir. Bu nedenle tablonuzun boyutundan emin deilseniz ana anahtar olarak int kullannz.
binary and varbinary veri trleri 8000 byte bilgi ve resim, varbinary (max) 2 GB veri depolayabilir.
24
Table
Timestamp
Her almada benzeri olmayan bir 16 bytelk 16l tabanda say Uniqueidentifier reten say trdr. ok geni bir lmde tekil deerler elde etmek iin kullanlr.
25
Komut verildiinde ekrana New User defined Data Type penceresi ekrana gelir.
Gerekli dzenlemeleri yapp OK dmesine tkladnzda kullanc tanml veri tr oluturmu olacaksnz.
26
VergiNo stununun veri trn varchar veri tr olarak deitiriniz. Veri tabannzda ikinci bir tablo neri 2-3-4teki admlar izleyebilirsiniz. oluturunuz ve stun adlarn yaznz. Columns seiminde gsterilen stun adnn Tablo1deki TCKimlikNo stununu zerinde sa tklayarak Delete komutunu siliniz. verebilirsiniz. Tables seiminde gsterilen tablo adnn Tablo1i siliniz. zerinde sa tklayarak Delete komutunu verebilirsiniz. Object Explorerda veri taban ad zerinde Veri tabannn T-SQL ifadesini sa tklayarak alan menden Tasks ve alnz. Generate Scripts komutunu verebilirsiniz. Sihirbaz yardmyla scripti alabilirsiniz.
27
5.
6. 7. 8. 9. 10.
DEERLENDRME Cevaplarnz cevap anahtar ile karlatrnz. Doru cevap saynz belirleyerek kendinizi deerlendiriniz. Yanl cevap verdiiniz ya da cevap verirken tereddt yaadnz sorularla ilgili konular geri dnerek tekrar inceleyiniz. Tm sorulara doru cevap verdiyseniz dier modle geiniz.
28
ARATIRMA
Daha nce renmi olduunuz veri taban ile programlama modllerine de dayanarak basit bir planlama nasl yaplmaldr?
2. PLANLAMA
2.1. Veri Taban Normalizasyonu
Bir tablo bir tek varla ait bilgileri tutmak iin tasarlanr. rnein bir kitap tablosunda sadece kitaplara ait bilgiler vardr. 20 adet kitap bilgisi varsa, bu tabloya 20 adet satr eklenecek demektir. likisel veri taban yaklamn ilikisel yapan asl unsur verilerin tablolara paralanarak saklanmasdr. Tablolarn ka adet olaca ve birbiriyle nasl ilikilendirileceine karar verirken var olan kurallar kullanarak mantksal bir plan elde etmelisiniz. Eer tablolar zerinde verileri normalize etmezseniz birok sknt oluabilir. Baz bilgiler birden fazla tekrarlanabilir. Bir bilgiyi gncellemek, veri eklemek ve silmek iin birden fazla yerde bulma, deitirme ve silme yapmanz gerekebilir. Bu nedenle normalizasyon kurallarn kullanmalsnz. Genel kabul gren be normalizasyon kural vardr. Bu kurallar, ilikisel veri tabannn tanm ile birlikte ortaya konmutur. Veri taban normalizasyonu Resim 2.1'e bal olarak anlatlacaktr. Aklamalar yaplrken bu resme dikkat etmelisiniz.
28
1. Normalizasyon Kural
Bir satrdaki bir alan yalnzca bir tek bilgi ierebilir. rnein kitap tablosunda, birden fazla yazar olan kitap iin yazar1, yazar2, yazar3 diye alanlar asanz, bu kurala uymam olursunuz. Byle bir durumda, ayrca yazarlar tablosu da oluturarak kural inememeye dikkat etmelisiniz. 2. Normalizasyon Kural
Bir tablo iin, anahtar olmayan her alan, birincil anahtar olarak tanml tm alanlara bal olmak zorundadr. Mesela, dn tablosuna KitapAdi diye bir alan ekleseydik, bu sadece dn verilen kitap ile ilgili bir bilgi olacakt ve oduncNo'na bal bir nitelik olmayacakt. Bunu zmek iin, kitap adlarn ayr bir tabloda tutarak sorun zlr. Ya da anahtar alann birden fazla alandan olutuu tablolarda, anahtar alanlardan sadece birine bal veriler, tabloda yer almamal, ayr bir tabloya tanmaldr.
29
Bunun tersi de geerlidir. Yani iki ya da daha fazla tablonun birincil anahtar ayn olamaz. ayet byle ise, bu iki tablo tek tabloya indirilmelidir. 3. Normalizasyon Kural
Bir tablo iin, anahtar olmayan bir alan, anahtar olmayan baka hi bir alana bal olamaz. rnein, kitaplarmz iin cilt tipi adnda bir alan ekleyip burada da karton kapak iin K, deri cilt iin D, spiral cilt iin S yazsaydk, bu kodlama, kitap tablosunun birincil anahtar olan kitapNo alanna bal bir kodlama olmayacakt. nk bu kodlama bir baka anahtar olmayan alana baldr. Bunun sonucunda da veri tabanmzda, karl olmayan bir kodlama yer alm olacaktr. Cilt tipi bilgisini kodlu olarak tutan alan aslnda cilt tipi aklamas olan baka bir alana baldr. Bu iliki baka bir tabloda tutulmaldr. Bu durumda, ciltekli adnda bir tablo amamz gerekir. Bu tablonun alanlar da ciltTipKodu ve ciltSekli olmaldr. Ancak bundan sonra, kitaplar tablosunda ciltTipi adnda bir stun ap buraya da D,S,K gibi kodlar yazabilirsiniz.. 4. Normalizasyon Kural
Birincil anahtar alanlar ile anahtar olmayan alanlar arasnda, birden fazla bamsz bire-ok ilikisine izin verilmez. rnein, tablomuzda yer alan bir kitap hem hikaye kitab hem de kiisel geliim kitab olabilir. 4.normalizasyon kuraln salamak iin, her bamsz bire-ok iliki iin ayr bir tablo oluturmak gerekir. Bu rnekte, trler diye bir tablo amamz ve daha sonra da kitapTurleri diye bir baka tablo daha amamz gerekiyor. Kiisel Geliim Hikyeleri adl kitap iin, ncelikle kitap numaras, Hikye blmnn kodunun yer ald bir satr; ardndan da yine kitap numaras, ardndan da kiisel geliim trnn kodunun ald yeni bir satr daha eklemek gerekir. 5. Normalizasyon Kural
Tekrarlamalar ortadan kaldrmak iin her bir tabloyu mmkn olduunca kk paralara blmek gerekir. Aslnda ilk 4 kural sonuta bu ie yarar ancak, bu kurallar kapsamnda olmayan tekrarlamalar da 5.normalizasyon kural ile giderilir. rnein, kitaplarmz iin bir edinme ekli bilgisi girilecek stun eklemek isteyelim: Bu blme girilebilecek bilgiler bellidir: Ba veya satn alma gibi. Bu bilgileri baka bir tabloda tutabiliriz. Bylece, kullanclarn bu alana geliigzel bilgiler girmesini engellemi olursunuz. Bu da sorgulama esnasnda verileriniz arasnda bir tutarllk salar. Bu ilem sonucunda, tutarszlklara neden olabilecek ve sk tekrarlayan
30
veriler baka bir tabloya tanm olur. Bu tablo iin, veri taban programlamada look-up table terimi kullanlr. Ancak, veri taban normalizasyon kurallar, bir ilikisel veri tabannn tasarlanma aamalarn deil de ilikisel veri tabannda yer alacak kaytlarn ilikisel veri taban ile uyumlu olup olmadn denetlemeye yneliktir. zetle ilikisel bir veri taban tasarm u drt geyi barndrmaldr. Veri tekrar yaplmamaldr. Bo yer mmkn olduunca az olmaldr. Veri btnl salanmaldr. Veriler, aralarnda bir iliki tanmlamaya msait olmaldr.
31
32
33
neriler Object Explorerdaki Databases zerinde fareyle sa tklayarak New Database komutunu verebilir ve veri taban ismini de Personel1 olarak verebilirsiniz. Tablo stun adlar olarak PERSONEL_ID, AD, SOYAD olarak belirleyiniz. Stun veri trleri iin uygun veri trlerini seiniz. PERSONEL_ID iin int, AD iin varchar(10), SOYAD iin varchar(10) veri trlerini kullannz.
Ara ubuundaki Save dmesini tklayarak PERSONEL olarak kaydedebilirsiniz. Tablo stun adlar olarak PERSONEL_ID, YAKIN_ID, YAKINAD, YAKINSOYAD olarak belirleyiniz. Stun veri trleri iin uygun veri trlerini seiniz. PERSONEL_ID iin int, YAKIN_ID iin int, YAKINAD iin varchar(10), YAKINSOYAD iin varchar(10) veri trlerini kullannz.
34
stunlarn birincil anahtar olarak belirleyebilirsiniz. Database Diagrams seiminde iken sa tklayarak alan menden New Database Diagrams komutunu veriniz. Tablolar arasnda bir iliki kurmak iin bir diyagram oluturunuz.
Close komut dmesiyle Add Table penceresini kapatabilirsiniz. PERSONEL_ID zerinde fareyle bir kere tklayarak brakmadan dier tablodaki PERSONEL_ID stunu zerine brakabilirsiniz.
Tablolar arasndaki iliki iin PERSONEL tablosundaki PERSONEL_ID ile PERSONELYAKIN tablosundaki PERSONEL_ID stunlarn ilikilendiriniz.
35
Yabancl anahtarla N tane tabloyla balant yaplabilir. Ana kaydn silinmesi hlinde detay kaytlarn da silinmesi iin Delete Rule seeneini Cascade yapabilirsiniz. Ana kaydn balant alanlarnn deimesi hlinde detay kaytlarn da balant alanlarnn otomatik deimesi iin Update Rule seeneini Cascade yapabilirsiniz. OK dmesine tklayarak ilemi bitirebilirsiniz.
36
likilendirmeyi grnz.
Resim 2.9: likinin grlmesi
Not: ki tablo arasnda kurulan ilikileri grntleyebilmeniz iin View nesnesi yazabilirsiniz. View nesnesi hakkndaki bilgilere ilerleyen konularda deinilecektir.
37
DEERLENDRME Cevaplarnz cevap anahtar ile karlatrnz. Doru cevap saynz belirleyerek kendinizi deerlendiriniz. Yanl cevap verdiiniz ya da cevap verirken tereddt yaadnz sorularla ilgili konulara geri dnerek tekrar inceleyiniz. Tm sorulara doru cevap verdiyseniz dier renme faaliyetine geiniz.
38
Deerlendirme ltleri 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. Management Studioyu aabildiniz mi? Management Studioda veri taban oluturabildiniz mi? Management Studioda tablo oluturabildiniz mi? Tabloyu kaydedebildiniz mi? Tabloya stun ekleyebildiniz mi? Stun veri trlerini belirleyebildiniz mi? Yeni bir stun adn girebildiniz mi? Stunun veri trn deitirebildiniz mi? Yeni bir tablo ekleyebildiniz mi? Stunu silebildiniz mi? Tabloyu silebildiniz mi? Veri tabannn T-SQL ifadesini alabildiniz mi? Birincil anahtarlar belirleyebildiniz mi ? Tablolar aras iliki kurabildiniz mi? Diyagram oluturabildiniz mi? Tablolar diyagrama ekleyebildiniz mi? Yabancl anahtar belirleyebildiniz mi? likilendirmeyi grntleyebildiniz mi? Diyagram kaydedebildiniz mi? Tablolarn gsterimini onaylayabildiniz mi?
Evet Hayr
DEERLENDRME Yaptnz deerlendirme sonucunda eksikleriniz varsa renme faaliyetlerini tekrarlaynz. Modl tamamladnz, tebrik ederiz. retmeniniz size eitli lme aralar uygulayacaktr, retmeninizle iletiime geiniz.
39
40
KAYNAKA KAYNAKA
GZDEL Yaar, Yazlmclar in SQL Server 2005 ve Veri Taban Programlama, Sekin Yaynclk, Ankara, 2006. GRKAN Osman, Microsoft Access XP, Nirvana Yaynlar, Ankara, 2005. YURTSEVER smail, Microsoft SQL Server 2005 Stored Procedure Programming in T-SQL & .NET, Third Edition by Dejan Junderi (eviri). www.microsoft.com/sql www.sqlnedir.com www.verivizyon.com www.yazilimuzmani.com
41