You are on page 1of 46

T.C.

MLL ETM BAKANLII

MEGEP
(MESLEK ETM VE RETM SSTEMNN GLENDRLMES PROJES)

BLM TEKNOLOJLER

A VER TABANI PLANLAMA

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.

ETM RETM ORTAMLARI VE DONANIMLARI

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.

RENME FAALYET-1 RENME FAALYET - 1


AMA
Veri taban oluturmay, tablo nesnesini kullanmay ve veri trlerini 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.

1.1. Veri Taban Oluturmak


Veri taban iki yntemle oluturulur: Management Studio kullanlarak T-SQL ifadesi olan CREATE DATABASE deyimi kullanlarak

1.1.1. Management Studio ile Veri taban Oluturmak


Management Studio ile veri taban oluturmak iin SQL Server Management Studioyu anz. Object Explorerdaki Databases zerinde fareyle sa tklayarak New Database komutunu seiniz.

Resim 1.1: New Database komutunun seimi

Database name alanna veri taban iin uygun bir isim girerek OK dmesine tklatnz.

Resim 1.2: Veri tabanna isim verme

Veri tabannz olumu olacaktr.

Resim 1.3: Oluturulan veri tabannn Object Explorerdaki grnts

1.1.2. Transact SQL ile Veri Taban Oluturmak


Bir veri taban Management Studio ile oluturulabildii gibi dier yntem olan T-SQL ile de oluturulabilir. Ayrca, Management Studio ile yaplan tm ilemler T-SQL ile de yaplabilir. T-SQL ile bir veri tabannn oluturulmas en basit hliyle u ekildedir. CREATE DATABASE veri taban_ismi Ancak, bu ekilde bir veri taban oluturmak, model veri tabannn kopyalanmas ve yeni kopyann adnn belirtilen veri taban ismiyle deitirilmesidir. Bir veri taban dosyasn eitli zellikleriyle oluturacak olursak genel kullanm yle olacaktr. CREATE DATABASE veri taban_ismi ON PRIMARY ( NAME=dosya_takma_ismi , FILENAME=fiziki_dosya_ismi , SIZE=dosya_boyutu , MAXSIZE=maksimum_dosya_boyutu , FILEGROWTH=dosya_artm_miktar ) LOG ON ( NAME=dosya_takma_ismi , FILENAME=fiziki_dosya_ismi , SIZE=dosya_boyutu , MAXSIZE=maksimum_dosya_boyutu , FILEGROWTH=dosya_artm_miktar )

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.

1.2. Veri Taban Seeneklerini Ayarlamak


Veri taban zelliklerinin dzenlenmesinin gerektii durumlarda baz ayarlamalar yapmak gerekir. Bu ayarlar, eriim ve nesnelerin almasyla ilgili ayarlardr. Ayarlamalar iin Management Studioda iken veri taban zerinde sa tklanr ve Properties komutu seilir.

Resim 1.4: Veri taban zellikleri iin Properties komutunun seilmesi

Properties komutu seilince ekrana Database Properties iletiim penceresi gelir.

Resim 1.5: Database Properties iletiim penceresi

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.

1.3. Veri Taban Silmek


Veri tabann silmek iin Management Studio program veya DROP DATABASE deyimi kullanlr. Ancak, veri tabannn yedek ykleme, replication veya kullanc eriimi gibi baka bir ilem yapmyor olmas gerekir. db_owner veya sysadmin rollerinden birisi veri tabann silebilir.

1.4. likisel Veri Taban Nesneleri


likisel veri taban, tablolarn birbirleriyle ilikili olmas demektir. Bylece, ilikisel veri tabanlar sayesinde ok fazla veriyi az bir alanda ve daha fazla kontrol edilebilir olarak saklamamz salar. Bir veri taban, veri, tablo ve dier nesnelerin bir yndr. Veri taban nesneleri, veriyi tasarlamada ve veri gvenlik mekanizmasn tanmlamada yardmc olur. likisel veri taban nesneleri unlardr: Tablolar Diyagramlar Grnmler Sakl yordamlar Kullanclar

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.

1.5.1. Tablo Oluturmak


Management Studioyla tablo oluturmak iin Object Explorer penceresinde daha nceden oluturmu olduunuz veri tabannn Tables seenei zerinde fareyle sa tklatarak alan menden New Table seeneini tklatnz. Bylece bir tablo oluturmak iin gerekli olan ilk adm gerekletirmi olacaksnz.

Resim 1.6: New Table komutu

New Table komutunu verdiinizde tablolarn alanlarn, veri tipini ve alana bilgi girilip girilmeyecei zorunluluunun belirtildii ekran grnts karnza gelecektir.

Resim 1.7: Tablo oluturma ekran

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.

Resim 1.8: Choose Name diyalog kutusu

Tablo kaydedilmeden nce varsaylan ad Table_1dir. sterseniz bu ad deitirmeden de kullanabilirsiniz.

Resim 1.9: Tablonun varsaylan adnn gsterimi

sterseniz tablonun adn uygulamanzn ieriine gre de adlandrabilirsiniz. Mterilerle ilgili bir veri tabannda oluturduunuz tabloya TabloSiparis adn verebilirsiniz.

Resim 1.10: Tablo adnn istee gre dzenlenmesi

Tablo adn yazdktan sonra OK dmesine tklatnz. Artk tablonun ad yazdnz ad olarak deitirilecektir.

Resim 1.11: Tablo adnn kaydedildikten sonraki grnts

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.

1.5.2. Tabloya Stun Eklemek


Tabloya stun eklemek iin, oluturduunuz tablonun alt seenei olan Column seenei zerinde fareyle sa tkladnzda alan menden New Column komutunu tklamanz gerekmektedir.

10

Resim 1.12: New Column komutu

New Column komutunu verdiinizde daha nceden oluturduunuz stunlarn en altna bir stun daha eklenecektir.

Resim 1.13: Yeni bir stunun eklenmesi

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.

Resim 1.14: Sa tula gelen menden stun eklenmesi

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.

1.5.3. Stun zelliklerini Deitirmek


Bir tabloda istenilen stunun adn, trn ve geniliini deitirmek mmkndr. Bunun iin oluturulmu tablonun zerinde sa klik yaparak alan menden Modify komutunu tklamanz gerekmektedir.

Resim 1.15: Modify komutunun verilmesi

Modify komutunun verilmesiyle deitirmek istediiniz stun dier mevcut stunlarla birlikte ekrana gelecektir.

12

Resim 1.16: Deitirilmek istenen stun

Stun ad Resim 1.17deki gibi deitirilebilir.

Resim 1.17: Stun adnn deitirilmesi

Stunun geniliini veya veri tipini deitirmek iin de Column Properties (Stun zellikleri) penceresinden gerekli deiiklikleri yapabilirsiniz.

Resim 1.18: Stun zellikleri penceresi

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

1.5.4. Tablodan Stun Silmek


Tabloda bir stunu silebilmek iin o stun zerinde sa klik yapp alan menden Delete komutunu vermeniz yeterli olacaktr.

Resim 1.19: Stunun silinmesi

Delete komutunu verdiinizde ekrana Delete Object penceresi gelecektir.

Resim 1.20: Delete Object penceresi

Silmek istediiniz stun ad bu pencerede gsterilecek ve OK dmesine tklamanz hlinde stun silinmi olacaktr.

1.5.5. Tablo Silmek


Oluturulan bir tabloyu silmek iin Object Explorer penceresinde silmek istediiniz tablonun zerinde sa klik yapp alan menden Delete komutunu vermeniz yeterli olacaktr.

14

Resim 1.21: Delete komutunun verilmesi

Delete Object penceresinde silmek istediiniz tablo gsterilecektir. OK dmesine basarak tabloyu silebilirsiniz.

Resim 1.22: Delete Object ekran

1.5.6. Nesnelerin T-SQL fadelerini Almak


Oluturulan projeler baka bilgisayarlarda kullanlmak istendiinde bu projelerin veri tabann oluturulan nesnelerinin T-SQL ifadelerini bir dosya hlinde saklamak mmkndr. Bylece bu dosya baka bir ortamda altrlarak ayn ema elde edilebilir. Management Studio ile veri tabannn T-SQL scriptini oluturmak iin veri taban zerinde sa klik yapldktan sonra alan menden Tasks\Generate Scripts komutu tklanr.

15

Resim 1.23: Generate Scripts komutunun verilmesi

Bu komutla Script sihirbaz ekrana gelecektir.

Resim 1.24: Script Wizard ekran

Al ekran geldikten sonra Next dmesine tklanr. T-SQL ifadesi alnacak veri tabannn seilmesi iin Resim 1.25 ekrana gelir.

16

Resim 1.25: Veri taban seim ekran

Veri taban seilip Next dmesine tklanmaldr. Nesnelerin nasl script edileceinin belirlendii pencere ekrana gelecektir.

Resim 1.26: Script Options ekran

Bu pencerede script zelliklerinin ayarlamalar yaplabilir. Next dmesi ile ekrana nesne seim ekran gelecektir.

17

Resim 1.27: Nesne seim ekran

Bu projede sadece tablolar olduu iin Tables seimi vardr. Seimi iaretleyip Next dmesine tklandnda tablo seim ekran karnza gelecektir.

Resim 1.28: Tablo seimi

fadesi alnacak tablo seimi yaplp Next dmesine tklanmaldr. k seenei ekran gelecektir.

18

Resim 1.29: k seenei ekran

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.

Resim 1.30: zet (Summary) ekran

Hibir dzenleme yapmadan bu ekranda Finish dmesine basnz.

19

Script alma ilemini gsteren bir ekran karnza gelir.

Resim 1.31: Script alma ilemi sonucunun gsterilmesi

Close dmesine tklatarak ilemi bitiriniz. Bylece T-SQL ifadeleri yeni bir sorgu dosyasna alnm olacaktr.

Resim 1.32: T-SQL ifadelerinin bir dosyaya alnm hli

1.6. Veri Trleri


Veri trleri, numara, resim, tarih gibi bir stunda veya bir deikende depolanabilen trdeki bilgiyi belirtir. SQL Server 28 "sistem tanml" veri trn tanr. Bu veri trleri haricinde, belirli ihtiyalar karlayabilmeniz iin kullanc tanml veri trlerini T-SQL ve .NET ile oluturabilirsiniz.

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.

1.6.1. Karakter Dizilimi


Karakter veri trleri karakter dizilimlerini ierir. Drt farkl karakter tr, uzunluklar ve depolama zellikleri asndan eitlilik gsterir. char varchar varchar(max) text

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

1.6.2. Unicode Karakter Dizilimi


Evrensel Kod standardnn kullanlmas ve onu destekleyen yazlmlarn bulunmas son zamanlardaki kresel yazlm teknolojilerinin en popler konusudur. Evrensel Kodun, istemci-sunucu ya da ok katmanl uygulamalar ve web sitelerinde kullanm nemli bir dzeyde tasarruf salamaktadr. Evrensel Kod tek bir yazlmn ya da bir web sitesinin yeniden tasarlanmasna ihtiya duyulmadan her trl dil ve lke iin uyumlu hle getirilmesini salar. Ayn zamanda verinin eitli iletim sistemleri ierisinden aktarmn da sorunsuz hle getirmektedir. Microsoft SQL Server 2005 non-ASCII (ASCII karakteri olmayan) karakter setleri kullanan Unicode veriyi depolamak iin drt karakter veri trne sahiptir. Bunlar char, varchar, varchar (max) ve metin veri trlerine edeerdir ve aadaki gibi adlandrlr: nchar nvarchar nvarchar(max) ntext

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

rnek Yeni_deger nvarchar(max)) rnek durum ntext

1.6.3. Tarih ve Saat Veri Trleri


SQL Server tarih ve saati depolamak iin iki T-SQL veri trn destekler. Datetime Smalldatetime

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.

1.6.4. Tahmini Saysal Veri Tr


Ondalk saylar genellikle tek veya ift kesinlik (single and double precision) olarak da bilinen real ve float veri trlerinde depolanr. Fazla yer kaplamamalar ve geni aralkta saylar tutabilmeleri avantajdr. Tek sorun udur ki; kati/kesin deillerdir. Yaklak olarak orijinal ondalk sayya e deer yaklak/tahmini ama kesin olamayan saynn ift deikenli temsilini depolar. Kesinlik/doruluk (Precision) numaradaki nemli/karakteristik basamak/hanelerin says ve Scale ondalk noktann saa doru uzanan basamak/hanelerin saysdr. rnein; 123456.789 saysnn 9 doruluu ve 3 ondal vardr. Gerek saylarn basamaklar 7ye kadardr ve float saylarn kesinlii 15 basamaa kadardr. Bu nedenle, Dnya ve Ay arasndaki mesafeyi lerken birka metrenin nemsenmeyecei bilim ve mhendislik iin idealdirler. Fakat irket btesinin son kuruuna kadar kesin olmas gereken finansal endstri iin yeterli deillerdir.

1.6.5. Kesin Saysal Veri Tr


Ondalk veya saysal veri trleri saylar depolarken yaklaklk/tahmini kullanmazlar. Ne yazk ki gerek ve float veri trlerine gre daha fazla yer/alan gerektirirler. Ondalk bir stun veya deiken tanmlandnda/belirtildiinde basaman ve doruluunu (scale and precision) belirtmelisiniz. SQL Server maximum 38 doruluktaki saylar depolayabilir. Basamak (scale) doruluktan daha az ya da onunla eit olabilir.

23

1.6.6. Tam Say Veri Tr


SQL Server 1-, 2-, 4-, ve 8-byte tam saylar destekler. Bit veri tr mantksal doru ve yanl deerleri temsil eden 1 ve 0 depolamak iin kullanlr. Aadaki tablo tam say veri trlerini, depolama boyutlarn ve deerlerin araln listeler. Veri Tr int smallint tinyint bigint bit Boyutu 4 bytes 2 bytes 1 bytes 8 bytes 1 bit Minimum -2, 147, 483, 648 (-2G) -32768 (-32Ks) 0 -9,223,372,036,854,775,808 (-263) 0 Maximum s2, 147, 483, 647(26?1) 32767 (32K-1) 255(28-1) 9,223,372,036,854,775,807 (263-1) 1

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.

1.6.7. Parasal Veri Tr


Tam sayya ondalk ifadesi eklenmi veri trleridir. Duyarllk ve lekleme deitirilmez. SQL Server, verileri bir tam say gibi ele alr. Parasal sabitlerden nce $ veya dier 18 para sembolnden biri gelebilir (SQL Server Books OnLineda listelenmilerdir). Veri Tr Boyutu smallmoney 4 bytes money 8 bytes Snr -214 bin ile +214 bin arasnda deerler iin -922 milyar ile +922 milyar arasnda deerler iin kullanlr.

1.6.8. Binary (kili) Veri Tr


Binary veri tipleri bitlerin diziliminin yerletirilmesi iin kullanlr. SQL Server drt temel ift deikenli veri tipini, karakter veri tr ile benzer nitelikleri desteklemektedir. binary varbinary varbinary(max) image

binary and varbinary veri trleri 8000 byte bilgi ve resim, varbinary (max) 2 GB veri depolayabilir.

24

1.6.9. zel Veri Trleri


Belirtilen veri trleri dnda bir gruba dhil olmayan veri trleri vardr. Veri Tr Cursor Aklama Tablolarn yapsnda yer almayan bir tr olan Cursor, kaytlara bir sonu kmesi (resultset) yerine, eriim iin kullanlan bir deiken trdr. table veri tr sonraki srelerde recordset yerletirmek iin kullanlr. Baz alardan bu veri tr geici tablo (temporary table) ile benzerdir. Bu veri trn stun tanmlamak iin kullanamazsnz. Sadece fonksiyonun deerini geri dndrmek iin local deiken olarak kullanlabilir. Satr srm numaras olarak tanml bir trdr. Ortak zamanl alma iin, dzenleyici unsur olarak kullanlr.

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.

1.6.10. Kullanc Tanml Veri Trleri


Kullanc tanml veri tr tanmlamann iki yntemi vardr. Management Studioda veri taban alp User Defined Types altnda sa klikleyip alan menden New User Defined Type seerek veya CREATE TYPE ifadesi ile kullanc tanml veri tr oluturulabilir.

Resim 1.33: Kullanc tanml veri tr oluturma

25

Komut verildiinde ekrana New User defined Data Type penceresi ekrana gelir.

Resim 1.34: Yeni bir kullanc tanml veri tr oluturma penceresi

Gerekli dzenlemeleri yapp OK dmesine tkladnzda kullanc tanml veri tr oluturmu olacaksnz.

26

UYGULAMA FAALYET UYGULAMA FAALYET


lem Basamaklar Management Studioyu kullanarak bir veri taban oluturunuz. Veri tabannzda oluturunuz. Tabloyu kaydediniz. Tablonuza bir stun daha ekleyiniz. Yeni stun adn giriniz. bir tablo neriler Object Explorerdaki Databases zerinde fareyle sa tklayarak New Database komutunu verebilir ve veri taban ismini de Uygulama1 olarak verebilirsiniz. Tablo stun adlar olarak TCKimlikNo, Ad, Soyad olarak belirleyiniz. Stun veri trleri iin uygun veri trlerini seiniz. Ara ubuundaki Save dmesini tklayarak Tablo1 olarak kaydedebilirsiniz. Tablesn alt seenei Columns zerinde fareyle sa tklayarak alan menden New Columnu seebilirsiniz. VergiNo olarak girebilir ve veri tr olarak da uygun bir tr seebilirsiniz. Columns seiminde stun ad zerinde sa tklayarak Modify komutunu verebilirsiniz.

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

LME VE DEERLENDRME LME VE DEERLENDRME


Aadaki sorular dikkatlice okuyarak doru/yanl seenekli sorularda uygun harfleri yuvarlak iine alnz. Seenekli sorularda ise uygun kk iaretleyiniz. Boluk doldurmal sorularda boluklara uygun cevaplar yaznz. 1. 2. 3. 4. Dzenli bilgi topluluuna .. denir. T-SQL ile veri taban oluturmak iin . komutu kullanlr. Veri tabannda mutlaka birincil dosya vardr (D/Y). Veri tabannn otomatik olarak kltlmesini salayan zellik aadakilerden hangisidir? A) Auto Create C) Restrict Access B) Auto Shrink D) Collation Aadakilerden hangisi ilikisel veri taban nesnesi deildir? A) Sakl yordamlar C) Diyagram B) Grnm D) Form Management Studioda yeni bir tablo oluturmak iin Object Explorer penceresinde ..\............................. komutu seilir. Management Studioda tabloya yeni bir stun eklemek iin ADD komutu kullanlr. (D/Y) Management Studioda stun zelliklerini deitirmek iin komutu kullanlr. Nesnelerin T-SQL ifadelerini almak iin Management Studioda veri taban zerine sa tklanp alan menden \.................... komutu seilir.. 2 GBakadar olan geni dizilimleri depolamak iin hangi veri tr kullanlr? A) char C) varchar(max) B) text D) varchar

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

RENME FAALYET2 RENME FAALYET - 2


AMA
Veri taban planlamas oluturabileceksiniz. zerinde alabilecek ve mantksal veri modeli

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

Resim 2.1: rnek veri taban normalizasyonu

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.

2.2. Kaytlarn likilendirilmesi


likiler tablolardan verileri birbirine balayarak tablolarn kullanlln artrr. Bylece ilikisel veri tabanlar oluturulur. Veriler konu veya greve gre eitli tablolarda depolanr, ancak veriler ilikilidir ve belirttiiniz ekilde bir araya getirilebilir. Tablolar arasnda iliki kurmak suretiyle, veri taban dosyas dz veri taban olmaktan kurtarlr. Tablolar aras iliki, daha hzl sorgu icras yaplmasn salar; veri-ilem ileri daha verimli olur. Bu sayede verileri gncelletirirken, btn tablolar elden geirmek ve hatta yeniden girmek zorunda kalnmaz. Sadece gncelletirilmesi gereken tabloya ek veya bu tabloda deiiklik yaplr. likilendirme temelde bir tablodaki varla ait bilgilerin anahtar olan stundan hareketle baka bir tablodan takip edilmesini salar. Tablolar arasnda tip iliki vardr.

2.2.1. Bire-Bir liki


likilendirdiiniz iki tablodan birincisi ile ikincisi arasnda sadece bir kayt eleebilir. Bu tr ilikilere bire-bir iliki denir. ki tablo arasnda bire bir iliki varsa bu iki tablo birbirinin devam demektir ve genellikle bir tek tablo olarak birletirilir. Bu tr ilikilendirme tablolarda sk kullanlmaz.

2.2.2. Bir-ok liki


En ok kullanlan iliki eklidir. Bu ilikide A tablosundaki bir kayt B tablosundaki birden ok eleen kayda sahiptir. Bunun tersi doru deildir. Yani B tablosundaki bir kayt A tablosundaki yalnzca bir kayt ile eleir. rnein, Mteriler ve Sipariler tablolarnn birok ilikisi vardr: Her mteri birok sipari verir ancak her sipari bir mteriye aittir.

31

2.2.3. ok-ok liki


Bir ok-ok ilikide, A tablosundaki bir satrn B tablosunda ok sayda ei vardr ve tam tersi de geerlidir. Bu tr ilikileri, birincil anahtarlar A ve B tablolarnn yabanc anahtarlarndan oluan balant tablosu diye adlandrlan nc bir tablo tanmlayarak oluturabilirsiniz.

2.3. Dosya Gruplar (File Groups)


SQL Server, dosyalar daha kolay ynetebilmek iin dosya gruplarn kullanr. Bir veri taban ilk oluturulduunda otomatik olarak Default adnda bir dosya grubu oluturur. Grup oluturulmas geni veri tabanlarnda yedekleme ilemlerinin daha ksa zamanda ve daha az disk kapasitesi kullanlarak yaplmasn salamaktadr. Bu dosya grubu, sistem iin gerekli bileenleri de ierdiinden Primary File Group olarak anlabilir. Veri dosyalarnn farkl disklerde oluturulmas ile performans art salanabilir. Dosya, tablo ve indekslerin farkl disklerde tutulmas ile SQL Server ayn zaman diliminde farkl indekslerden okuma yapabilir. kinci veri dosyas da (Secondary Data Files) bu gruba eklenebilecei gibi yeni kullanc alarak da ikinci veri dosyas oluturulabilir. kinci veri dosyasnn, blmlendirilmi bir diskte oluturulmas performans art salayacaktr. Transaction log (ilem gnl) dosyalar herhangi bir dosya grubu (file group) dhilinde deildir. Log alan, veri alanndan ayr olarak ynetilir.

2.3.1. Dosya Gruplarnda (File Groups) Dikkat Edilmesi Gereken Hususlar


Birinci veri dosyas (primary data file) birinci dosya grubu (primary file group) zerinde yerlemi olmaldr. Btn sistem dosyalar birincil dosya grubu (primary file group) zerinde yerlemelidir. Herhangi bir dosya, birden fazla dosya grubuna (file group) ayn anda ye olmamaldr. Dizinler (indexes), tablolar (tables), text, ntext ve image verileri dosya gruplar (file groups) zerinde tutulmaz. Dosya gruplarnda (file group) boyutlandrma ok kritik bir durumdur. Geerli dosya grubu (file group) btn tablolar ve sistem dosyalarn tutacandan dolay, hepsini tutabilecek kapasitede olmaldr. Yeterli alana sahip olmayan bir dosya grubu (file group), veri tabanna yeni bilgi eklenememesine sebep olur. Otomatik byme seenei iaretlenmemise, belirli bir sre sonra, dosya grubu (file group) dolar. Bu durum kullanm etkiledii iin, otomatik byme seeneinin iaretli olmas tavsiye edilir.

32

2.3.2. Dosya Gruplarnn (File Groups) Faydalar


Dosya gruplar (file group) kullanmak ileri seviyede veri taban tasarlama yntemidir. Kk lekli veri tabanlar iin deil de, geni apl bir veri taban zerinde uygulandnda, herhangi bir yedekleme ve geri ykleme (restore) ilemlerinde performansa katks olduka fazladr. Bunun en kk rnei, veri tabannn tamamn yedeklemek veya geri yklemek yerine, dosya gruplar (file groups) ve veri dosyalar (data files) yedeklenir. Bu sayede performans salanr. Dosya gruplarn (file group) ynetmek iin, veri tabann, ierdii veri trlerini, ierdii veriyi, kullanlan sorgular ok iyi kavramak gerekmektedir.

33

UYGULAMA FAALYET UYGULAMA FAALYET


lem Basamaklar Management Studioyu kullanarak bir veri taban oluturunuz. Veri tabannzda bir tablo oluturunuz.

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.

Stun veri trlerini belirleyiniz.

Resim 2.2: PERSONEL tablosu

Tabloyu kaydediniz. Veri tabannzda bir tablo daha oluturunuz.

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.

Stun veri trlerini belirleyiniz.

Resim 2.3: PERSONELYAKIN tablosu

Tablolarn birincil anahtarlarn belirleyiniz.

PERSONEL tablosu iin PERSONEL_ID, PERSONELYAKIN tablosu iin YAKIN_ID

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.

Resim 2.4: New Database Diagrams komutu

Tablolar seip Add komut dmesine tklayabilirsiniz.

Tablolar diyagrama ekleyiniz.

Resim 2.5: Add Table penceresi

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.

Resim 2.6: Tablolarn ilikilendirilmesi

35

liki isimlendirmesini yapnz.

Resim 2.7: liki isminin belirlenmesi

liki ismi otomatik olarak yazlacandan OK dmesine tklayarak isimlendirmeyi bitirebilirsiniz.

Yabancl anahtar (foreign key) belirlenmesini yapnz.

Resim 2.8: Yabancl anahtarn belirlenmesi

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

Diyagram kaydetmek iin Save dmesine tklaynz.

Oluturduunuz diyagram kaydediniz.

Resim 2.10: Diyagramn kaydedilmesi

Veri tabannz iin kaydedilecek tablolarn gsterimini onaylaynz.

Resim 2.11: Tablolarn kaydedilmesi

Not: ki tablo arasnda kurulan ilikileri grntleyebilmeniz iin View nesnesi yazabilirsiniz. View nesnesi hakkndaki bilgilere ilerleyen konularda deinilecektir.

37

LME VE DEERLENDRME LME VE DEERLENDRME


Aadaki sorular dikkatlice okuyarak doru/yanl seenekli sorularda uygun harfleri yuvarlak iine alnz. Seenekli sorularda ise uygun kk iaretleyiniz. Boluk doldurmal sorularda boluklara uygun cevaplar yaznz. 1. SQL Servera ait servisleri, a ve istemci eriim ayarlarn dzenlemeye yarayan programa SQL Server ynetim program (SQL Server Configuration Manager) denir. (D/Y) 2. Solution Explorer ( proje ynetim penceresi) sorgularn yazld penceredir. (D/Y) 3. Bir sorguyu altrmak iin .. komutu kullanlr. 4. Sorgunun doruluunu denetlemek iin komutu kullanlr. 5. Surface Configuration arac, SQL Servern zelliklerini, servislerini veya balant zelliklerini aktifletirip pasifletirmek iin kullanlr. (D/Y) 6. Birden fazla SQL Server tek bir bilgisayara kurulamaz. (D/Y) 7. Her bir SQL Server kurulumuna.(..) denir. 8. Kullanc tanmlarnn ve temel bilgilerin yer ald veri taban aadakilerden hangisidir? A) Master veri taban B) Model veri taban C) Msdb veri taban D) Resource veri taban 9. SQL Server, veri tabann diske sayfalar (page) halinde kaydeder. Ar arda kaytl sekiz sayfaya ................... denir. 10. SQL Query Analyzerda yeni bir kullanc oluturmak iin CREATE USER deyimi kullanlr. (D/Y)

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

MODL DEERLENDRME MODL DEERLENDRME


PERFORMANS TEST (YETERLK LME) Modl ile kazandnz deerlendirilecektir. yeterlik, aadaki ilem basamaklarna gre

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

CEVAP ANAHTARLARI CEVAP ANAHTARLARI

RENME FAALYET-1 CEVAP ANAHTARI


1 2 3 4 5 6 7 8 9 10 Veri taban CREATE DATABASE Doru B kk D kk Tables\New Table Yanl Modify Tasks\Generate Scripts C kk

RENME FAALYET-2 CEVAP ANAHTARI


1 2 3 4 5 6 7 8 9 10 Doru Yanl Execute Parse Doru Yanl Instance(rnek) A kk Extend Doru

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

You might also like