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.
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.