You are on page 1of 29

KONU 2: VER TABANI VE DOSYA YNETM

VER TABANLARI PLANLAMA


Salkl ve gvenilir bir veri taban planlamas iin tm gerekli zellikleri dikkatlice
kullanmamz gerekir. Filegroups(Dosya Gruplar) ve Policy tabanl ynetim daha salkl ve
gvenilirlik oluturmak iin kullanlmas gereken zelliklerdendir.
Bir veri taban oluturduumuz zaman, verilerin tutulaca alanlar iin gerekli ayarlamalar
yapmamz gerekmektedir. Bu yapda en az bir veri dosyas(data file) ve bir gei
dosyas(transaction log file) olmaldr.
DOSYA TPLER:
Bir veri tabann doru olarak planlamak iin, verilerin SQL Server iinde nasl ve nerede
depolandn bilmemiz gerekir.
Tm veri tabanlar bir Primary Data File(birincil veri dosyas), bir veya daha fazla
Transaction Log File(gei dosyas) ierir. Primary Data dosyalarnn tavsiye edilen uzantlar .mdf
ve Transaction Log dosyalarnn uzantlar .Idf'dir.
Ayrca bir veri taban iinde istenirse olarak Secondary Data File(ikincil veri dosyas)
olabilir. Bu dosyalarn uzantlar da .ndf'dir.
*** Primary Data File(.mdf): Veri taban iin balang bilgilerini ierir ve dier dosyalar
iin bir nevi klavuzluk yapar.
*** Secondary Data File(.ndf): Birden fazla disk kullandmzda, veri tabannn
performansn arttrmak iin farkl disklerin zerinde databiliriz. te bunun iin Secondary
Data File kullanlabilir.
*** Transaction Logs(.ldf): Veri tabann kurtarmak iin gerekli tm bilgilerin tutulduu
dosyadr. Her bir veri taban iin en az bir tane olmak zorundadr.
altmz ortama gre yapacamz planlamalar deiiklik gsterebilir. Ancak bu
dosyalarn nasl kullanabileceine ait bir planlamay beraber yapalm.
*** Eer bir veri taban iinde ok fazla tablo varsa ve bunlar birarada ok sk
sorgulamalar iin kullanyorsak, performans arttrmak iin Secondary File iine bir ksmn
databilir ve bunu ayr fiziksel disk zerinde tutabiliriz.
*** Daha hzl bir performans iin Tempdb sistem veri tabann hzl bir fiziksel disk
zerinde tutmamz gerekir.
*** Transaction Log dosyasn ayr bir fiziksel disk veya RAID zerinde tutmak da
performans etkileyecek dier bir nemli etkendir.
Tm veri dosyalar ve transaction log dosyalar varsaylan olarak C:\Program
Files\Microsoft SQL Server\lnstanceAd\MSSQL\Dat yolunda tutulur.
Bu, SQL Server iin default kurulum yoludur.
VER TABANI OLUTURMA
Bir veri tabann oluturmak iin, birok zellik bulunmaktadr. Bu zellikleri balangta ayarlayabileceimiz gibi,
sonradan da deitirebiliriz.
Veri tabannn oluumunda Primary ve Log dosyalarnn varsaylan bir boyutu vardr. Biz bu balang boyutunu
oluumda deitirebilir ve ne kadarlk bir otomatik genileme yapabileceini ayarlayabiliriz.
Oluuma balamadan nce aadaki seenekleri bilmemiz gerekir;
*** Veri taban ad mutlaka benzersiz olmaldr.
*** lk oluacak dosya Primary Data File olup, bir veri taban iinde sadece bir tane Primary Data File olabilir.
Ancak bunun yansra birden fazla Secondary Data File istenirse oluturulabilir.
*** Bir veri taban iinde Filegroup isimleri benzersiz olmaldr.
*** Veri girilerinde karakter bozukluu yaamamak iin Collation yapsna dikkat etmemiz gerekir.
Bunlarn yansra her bir veri taban iinde benzersiz olarak bulunan Database-level seenekleri vardr ve olduka
nemlidir. Bunlardan bazlarn inceleyelim.
*** AUTO_CLOSE: Bir veri tabanna balanan kullanclardan en sonuncusu bu veri taban ile balantsn kestii
zaman, veri tabannn temiz bir ekilde kapanmasn otomatik olarak gerekletirir.
*** AUTO_SHRINK: Bu seenei aktif duruma getirdiimizde, belli zaman aralklarnda veri tabannn gereksiz
kaplad disk alanlarn otomatik olarak serbest brakmasn salar.
*** READ_ONLY: Bu zellik aktif olduunda kullanclar; sadece bilgi okuyabilir, ancak yazamazlar
VER TABANI NASL OLUTURULUR?
Veri taban T-SOL komutlar ile veya SOL Server Management Studio
iinden grafiksel olarak oluturulabilir.
T-SOL komutlar ile oluturmay, ilerleyen konularmzda inceleyeceiz. Bu ksmda SOL Server Management
Studio kullanarak veri taban oluturup, zellikleri inceleyeceiz.
Bir uygulama zerinde grelim.
1) SQL Server Management Studio alarak Databases klasr zerinde sa tua basp, New Database seenei
tklanr.



2) Gelen ekranda varsaylan olarak Select a page ksmnda General sayfas aktif durumdadr. Database name
ksmna, veri tabanna vereceimiz ismi yazdktan sonra, Owner ksmndan farkl bir sahip belirleyebiliriz.

Database files blmnde, varsaylan olarak; veri tabannn mantksal ad (Logical Name), kaydedilecei yer
(Path), dosyann varsaylan boyutu (Initial Size(MB)) ve bulunaca grup (Filegroup) belirtilir. Bunlar varsaylan
ayarlardr. stenirse deitirilebilir. Dosyann boyutu; model veri tabannn boyutundan ve 5 MB'tan daha kk bir
deere getirilemez. Ama istenirse, arttrlabilir. PRIMARY dnda baka bir grup jin o grubun, SOL Server iinde
tanml olmas gerekir. Ancak ilkinin PRIMARY iinde olmas gerekir. Burada ilk oluturulan dosya, Primary File olarak
adlandrlr. Zaten ilk dosyann mutlak suretle Primary File olmas gerekir. nk okumaya buradan balar. Her bir veri
taban bir Primary Filegroup ve bir Primary File ierir. Primary Filegroup, veri tabanndaki tm sistem tablolarn ierir.
Veri tabannn byklne gre istenirse, File Name ksmndan ikinci bir veri taban yolu tanmlanabilir. Buna
Secondary File denir. Secondary File yolunun, performans asndan genellikle ikinci bir fiziksel disk zerinde olmas
gerekir.Yine alttaki ksmda bulunan Autogrovvth seeneinde; yandaki noktaya tkladmzda ekildeki iletiim kutusu
karmza gelir.



Dosya boyutunun ihtiya olduu zaman otomatik olarak genilemesini istiyorsak, Enable Autogrovvth
kutusunun doldurulmas gerekir ki bu, varsaylan olarak doludur.
File Grovvth ksmnda ise, ihtiya olduunda bu bymenin nasl olaca belirtilir. Eer MB
lsnde olmasn istiyorsak, n Megabytes seeneinin iaretli olmas gerekir. Yzde lsnde
olmasn istersek o zaman, n Percent seilmesi gerekir. rnein: Yukardaki ekilde, Initial size 5 MB ve
n Megabytes 1 olarak ayarlanmtr. Bunun anlam; veri taban dolduu zaman, otomatik olarak Initial size 1
MB olarak artacaktr. lk artta 3 MB deeri 4 MB olacaktr. Sonra ihtiya olduunda bu art devam
edecektir.
Peki, bu art nereye kadar devam eder? Bunun ayar ise, Maximum File Size ksmndan yaplr.
Bymeyi, disk alannn ayar ile snrlamay istiyorsak, Unrestricted File Growth seenei iaretlenir.
Bylece byme, disk alan dolana kadar devam eder. Eer byme miktarna bir snrlama koymak istersek, o
zaman Restricted File Grovvth (MB) iaretlenerek maksimum limit belirlenebilir.
3) Ayn ayarlar Transaction Log dosyas iin de yaplabilir. Tavsiye edilen dosya boyutu, esas
dosyann %10- %15 arasnda olmasdr. Bu gei dosyasdr. zellikle Transaction ilemlerinde ok byk
nem tar.
4) lemi tamamlamak iin, OK butonuna baslr. Bunun sonucunda Databases klasr altna veri
tabanmz oluur.
VER TABANININ ZELLKLER VE DEKLK
Bir veri taban oluturduktan sonra, veri taban seeneklerinde deiiklik yapabiliriz. Bu deiiklii
SQL Server Management Studio, Transact-SQL komutlarndan ALTER DATABASE ile yapabiliriz. ALTER
DATABASE komutunu kullanrken mutlaka Master veri taban aktif olmaldr.
Bir veri tabanndaki zellikleri renmek iin, sp_helpdb stored procedure'n kullanabiliriz. Bu, tm
veri tabanlar hakknda bilgi edinmek iindir. Eer sadece, belli bir veri taban hakknda bilgi edinmek
istersek o zaman, o veri tabannn adn da belirtmemiz gerekir. Ayrca veri tabannda kullanlan alan ve bo
alan miktarlarn renmek iin, sp_spaceused stored procedure'n kullanabiliriz.
Yine SQL Server Query Editr iinden DBCC SQLPERF(LOGSPACE)
komutunu kullanarak, Transaction Log dosyasnn boyutu ve ne kadarnn kullanldn renebiliriz.
Sonuta kt, aadaki gibi olacaktr;


Eer SQL Server Management Studio kullanarak, zellikleri grmek veya herhangi bir deiiklik
yapmak istersek:
1) Veri taban zerinde sa tua baslarak, Properties seeneine tklanr.



2) General sayfasndan, veri taban ile ilgili genel bilgiler grnr. Bunlar arasnda Size ile
veri tabannn bykl ve Space Available ile de kullanlabilir bo alan renebiliriz. Ayrca Backup
ksmnda ise, en son ne zaman yedekleme yapldna dair bilgileri edinebiliriz.



3) Files sayfasndan Initial Size(MB) ksmndan veri dosyasnn boyutunu
deitirebiliriz. Burada vereceimiz boyutun byme ynnde olmas gerekir. Yani orada grdmz,
var olan boyuttan daha dk bir deer giremeyiz.


Eer Secondary File oluturmak istiyorsak; ilk olarak Add butonuna basmamz gerekir, ardndan
Logical Name ksmndan gerekli bilgileri girerek, ikincil bir dosya oluturabiliriz. Bu dosyann,
performans asndan ayr bir fiziksel disk zerinde olmas tavsiye edilir.


Eer varsa ikincil dosyay olutururken, baka bir dosya grubu iine de oluturabiliriz. Bu seimi
Filegroup'dan yapabiliriz. Ancak bunun mutlaka, Filegroups sayfasndan daha nce tanmlanm olmas
gerekir. Tabii bu sadece ikinci veri dosyas iin yaplabilir. Ayrca Autogrovvth ksmndan;
otomatik byme ile ilgili ayarlar deitirebiliriz.

4) Birden fazla Secondary Data File olduu durumlarda, ayn disk zerindeki Secondary Data
File'larn, ayn grupta toplayarak performans arttrmak iin, birden fazla Filegroup oluturulabilir.
Bunun iin Filegroups sayfasna geerek, Add butonuna bastktan sonra Name ksmna yeni dosya
grubunun adn yazmak yeterli olacaktr.


lk veri tabann olutururken, Primary Filegroup iinde oluur ve ayrca tm sistem tablolar da
bunun iinde bulunur. lk Filegroup, varsaylan zellii tar. Bu zellik ile tm tablo sayfalar ve
indeksler, bu grup iinde tutulur. stenirse deitirilebilir. Bir dosya, sadece bir grubun yesi
olabilir. sp_helpfile ile Filegroup bilgileri renilebilir.
4) Options sayfasnda Restrict Access ksmnda MULTIJJSER seilidir.


RESTRICTEDJJSER seilirse, sadece db_owner, dbcreator veya sysadmin grubunun yeleri bu veri
tabanna eriebilir. SINGLE_USER seenei ile de ayn anda veri tabanna sadece bir kullanc
balanabilir. Database Read-Only seenei varsaylan olarak False zelliine sahiptir. True
seilirse, bu veri tabannn bilgileri sadece okunabilir, ancak silme, ekleme veya deiiklik gibi bir
ilem yaplamaz.



Auto Close ile tm kullanclar ayrldktan sonra ve kaynak kullanm sonlannca veri taban otomatik
olarak kapanr.



Genileyen bir veri tabannda bilgiler silindiinde, otomatik olarak klmesi istenirse Auto Shrink
seenei True yaplr. Bu zelik, veri tabannn %25'den daha fazla bir alannn kullanlmadn tespit ettii
zaman, devreye girer ve veri tabann kltr. Bu anda kullanc, her trl ilemine devam edebilir. Ayrca
ALTER DATABASE AUTO_SHRINK ile de otomatik kltme yaplabilir.



5) Permissions sayfasnda kullanc ve gruplara, bu veri taban iin verilecek nesne oluturma
izinleri belirlenir. Public grubu herkesi temsil ettii iin, bu yerleik gruba izin verilirken ok dikkat etmek
gerekir. Bunun iin Search butonu kullanlr.



6) Mirroring sayfasnda aynalama yaplacak Server ile ilgili ayarlar yaplr. Bunun iin ayr bir
Server olmas gerekir. Configure Security butonuna tklannca kan sihirbaz ile gvenlik ayarlar otomatik
olarak yaplabilir.


8) Server zelliklerini zelletirmek iin Extended Properties ksmndan yararlanlr.
9) Bir sunucu iinde bulunan veri tabanndan baka bir server zerinde bulunan veri tabanna
transaction iog yedeini gndermek ve bu server'n geri yklemesi prensibine dayanr. te burada alnacak
yedeklemenin zamanlamas ise Transaction Log Shipping sayfasndaki ayarlardan gerekletirilebilir. Kutu
doldurulduktan sonra Backup Settings butonundan kaynak ve hedef belirtilerek zamanlama ayarlanr.

VER TABANINI KLTMEK (SHRNK)
Veri tabann kltmek istersek; veri tabannn zerinde sa tua basarak, Tasks/ Shrink
ksmndan Database seeneine tklanr.



Gelen ekrann ilk blmnde bulunan Database size ksmnda, veri tabannn boyutunu ve kullanlabilir
bo alan grebiliriz.



Alttaki kutucuu doldurup OK butonuna basalm.


Bunun sonucunda ekildeki gibi kltebilecei kadar kltmeyi yapar. Bu ilem, bu veri taban
iindeki tm dosyalar iin geerlidir.


Maximum free space in files after shrinking: Bu seenek yannda verilecek deer ile shrink yaplp,
ne kadarlk bir bo alann kalacan % olarak ifade edebiliriz.
Eer dosya bazl yapmak istersek o zaman Files seeneine tklamamz gerekir.





st taraftan kltme yapacamz dosya seimini yaparz,



Buradan Shrink Files balantsna tkladmz zaman veri taban dosyalar hakknda bilgi edinebiliriz.
Shrink action ksmnda bulunan Reorganize pages before releasing unused space seeneini iaretledikten
sonra, indireceimiz boyutu belirleyebiliriz.

Bu boyut 5 MB'tan az olamayaca gibi, Model tablosundan da kk olamaz. Ayrca bundan sonraki
Shrink zaman en alt ksmndan ayarlanabilir



Dier manual shrink yntemleri:
DBCC SHRINKDATABASE veya DBCC SHRINKFILE
VER TABANININ SLNMES
Daha nce oluturduumuz veri tabanna artk ihtiya duymuyor isek onu silebiliriz. SQL Server
Management Studio ile silebileceimiz gibi, DROP DATABASE komutu ile de silebiliriz.
Silme ilemi tamamlandktan sonra, Master veri tabannn yedeini almay unutmamamz gerekir.
Bir veri tabann silemeyeceimiz durumlar da vardr. Bunlar:
*** Geri ykleme (Restore) yaplan veri tabanlarn silemeyiz.
*** Herhangi bir kullanc tarafndan okunan veya bilgi yazlan veri tabanlarn silemeyiz.
*** Replikasyon srasnda, eer veri tabannn bir tablosu devrede ise, bu veri tabann silemeyiz.
*** Sistem veri tabanlarn silemeyiz.
Eer yukardaki durumlar yoksa SQL Server Management Studio
kullanlarak veri tabann silmek iin:
1) Silinecek veri taban zerinde sa tua baslarak, alan listeden Delete seeneine tklanr.



2) Gelen ekranda OK butonuna basp, silme ilemi tamamlanr





MPORT DATA- EXPQRT DATA
Veri taban iine ayn Server veya baka bir server iinde bulunan veri tabanndan nesne
getirebileceimiz gibi, farkl bilgi saklama birimlerinden de getirebiliriz. Buna Import Data (Veri Alr), ayn
teknikle fakat tersine olarak yapacamz ileme Export Data (Veri Verir) ad verilir.
Import Data yapmak iin;
1) Bilgi getirilecek veri taban zerinde sa tua baslarak Tasks ksmnn altndaki Import Data
seeneine tklanr.

2) Gelen sihirbazn ho geldin ekran Next butonu ile geilir. Eer bu ilk ekrann bir daha karnza
kmasn istemiyorsanz, en alttaki kutucugu doldurmanz gerekir.


3) Data source ksmndan veri kayna belirlenir. Kaynan ismi Server name ve kullanlacak
veri taban ise Database ksmndan seilerek Next butonuna baslr. Bu ekran ile verilerin tanaca veri
tabann belirlemi olduk.

















4)


5) Bu admda karmza gelen ayarlar verinin gidecei hedefe ait bilgileri ierir. Normalde bu
sihirbaz veri taban zerinde sa tua basarak altrdmz iin veri tabanna ait ayarlar otomatik gelir.
Ancak istenirse deitirilebilir.




5) ilk seenek Table ve View nesnelerini almay salar. kincisi ise transfer iin bir sorgu
yazar. Next butonu ile devam ediyoruz.

6)Listeden kopyalanacak nesneler seilerek Next butonuna baslr.

7) stenirse SSIS Package olarak kaydedilebilir. Next butonu ile yolumuza devam ediyoruz
ve zet sayfasn grdkten sonra Finish butonu ile bitiriyoruz.Artk hedefi gidip, kontrol
edebilirsiniz.

DETACH

Bir Server iine, baka bir ortamdan .mdf dosyasn getirerek dahil etme ilemine Attach ad
verilir. Detach ile de bir veri tabann ayrabiliriz.
Bunun iin;
1) Databases '"'zerinde sa tua baslarak Attach seeneine tklanr.



2) Gelen iletiim kutusundan dahil edilecek .mdf dosyas Add butonu kullanlarak seilir.



3) Eer bir veri tabann silmek istemiyor fakat Server zerindeki haklarn iptal etmek istiyorsanz,
zerinde sa tua baslarak Detach seeneine tklanr. Bunun sonunda Databases klasr altndan silinir,
ancak .mdf dosyas duruyordur. Bu arada CD veya diskete kopyalar daha sonra tekrar Attach ile dahil
edebilirsiniz.



4) Server arasnda veri taban kopyalamak iin kullanacanz bir seenek de; yine veri taban
zerinde sa tua basarak Tasks ksmndan erieceiniz Copy Database seeneidir.



BACK UP- RESTORE
Veri tabanlarnz nem ve kullanlrlk derecesine gre belli aralklarla yedeklemelisiniz ki ileride
banza bir sorun geldiinde geri ykleyebilesiniz.
Bunun iin;
1) Veri taban zerinde sa tua baslarak Tasks ksmndan Back Up seeneine tklanr.

2) Source ksmndan yedei alnacak veri taban, Backup type ksmndan ise yedeklemenin tipi seilir.
Eer ilk defa yedek alacaksanz Full seeneini semeniz gerekir. Ardndan ayn yedekleme setinin zerine
yapacanz yedeklemeler iin Differential seeneini kullanabilirsiniz.
Varsaylan olarak Database seenei iaretli olduu iin tm veri tabannn yedeini alr. Ancak
istersek bir dosya grubu veya dosyann yedeini de alabiliriz. Add butonu ile yedeklemenin nereye
yaplaca belirtilir. Varsaylan yer SQL Server iindeki Backup klasrdr.




3) OK butonuna bastnz zaman yedekleme ilemi baar ve veri tabannn byklne gre
bir sre sonra tamamlanr.

4)Varsaylan yerine gittiiniz zaman bu seti grebilirsiniz.


5) Bu veri tabannn bozulduunu veya yanllkla silindiini kabul edelim. O zaman Databases
klasr zerinde sa tua baslarak Restore Database seeneine tklanr.


6) To database ksmna; alacak veri tabann ad yazlr veya seilir.







7) From device ksmna girilerek yedek seti seilir. Alacak yaplar bandaki kutucuklar
doldurularak belirlenir ve OK butonuna baslr.



POLICY TABANLI YNETM

Policy tabanl ynetim ile SQL Server gvenliini arttrabiliriz. Geni SQL Server yaplarnda da
kullanlabilecek bir yntemdir. Burada Configuration Server zerinde kullanacamz Policy yapsn,
sistemde bulunan dier SOL Server yaplarna aktarabiliriz. Bunun iin; tm Configuration Server'lar ve alt
yaplar mutlaka Windows Authentication ile yaplandrlmaldr.
Daha iyi bir ynetim ve izleme olana sunan bu yapda ana bileen bulunmaktadr. Bunlar;
*** Policy Management
*** Policy Administrator
*** Explicit Administrator
Policy tabanl ynetim(PBM) framevvork' ile Server zerinde yaplacak ve yaplamayacak ilemleri
belirleyebiliriz. SOL Server 2012 ile bir veya birden fazla instance ynetimi, gerekletirilebilir. Bunun
iin SOL Server Management Studio kullanlarak server, database veya herhangi bir nesne iin gerekli
dzenlemeler yaplabilir.
Policy sonular Object Explorer'da veya Event Viewer iinde izlenebilir. Buradaki sonulara gre
eitli ilemleri devreye sokabiliriz. Buradaki uyarlar aadaki mesajlar kapsar;
On change: prevent (if automatic)
On change: prevent (if On demand)
On schedule
On change

T-SQL

TRANSACT-SOL TEMELLER
Bu ksmda Transact-SQL iinde kullanlan nemli elementlerin kullanmlarn
inceleyeceiz. Bunlarn; Transact-SQL komutlarn etkin ekilde ynetmek iin olduka nemli
komutlar olduunu, balamadan nce hatrlatmak isterim.
GO- EXEC
SQL Server yapsnda bir veya daha fazla komutu arka arkaya altrabiliriz. Gerek bir
Transact-SQL komutu olmayan GO ile arka arkaya birden fazla komutu altrabiliriz. rnein;
Birden fazla DDL komutunu Ouery Editr iinde arka arkaya tetiklemek istiyor isek; her bir
DDL komut zincirinin sonuna, GO elementini ilave etmemiz gerekir. Aadaki rnek kod'da ilk
nce veri tabanna INSERT ile bir kayt girip, ardndan da veri tabannda bulunan tm kaytlar
listeliyoruz. Geri SQL Server 2012 iinde aadaki rnekte bulunan go'lar yazmasanz da
alr, biz yine de ne olduunu bilelim. Dikkat edilmesi gereken husus: GO elementinin Transact-
SQL komutlar ile ayn satra yazlmamasdr.

use gorkem

insert into kitap

values(1002,'C# 2010',80,'12.15.2010')

go

select * from kitap

go

Dier bir nemli element ise EXEC'dir. Bu element kullanlarak, oluturulmu bir
Stored Procedure veya fonksiyon altrlabilir.

AIKLAMA EKLEME
Transact-SQL komutlarnn yapsna tek satr ve blok halinde olmak zere iki ekilde
aklama ekleyebiliriz. Bu yap sadece aklama eklemek iin deil, ayn zamanda bir veya birden fazla
satr iptal etmek iin de kullanlabilir.
ki yapy da rnekleyecek olursak;
1) Aadaki yapda "--" iareti ile tek satr iin aklama eklenmitir.
use grkem --grkem veri tabann aktif hale getirir,
select * from kitap
2) Aadaki yap ise; blok eklinde aklama ekleme yapsna rnek tekil eder. Balarken /* ,
biterken ise */ kullanlr.
use grkem
select * from kitap
Eer Query Editr iinde birok ifade varsa ve siz sadece belli bir blgedeki ifadeyi altrmak
isterseniz o ksm Fare ile seip altrabilirsiniz. Bylelikle seilmeyenler almayacaktr.

TAMLAMALAR
Nesnelere verilecek isimler gibi, tanmlamalarn da uzunluu maksimum 128 karakter
olabilir. lk karakter; mutlaka harf olmaldr. lk karakterden sonra istenirse say, altizgi, @ gibi
karakterler kullanlabilir. Eer boluk braklacaksa, keli parantez iinde nesne ad yazlmaldr.
Trke karakterler isim verilirken kullanlabilir, ancak ben pek kullanmanz tavsiye etmem.
UYGULAMA
1) Aadaki yazlmda, tablo ad iin farkl karakterler kullanlmtr.


2)Aada ise boluk verilerek, bir tablo ad oluturulmutur.

2 )Arada boluk varsa kseli parantez verine; ift trnak da kullanlabilir.

4 ) Bu tablolar oluturduktan sonra SQL Server iinde kontrol ettiiniz zaman, grnt
aadaki gibi olacaktr.


VER TPLER
Veri taban iinde depolanacak veri deerlerinin kategorilerine veri tipi ad verilir. Veri
tipleri; tablo stunlarnda kullanlaca gibi, bir parametre atanmasnda veya bir deikende de
kullanlabilir.
Tanmlanacak deere gre, veri tiplerini gruplayarak ksaca inceleyelim:
*** Saylar iin: Burada seim, gireceiniz verinin uzunluuna ve ondalkl olmasna gre
yaplr. Bunlardan tam saylar iin kullanlanlar; int, tinyint, smallint, bigint. Ondalkl saylar iin
kullanlanlar; numeric, decimal, money, smallmoney. Ayrca float ve real veri tipleri de bu
kategori iine girer.
***. Tarihler iin: ki adet veri tipi vardr. Bunlar; 0.333 milisaniye hassasiyetli datetime
ve 1 dakika hassasiyetli smalldate. Harfler in: ki grupta toplanrlar. Sabit uzunlukta
karakterler iin; char ve nchar kullanlrken, girilen deer kadar uzunluk tutanlar iinse;
varchar ve nvarchar kullanlr.
*** Binary: String (Saylar iin) veri tipine ok benzer. Ancak veri, bir karakter dizisi
olarak kaydedilir.
Burada, direkt tablo iinde ilem yaplmaz. Yani bilgiyi direkt olarak giremezsiniz. Ancak,
Transact-SQL komutlar ile iine bilgi yazlr veya okunur. ifrelemede tercih edilecek bir
yntemdir.
Tm veri tiplerini bir tablo halinde verecek olursak;

UYGULAMA
1) Bu uygulamamzda zei bir yeri olan varbinary veri tipini inceleyeceiz. zellikle
ifreleyerek tutulan veriler iin tercih edebileceiniz bir veri tipidir.
2) Daha nce oluturduumuz "Yksel inan" tablosunun zerinde, sa tua basarak
Design seeneine tklayalm ve aadaki gib yaplandrp ve kaydederek kapatalm.



Not: Eer deiiklik yapmanza izin vermiyorsa Tools mensnden Options seeneine
girerek; Designers altndaki ilk seenee tklayarak Prevent saving changes that require table
re-creation seeneinin bandaki kutucuu boaltalm.



2)ine veri girmeye alalm, sno ve yas ksmna bilgi girebilirsiniz. Ancak ifre ksmna;
bilgi giri izini vermediini grrz. ESC tuu ile iptal edelim.





4) Query Editr iine, aadaki kodu yazalm.



5) altralm. Daha sonra en son ifre deerini; 2222 ve 3333 yaparak, iki kez daha
altralm. Grnt ekildeki gibi olur. Burada ifre stununda deerler hegzadecimal olarak
yazlmtr.



6) Tablo iini atnz zaman, bu deerleri gremeyeceksiniz.
7)


7) Ancak Query Editr iinden grebilirsiniz. imdi olaya daha iyi hakim olmak ve bu
deerlerin yazldn ispatlamak iin, Query Editr ksmna aadaki ifadeleri yazalm.



8) Bu ilem sonunda Query Editr kts, aadaki gibi olacaktr.





Tabiki bu zellii Visual Studio .NET ortamnda gelitirdiimiz bir uygulamada rahatlkla
kullanabiliriz.



Benzersiz Tanmlama:

Rasgele, benzersiz bir deer reten veri tipidir. Bu zellie sahip, tek bir veri tipi vardr ve
ad da uniqueidentifier'dir. GUID (Globally Unique Identifier) deeri reten bu veri tipi, guid
deeri retir ve her zaman benzersiz olur. Gvenlik gerektiren dorulamalarda tercih edilen bir
deerdir. retimi kendi yapt iin, kullanc tarafndan bir deer girilmez. Ancak, sorgulama
yaparken bu deer kullanlabilir.






UYGULAMA
1) "Yksel inan" tablosunun tasar ksmna girerek, aadaki gibi tasarlayalm. Bu
ekranda Data Type olarak uniqueidentifier seilmi olup, aadaki zellikleri
ksmndan RovvGuid zellii Yes yaplmtr. Bylelikle Default Value blmnn
yanna (newid()) deeri gelmitir.







2) Eer tabloyu ap, zel isimli alana veri girii yapmaya alrsak bunu baaramayz.
Alttaki SQL ifadesi bunu salar. Ayrca buradan sorgulama yaplabilir.

You might also like