Yaz l mc lar çin SQL Server 2012 ve Veritaban Programlama



Benzer belgeler
Yazılımcılar İçin SQL Server 2008 ve Veritabanı Programlama

Microsoft SQL Server Sorgulama

Maltepe Üniversitesi Bilgisayar Mühendisliği Bölümü Veri Tabanı ve Yönetimi (BİL 301)

«BM364» Veritabanı Uygulamaları

20461C Querying Microsoft SQL Server Modül Seviye Belirleme Testi

Veri Taban ve Visual Basic

«BM364» Veritabanı Uygulamaları

Bölüm 8 Ön Ürün ve Hzl Uygulama Gelitirme. 8lk Kullanc Tepkileri. Dört Çeit Ön Ürün. Ana Konular. Yamal Ön Ürün. Ön Ürün Gelitirme

Her bölüm için kısa bazı girişler yapılacak ve bölüm içerisinde anlatılacak olan konuların genel başlıkları belirtilecektir.

«BM364» Veritabanı Uygulamaları

VER TABANI PROGRAMCILARINA PUÇLARI

SQL Server 2008 ile Tanışma"

1 MICROSOFT SQL SERVER A GENEL BAKIŞ

VERİ TABANI ve YÖNETİMİ

Ders Adı Kodu Yarıyılı T+U Saati Ulusal Kredisi AKTS

SQL veri tabalarına erişmek ve onları kullanmak için geliştirilmiş bir lisandır.

SQL e Giriş. Uzm. Murat YAZICI

Oracle da kullanılan veri tipleri:

Veritabanı sistemlerinde veri bütünlüğünü sağlayabilmek için CONSTRAINTS olarak adlandırılan bazı zorlayıcı ifadeler kullanılabilir.

BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

DENİZ HARP OKULU BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜM BAŞKANLIĞI DERS TANITIM BİLGİLERİ

Maltepe Üniversitesi Endüstri Mühendisliği Bölümü Veri Tabanı Yönetimi (END 210)

Veritabanı Yönetim Sistemleri (Veritabanı Tasarımı) SQL (Structured Query Language)

5 SQL- Yapısal Sorgulama Dili. Veritabanı 1

«BM364» Veritabanı Uygulamaları-2

Veritabanı Tasarımı. Kullanıcı Erişimini Kontrol Etme

Elbistan Meslek Yüksek Okulu GÜZ Yarıyılı Ara Öğr. Gör. Murat KEÇECĠOĞLU

Veri Tabanı Programlamaya Giriş

Pursaklar İMKB Teknik ve Endüstri Meslek Lisesi

V.A.D. Yaklamnn avantajlar. Ünite 9 Veri Ak Diagramlarnn Kullanm. Ana Konular. Temel semboller. Harici Varlklar. Veri Ak Diagramlar

VB de Veri Türleri 1

Matematiksel denklemlerin çözüm yöntemlerini ara t r n z. 9. FORMÜLLER

İlk Konsol Uygulamamız 2 İlk Windows Uygulamamız 9.Net Framework Yapısı 18 Neler Öğrendik 19. Veri Tipleri 24 Tanımlı Veri Tipleri 27 Basit Tipler 28

Yukarıdakilerden hangileri DML (Data Manipulation Language) ile gerçekleştirilir?

ÜNİTE 8 SQL Dili ve T-SQL Uygulamaları

SQL Komutları (2) Uzm. Murat YAZICI

Bu işleçlerin dışında, aşağıda belirtilen karşılaştırma işleçlerinden de yararlanılır.

VERİTABANI Veritabanı Yönetimi

Üst Düzey Programlama

SIMCC - Simülasyon Kontrol Merkezi. SIMCC Genel Bak&8. Simülasyon nedir?

MİLLİ SAVUNMA ÜNİVERSİTESİ KARA HARP OKULU DEKANLIĞI BİLGİSAYAR MÜHENDİSLİĞİ BÖLÜMÜ DERS TANITIM BİLGİLERİ

Yavuz HEKM. Egekons Prefabrike Metal Yap San. Tic. Ltd.!ti. ve. Hekim Gemi n$a A.!. Firmalarnn Kurucusu ve Yönetim Kurulu Ba$kan.

Veritabanı İşlemleri

1. MİCROSOFT SQL SERVER 2014'E GİRİŞ

Fonksiyonlar istenilen deger tipinde dönüs yapabilir. INT, VARCHAR deger döndürebileceğiniz gibi bir tablo da döndürebilirsiniz.

İNTERNET PROGRAMLAMA 2 A S P. N E T. Marmara Teknik Bilimler MYO / Hafta 5 Veri Tabanı İşlemleri

8 Oracle da tablo yapısı içinde otomatik artan kolon yoktur. (identity kolon

VERİ TABANI YÖNETİM SİSTEMLERİ I

ELIF KIOTZEOGLOU RESUL MURAD MERT PACOLARI

SP_RENAMEDB eski_isim, yeni_isim VEYA SP_RENAMEDB 'eski isim', 'yeni isim'

TESİ. indeks. söylenebilir?? bir ilişkidir d) Hiçbiri. veya somutlaştırılmış. düzeyidir? sağlayabilir? sına. d) Hepsi. olabilir? c) Verilerin d) Hepsi

Veri Tabanı Hafta Dersi

ACCESS PLATFORMUNDA SQL

1 ORACLE 11G DATABASE SERVER LE

T.C KÜLTÜR VE TURZM BAKANLII Strateji Gelitirme Bakanl!"! (1. sayfa) ZEYLNAME

Veritabanı. Ders 2 VERİTABANI

PostgreSQL ve PL/pgSQL

VERİ TABANI YÖNETİM SİSTEMLERİ-II

İNTERNET PROGRAMCILIĞI DERSİ

Veri Bütünlüğü ve Constraint ler. Veritabanı 1

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim) -16 Mart 2014 A

Turquaz. Açık kodlu muhasebe yazılımı Turquaz Proje Grubu

Veri Tabanı-I 1.Hafta

Online Bilimsel Program Yönetici K lavuzu

BÖLÜM- 9: KULLANICI ERİŞİMLERİNİ YÖNETMEK

Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek

PostgreSQL Veritabanı Sunucusu. 8.2 neler getiriyor?

Data Programming SQL Language. Elbistan Meslek Yüksek Okulu Bahar Yarıyılı

ÖĞRENME-ÖĞRETME YÖNTEM VE TEKNİKLERİ. gösterip yaptırma, uygulamalı çalışma. Anlatım, soru-cevap, gösterip yaptırma, uygulamalı çalışma.

Ö RENME FAAL YET DOSYALAMA LEMLER AMAÇ ARA TIRMA Genel Bilgiler

1 RUBY HAKINDA 1 Ruby nin Gelişim Hikayesi 1 Neden Ruby? 1 Neden Bu Kadar Popüler? 2

Maliye Uzman Yardımcılığı Giriş Sınavı (Bilişim)-16 Mart 2014 B

İnternet Programcılığı

Mysql Veritabanı Komutları

TRIGGER. Trigger lar, tablo üzerinde tanımlanabilen ve bu tablo üzerinde bir işlem gerçekleştiğinde tetiklenen programlama ögeleridir.

SQL'e Giriş 2. CREATE TABLE tabloadı (kolon isimleri ve veri türleri) (BOLUM_NO NUMBER, BOLUM_ADI CHAR(10));

STORED PROCEDURE LER (Saklı Yordamlar)

Microsoft SQL Server 2005

Değerlendirme Soruları 140. Şerit Kullanımı 124 Şerit Sekmeleri 124 Şeridi Gizleme 125 Eklentiler 125

Veri Tabanı Yönetim Sistemleri Bölüm - 4

T.C GAZİ ÜNİVERSİTESİ BİLİŞİM ENSTİTÜSÜ YÖNETİM BİLİŞİM SİSTEMLERİ ANA BİLİM DALI MS SQL KOMUTLARI VE MS SQL KOMUTLARI İLE İLGİLİ UYGULAMALAR

Advanced Oracle SQL Tuning

EBE-368 Veri Tabanı Yönetim Sistemleri SQL

YAPISAL SORGULAMA DİLİ. BARIŞ ARIBURNU barisariburnu.com

ÖNCE BEN OKU WorkCentre 7300 Serisi Fiery Yüklemesi

VERİ TABANI UYGULAMALARI

Ders Kodu Yarıyıl T+U Saat Kredi AKTS. Programlama Dilleri

Ç NDEK LER G R fi 1 Bafllamadan Önce 1 Kitab Kimler Okumal? 1 Kitap çerisindeki Örnekler 2 Örneklerin Kullan m 3 Çekinmeden Yaz n 7

SQL sorguları çalıştırıldığında veriler tablo üzerinden iki yöntemle alınır.

WEB SERVS TABANLI GELTRLEN MOBL UYGULAMALAR: ODTÜ MOBL ÖRENC LER BLG SSTEM (MOBS)

ÖZGÜR YAZILIMLAR İLE J2EE

T.C. MALTEPE ÜNĠVERSĠTESĠ MÜHENDĠSLĠK FAKÜLTESĠ ENDÜSTRĠ MÜHENDĠSLĠĞĠ BÖLÜMÜ LĠSANS PROGRAMI Güz Yarıyılı

Veritabanı Yönetimi Bilgisayarların. Keşfi Hedefler. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi. Veritabanı, Veri ve Bilgi

Kullanıcı tanımlı fonksiyonlar SQL2000 ile gelen özelliklerden biridir. Fonksiyonlar tek bir değer veya tablo döndürmek için kullanılır.

Cursor. Bir veri tipi olarak da ele alınabilen Transact-SQL Sunucu Cursor şu aşamalardan geçirilerek kullanılır.

ORM & Hibernate. Ahmet Demirelli. SCJP 5.0, SCWCD 1.4 ahmetdemirelli@sabanciuniv.edu

İÇİNDEKİLER VII İÇİNDEKİLER 1 SQL SERVER KURULUMU VE SUNUCUYA BAĞLANMAK 1

VERİTABANI DÜNYASINDA NELER OLUYOR? Tavsiye Edilen Önhazırlık Veritabanı kavramını öğrenmek.

PostgreSQL ve PL/pgSQL

Transkript:

Yazlmclar çin SQL Server 2012 ve Veritaban Programlama

Yaar Gözüdeli YAZILIMCILAR ÇN SQL SERVER 2012 ve VERTABANI PROGRAMLAMA Video Destekli Eitim Seti Yeni Versiyona Göre Yeniden Düzenlenmi 7.BASKI Temel Veritaban Konsepti SQL Server 2012 Bileenleri Veritaban Tasarm ve Normalizasyon Tablolar Tasarlamak ve Constraintler Tablolarla ve Viewlerle Çalmak SQL ile Verileri Sorgulamak, Tablolar Birletirmek ve Verileri Özetlemek Veri Eriimini yletirmek ve ndeksler Programlama Dili Olarak T-SQL leri Veri Yönetim Teknikleri ve Cursor Programlamak Fonksiyonlarla-Stored Procedure ve Triggerlarla Çalmak Ortak Zamanllk ve Transaction Kavram Veritabannda XML ile Çalmak CLR Ortamnda C# Kodlar ile Fonksiyon, Prosedür, Tip ve Trigger Kodlamak Corafi Tiplerle Çalmak Veritabann Gözlemlemek Veritabann Yedeklemek ve Yedekten Dönmek SEÇKN Teknik

YazlmclarçinSQLServer2012veVeritabanProgramlama YaarGözüdeli SEÇKN Teknik No:99 ISBN9789750213502 YedinciBask: Mart2012 SayfaTasarm: lhanerolu KapakTasarm: smailçam 688Sayfa,18,5x23,5cm. 1.TemelVeritabanKonseptiveVeritabanTasarm 2.TablolarveConstraintlerleçalmak 3.SQLileVeritabanSorgulamak,BirletirmekveÖzetlemek 4.SorguAnalizivendeksler 5.ProgramlamaDiliolarakTSQL 6.FonksiyonStoredProcedureveTriggerlar 7.ConcurrencyveTransactionKavram 8.XMLileÇalmak 9.C#ileDBÖeleriKodlamak 10.VeritabannYedeklemekveYedektenDönmek SeçkinYaynclkSan.veTic.A.. BukitabnhertürlüyaynhakkSeçkinYaynclkSan.veTic.A.. yeaittir.yaynevininyazlizniolmadan,tantmamaçltoplambir sayfaygeçmeyecekalntlarhariçolmaküzere,hiçbirekildekitabntümüveyabirksmherhangibirortamdayaymlanamazve çoaltlamaz. YaynveDatm: Merkez SalkSok.No:21 06410Shhiye/Ankara Tel:(312)4353030 Faks:(312)4352472 satis@seckin.com.tr ube StrazburgCad.No:23/B Shhiye/Ankara Tel:(312)2305262 ankarasube@seckin.com.tr ube AnkaraAdliyeSaray KBlokZeminKat Shhiye/ANKARA Tel:(312)3095248 adliyesube@seckin.com.tr ube AbideiHürriyetCad. No:193/Aili/STANBUL Tel:(212)2343477 Faks:(212)2312469 sislisube@seckin.com.tr WebAdresi www.seckin.com.tr/seckin@seckin.com.tr SeçkinYaynclkSertifikaNo:12416 Bask: SözkesenMatbaaclk,Tel:(0 312)3952110/SertifikaNo:13268

Teekkür Bu kitabn ortaya çkmas ve gelimesi hiç üphesiz kendilerine ait zamandan fedakârlk yapmalarndan dolay, eim Lale'ye, kzm Neva'ya ve olum Yusuf Hakan'a aittir. Özellikle yeni nesil Microsoft teknolojileri konusunda beni yaama balayan ve bir bütüncül eitim seti ortaya çkarken her aamasnda deerli fikirleri ile beni yönlendiren Özcan Koç'a; SQL Server'in geliim sürecinde, kitap fikrimi sürekli taze tutan ve beni yüreklendiren, Sefer Algan ve Tolga Yaram olmak üzere tüm arkadalarma teekkürlerimi sunarm. 9.Bölümde yer alan Uzaysal Veri Tipleri'ne olan katklarndan dolay Mehmet Karaman'a teekkür ederim. Kitap içeriini sizlerden önce okuyarak, gerek fikirleri gerekse deerlendirmeleri ile sizlere daha az hatal bir kitap sunmam konusunda bana yardmc olan deerli yazlm gelitirici arkadalarm Halil Çiçek, Volkan Verim ve Salih Bozkurt'a teker teker teekkürlerimi sunarm. Kitap içeriinin ve müfredatnn genel kabul görmü bir müfredat haline gelmesinde, INETA- MEA'nn Verivizyon'a verdii destek üphesiz yabana atlamaz. Bu kapsamda INETA'ya teekkürlerimi sunarm. Yine kitap müfredatna alnm konularn anlatmlarnn olgunlamas Verivizyon aktiviteleri ile salanmtr. Verivizyon tarafndan düzenlenen seminer, eitim ve benzeri etkinliklere emei geçen ve katlan herkese teekkürlerimi sunarm. Kitabn düzenlenmesi ve okunabilir hale gelmesinde emei geçen Seçkin Yaynclk çalanlarna ve desteklerinden dolay bütün mesai arkadalarma teekkür ederim. Kitabn bundan önceki basklar hakknda, teveccühlerini veya düzeltmelerini ileterek daha iyiyi arama serüvenimde bana destek veren okurlarma teekkür ederim. Günlük hayatta karlatklar sorunlar ve çözümlerini dolaysyla da tecrübelerini benim aracl- mla siz okurlara ulatran yazlmc dostlarma, son olarak bu kitab okumaya deer görüp elinize aldnz için ve belki bana görülerinizi ileterek daha iyiyi bulmama yardmc olacanz için size teekkürlerimi sunarm.

SQL Server Öncüleri Topluluu Hakkında www.sqlserveronculeri.com Ksa ad SQLPASS olan Professional Association for SQL Server küresel topluluunun Türkiye aya olarak kurulan SQL Server Öncüleri SQL Server ve etrafndaki teknolojiler hakknda paylam alan salamay hedefleyen gönüllülük esasna dayal bir topluluktur. Gerek teknik konularda, gerekse i odakl gereksinimlere yönelik bilgi ve deneyimlerin Türkçe paylalmas yoluyla bu alanda çalan üyelerini daha ileri bir bilgi ve deneyim seviyesine tamay hedeflemektedir. Bir kullanc topluluu olan www.sqlserveronculeri.com web sitesine ücretsiz olarak üye olarak, SQL Server ile ilgili güncel gelimeler, teknikler ve etkinliklerden haberdar olabilirsiniz. Ayrca, alannda uzman profesyonellerce yazlm makaleleri okuyarak, bu konudaki birikimlerinizi gelitirebilir, bir BT çalan olarak gündelik yaamnzda karlaaca- nz sorunlara çözümler arayabilirsiniz. ayet SQL Server Öncüleri ilgi alanndaki konulardan herhangi birinde uzman olduunuza inanyorsanz, gönüllü yazar olarak toplulua katk salayabilir; Siz de yeni balayanlar için faydal olacana inandnz makalelerinizi yaynlama ans yakalayabilirsiniz.

Önsöz Kitabn ilk basksnn üstünden 8 yl ve 5 SQL Server Sürümü geçti. likisel Veritabanlar halen popüler. nsanolunun veriye olan gereksinimi artmaya devam ediyor. Bu gereksinime paralel, verilerin birinci dereceden muhatab olan Veritaban Yönetim Sistemleri de sürekli olarak geliiyor. SQL'in, standart olarak ortaya atldndan bu yana yakla- k 20 yldr popülerliini kaybetmemi bir dil olmas onun ne denli güçlü ve gereksinim duyulan bir ey olduunu ortaya koyar. Belki bunun en büyük sebeplerinden biri, "veriyi" hzl kaydedebilme ve kaytlara hzl eriebilme konusunun hayatn önemli bir parças olmasndandr. Hayat bizi her geçen gün daha fazla veri üretmeye zorluyor. Yaptmz havaleler, verdi- imiz sipariler, ödediimiz faturalar, vergiler, ulam biletleri, girdiimiz snavlar, doldurduumuz Web formlar, kullandmz telefonlar, arabalarmzla yaptmz ücretli geçiler, hava tahminleri, facebook-twitter gönderileri, soru sorduumuz forumlar... Bütün bunlara paralel olarak verileri yönetmek de, her geçen gün yeni gereksinimlerle karmza çkmakta. SQL standard da bu gelimelere paralel olarak 1999, 2003, 2006, 2008 yaynlaryla desteklendi. SQL Server 2012, bir VTYS olarak bu standartlardan payna düeni fazlasyla alm bir veri yönetim arac. SQL Server 2000 Microsoft tarafndan desteklenen sürümlerden çkartldndan kitaptan da SQL Server 2000 ile ilgili bütün bilgiler çkartlmtr. Kitap yayna hazrlanrken etrafta halen SQL Server 2005 kullanan yazlmclarn da olduunu gördük. Bu nedenle her ne kadar SQL Server 2012 sürümü için hazrlanm bir kitap olsa da 2005 ve 2008 sürümlerinden geçmek isteyenleri de cesaretlendirmek için yer yer çapraz sürüm kyaslamalarna yer verildi. Bu yeni sürümde, SQL Server programlamann olmazsa olmaz olan Transact SQL ile ilgili iyiletirmeler,.net ortamnda kod yazyor hissine kaplmanza neden olabilir. Bir veritaban programcs iseniz, bu yenilikleri hzl bir ekilde örenmeniz sizin açnzdan hiç de zor olmayacaktr. Hatta kullanmaktan keyif alacanz söyleyebilirim. Oracle'dan SQL Server'a geçi yapyorsanz, Sequence kavram, kendinizi evinizde hissetmenize yardmc olacaktr. ayet bir Corafi Bilgi Sistemi projesi gelitiriyorsanz, SQL Server 2008 ile birlikte tantmz Uzaysal(Spatial) tiplerle ilgili yeniliklere bakmanzda yarar olabilir. Felaket kurtarmas amacyla tutmay planladnz SQL Server kopyasndan raporlarnz çekebilmek, ölçekleme adna size heyecan verici çözümler sunabilir. Ek olarak, Veritaban ile tanmak için bu kitab ald iseniz, ilk aamada kitap DVD'si içerisinde yer alan Veritaban Programlama 1-2 kitapçklarn okuyarak balamanz size veritaban ve SQL Server hakknda ksa bilgi verebilir. Bu kitapçklar da yine tabletlerinizde ve cep telefonlarnzda bo zaman aktivitesi olarak okumay tercih edebilirsiniz. Bunun dnda kitapçklar, bir seferde büyük resmi görebileceiniz kadar genel ama küçük kitapçklar olmalar nedeniyle de okumay düünebilirsiniz. Kitap kapsam, balangçtan orta seviyeye olduu için bu kitap, "Yazlmclar için SQL Server 2008-R2 ve Veritaban Programlama" adl bir önceki kitabn SQL Server 2012 yenilikleri çerçevesinde yeniden gözden geçirilerek gelitirilmi halidir. Kitap farkl örenim tarzlar için tasarlanm bir eitim seti olarak batan ele alnmtr.

10 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama Baz insanlar bütüncül olarak örenebilirler. Bu tür bir örenme, konularn büyük resim içerisindeki yerlerini bilip yerletirmeyi gerektirir. Kitaptaki özet içindekiler ve ek kitapçklar bu amaçla eklenmitir. Ayrca, kitap içerisinde bütüncül basit ünitelerden karma- k ve detayl ünitelere doru bir anlatm bulacaksnz. Baz insanlar, sral olarak örenebilirler. Bu tür örenmeyi desteklemek amacyla, öncelikle prensiplerden bahsedilmi ve arkasndan destekleyici örnekler verilmitir. Her ne kadar kitap yazlmclar için hazrlanm olsa da, Yedekleme ve Yedekten Geri Dönme(Restore), "Kullanc ve Yetki Yönetimi", "SQL Mail Yaplandrma" gibi yönetimsel konular da kitap içerisinde temel seviyede ele alnmakta. Kitab bitirdiinizde, orta büyüklükte bir veritaban yönetim sistemi için yazlm ve yönetim ilemlerinin hemen hepsinin üstesinden gelecek birikime sahip olacanz söyleyebilirim. Ancak uç seviyede performans gerektiren projeler için kitabn kapsam ölçekleme açsndan yetersiz gelebilir. Yeni Kitap Format Hakknda: SQL Server hakkndaki bu yeniliklerin dnda kitab, SQL Server eitim platformu olarak en batan tasarlayarak okurlarmzn 8 yldr sürdürdükleri teveccühlerini boa çkarmamay hedefledik. Bazen 10 dakika video izlemek, saatlerce kitap okumaktan daha fazlasn öretebilir. Bu amaçla kitap anlatmn yer yer videolarla destekledik. Bunu, video destekli birçok cep telefonu ve tabletlerin olanaklarndan okurlarmzn faydalanabilmesi amacyla tasarladk. Videolu eitimlerin ehir içi otobüs, tatil, seyahatleriniz gibi daha edilgen olarak bir eyler örenmeyi tercih edebileceiniz durumlar için bir DVD içerisinde sizlere sunduk. Ayrca, geni bant Internet eriimlerinizde içeriklere kolay eriebilmeniz için videolarn izlenmesi gereken yerleri kitap içerisinde video bilgisi ve QR(Quick Response-Hzl Dönü) kodla destekledik. QR okuyuculu bir mobil aygt(cep telefonu, tablet pc gibi) ile dorudan bu videolar okutarak Internet'ten kolayca ulaabilirsiniz. Yeni kitap format ile birlikte gelen yeniliklerden biri de bölüm sonlarnda yer alan "Eitim Danmannz Diyor ki" ksmlar. Bu ksmlar özellikle kendi kendine bu kitab bitirmeyi hedefleyen deerli okuyucularmzn yer yer baka öncelikleri nedeni ile motivasyon kayplarn telafi edebilmek amacyla ekledik. Böylece SQL Server'i kendi kendine sfrdan öreneceklerin kendilerini bir eitim ortamnda hissedeceklerini düünüyorum. Son olarak, konulara geçmeden önce, ayet SQL Server 2012'yi bu kitapla örenmek amacnda iseniz, "Sakin denizlerde usta kaptan yetimez" anlamna gelen afrika atasözünü dikkate almanzda yarar var. Kod çaltrmadan, bakalarnn yazd hazr kodlar okuyarak asla problemlerle karlaamazsnz. Bir satr kod yazp onu test etmek bin satr kodu okuyup geçmekten iyidir. Unutmayn ki bir yazlmc için tecrübe, kaç saat kod yazdndan öte, kod yazarken ne kadar problemle karlat ile ilgilidir. Temel veritaban kuramlarn eliniz ve zihniniz için pratik haline getirmeniz, ona zaman ayrmanzla mümkündür. Her eye ramen, kodlar hzl bir ekilde kopyalayp yaptrarak test etmek isterseniz, DVD içerisinde kitaba ait bütün kodlar ünite adlar ile adlandrlm dosyalara ayrca eklenmi vaziyette. Kitaptan çalan yazlm-veritaban severlere, verdiklerinden fazlasn alabilmeleri dile- im ile Yaar Gözüdeli ygozudeli@verivizyon.com Mart 2012-ANKARA

Genelçindekiler 1. Bölüm: VERTABANI KAVRAMINA GR... 39 1. ÜNTE: likisel Veritabannn Temelleri... 39 2. ÜNTE: SQL Server 2012'nin Temelleri... 53 3. ÜNTE: Bir Bakta T-SQL... 71 2. Bölüm: VERTABANI TASARIMI... 93 4. ÜNTE: Veritaban Tasarmna Genel Bak... 93 5. ÜNTE: Veritaban Nesnesinin Temelleri... 113 6. ÜNTE: Tablolar Tasarlamak... 135 7. ÜNTE: Veri Bütünlüünü Salamak... 163 3. Bölüm: VERLER SORGULAMAK... 185 8. ÜNTE: Basit Sorgular... 185 9. ÜNTE: Tablolar Birlikte Sorgulamak ve Özetlemek... 213 10. ÜNTE: leri Veri Yönetim Teknikleri... 235 4. Bölüm: VER ERMN YLETRMEK... 263 11. ÜNTE: Viewlerle Çalmak... 263 12. ÜNTE: Indeks Teorisi... 283 13. ÜNTE: Indeks Yönetimi... 301 5. Bölüm: T-SQL LE PROGRAMATK ÖELER KODLAMAK... 331 14. ÜNTE: T-SQL ile Programlar Gelitirmek... 331 15. ÜNTE: Stored Procedure'ler... 359 16. ÜNTE: leri T-SQL Programlama... 383 17. ÜNTE: Kullanc Tanml Fonksiyonlar... 403 6. Bölüm: XML LE ÇALIMAK... 417 18. ÜNTE: Tip Olarak XML... 417 19. ÜNTE: XML-likisel Dönüümler... 443

12 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama 7. Bölüm: ORTAK ZAMANLILIK VE TRANSACTION... 455 20. ÜNTE: Transaction'larla Çalmak ve Ortak Zamanllk... 455 21. ÜNTE: Kilitlenmeleri Yönetmek... 475 22. ÜNTE: Triggerlar... 483 8. Bölüm: SQL SERVER ÇNDE CLR... 507 23. ÜNTE: CLR Genel... 507 24. ÜNTE: Basit Rutinler... 525 25. ÜNTE: leri Rutinler... 547 9. Bölüm: VERTABANI YETENEKLERN GELTRMEK... 561 26. ÜNTE: Bal Sunucularla Çalmak... 561 27. ÜNTE: likisel Olmayan SQL Server Yetenekleri... 569 28. ÜNTE: Yedeklemek ve Yedekten Dönmek... 585 10. Bölüm: STEMC TARAFTA SQL SERVER ERM PROGRAMLAMA... 605 29. ÜNTE: ADO.NET Temelleri... 605 30. ÜNTE: ADO.NET'de Kopuk Veri Yönetimi... 631 31. ÜNTE: SQL Server Management Objects'i Kullanmak... 653 EK A: VERTABANI PROGRAMCILARINA PUÇLARI... CD çerisinde EK B: C# VE OOP KILAVUZU... CD çerisinde EK C: BÖLÜM SONU SORU CEVAPLARI... 665 EK D: DÜKKAN VERTABANI EMASI... 675 EK E: CD KULLANIM KILAVUZU... 677 EK F: SERVCE BROKERS... CD çerisinde

çindekiler Teekkür... 5 SQL Server Öncüleri Topluluu Hakknda... 7 Önsöz... 9 Genel çindekiler... 11 Giri... 31 Veritaban Programlama Hakknda... 31 Kitabn çerdii Örnekleri Test Edebilmek çin... 31 Birikim Gereksinimleri... 32 Kimlere Hitabediyor... 32 Farkl Balangç Önerileri... 33 Müfredat Belirleme... 33 Kitap Neler çeriyor... 33 Veritaban Kavramna Giri...34 Veritaban Tasarm...34 Veri Sorgulama...34 Veri Eriimini yiletirmek...34 T-SQL ile Programatik Öeler Kodlamak...34 XML ile Çalmak...34 Ortak Zamanllk ve Transaction...34 SQL Server içinde CLR...35 Veritaban Yeteneklerini Gelitirmek...35 stemci Taraftan Veritaban...35 EK A - Veritaban Programclarna puçlar...35 EK B - C# ve OOP Klavuzu...35 EK C - Dükkan Veritaban emas...35 EK D - Bölüm Sonu Soru Cevaplar...35 EK E - CD Kullanm Klavuzu...36 EK F Server Brokers...36 Gösterimler ve çerik Düzeni Hakknda... 36 Görsel Ders... 37 Kaynak Dosyalar Destek ve Geri Bildirim... 37 1. Bölüm VERTABANI KAVRAMINA GR 1. ÜNTE: likisel Veritabanının Temelleri... 39 TEMEL VERTABANI KAVRAMLARI... 39 likisel Veritaban Kavram... 40 likisel Veritaban Yaklamna Basit Bir Örnek...41

14 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama likisel Cebir in Temel Operatörleri... 43 Veritaban Programlama Nerelerde Kullanlr?...45 Temel Veritaban Nesneleri...45 Veritaban Uygulamalar...50 Üç N Katman Mimarisi... 50 Bulut Biliimi ve Bulut VTYS'leri...51 Veritaban Atölyesi 1.1...51 2. ÜNTE: SQL Server 2012'nin Temelleri... 53 SQL Server Bileen Mimarisi... 53 Balca SQL Server 2012 Araçlar... 54 SQL Server Configuration Manager...54 Management Studio...55 SqlCmd...56 SQL Server Surface Area Configuration...59 SQL Profiler...60 Books Online...61 SQL Server Veritaban Mimarisi... 61 Standart Veritabanlar...61 Disk Yönetim Mimarisi... 63 SQL Server'de Disk Ölçümleri...63 SQL Server'de Tablo ve Indeks'lerin Yönetimi...65 Heap... 66 Clustered Indeks... 66 Nonclustered Indeks... 66 SQL Server Kullanc Yönetim Mimarisi... 66 Roller...66 Kullanclar ve Loginler...67 zinler...68 emalar...68 SQL Server Properties\Security Sekmesi... 68 Veritaban Atölyesi 1.2... 69 3. ÜNTE: Bir Bakıta T-SQL... 71 Veri Tanmlama Dili... 72 Nesne Oluturmak: CREATE...72 Nesne ve Deiken (Tanmlayc) simlendirme Kurallar... 72 Tanmlayc simlendirme Notasyonlar... 73 Tanmlayc simlendirmenin Töresi... 73 Null Kavram... 74 Nesnelerde Deiiklik Yapmak: ALTER...74 Nesne Silmek: DROP...75 Veri leme Dili... 75 Veri Eklemek: INSERT...75 Veri Seçmek ve Filtrelemek: SELECT... 76 Ulama... 76

çindekiler 15 Seçilen Kaytlar Sralamak... 77 WHERE Cümlecii ile Kaytlar Filtrelemek...77 Verilerde Deiiklik Yapmak: UPDATE...78 Veri Silmek: DELETE...78 Fonksiyonlar... 79 Aggregate (Grupsal) Fonksiyonlar...79 Rowset Fonksiyonlar...80 Skaler Fonksiyonlar...81 CONCAT Fonksiyonu ile Metinleri Ulamak... 83 Deterministik Kavram... 84 Veri Kontrol Dili... 87 Yetki vermek: GRANT...88 WITH GRANT OPTION Seçenei ile Basamakl Yetkilendirmek... 89 Eriimi Engellemek: DENY...90 Eriim Tanmn Kaldrmak: REVOKE...90 Veritaban Atölyesi 1.3... 91 Bölüm Sonu Özeti... 92 Bölüm Sonu Tekrar Sorular... 92 2. Bölüm VERTABANI TASARIMI 4. ÜNTE: Veritabanı Tasarımına Genel Bakı... 93 1.Kavramsal Model... 94 ORM ile Veritaban Modelleme...95 ER ile Modelleme...97 ER ile Modelleme Aamalar... 97 UML ile Modelleme:...98 2.Mantksal Model... 99 Veri Normalizasyonu... 100 Normalizasyon Kurallar...101 Kaytlarn likilendirilmesi... 103 Bire Bir liki (1-1)...104 Bire Çok liki (1-N)...104 likisel Ortamda Hiyerarik Veriyi Modellemek... 105 Çoka Çok liki (N-N)...106 ER Diyagram ile Mantksal Model Oluturmak... 107 Fiziksel Model... 110 Veritaban Atölyesi... 110 5. ÜNTE: Veritabanı Nesnesinin Temelleri... 113 Parçal Kendini çeren(partially Self Contained) Veritabanlar... 131

16 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama 6. ÜNTE: Tabloları Tasarlamak... 135 Nesne simlendirirken... 135 Sütunlar Tasarlamak ve Veri Türleri... 136 Metin Veri Tipleri...137 ASCII Veri Tipleri... 137 Unicode... 138 Metinsel Veri Tiplerinden Seçim Yapmak...138 Collation Ayarlar...139 Tarih-Zaman Veri Tipleri...140 Numerik Saylar...141 Yaklak Say Veri Tipleri...142 Tamsay Veri Tipleri...142 IDENTITY() Fonksiyonu ile Otomatik Artan Sütunlar Tanmlamak...142 Parasal Veri Tipleri...144 Binary Veri Tipleri...144 XML Veri Tipi ve XML Verilerin Tasarlanmas...145 Özel Veri Tipleri...146 Sequence Nesneleri ve Otomatik Artan Sütunlar Tanmlamak...147 Sequence ler Hakknda Bilgi Almak ve Sequence'leri Yönetmek... 149 Management Studio ile Sequence Yönetimi... 150 Hesaplanm Sütun...151 Hesaplanm Sütunu Sabitlemek (Persist Etmek)... 151 Seyrek Sütun ve Seyrek Tablo Kavram...152 Kullanc Tanml Veri Tipleri...152 Kullanc Tanml Veri Tipleri (UDDT) ile Çalmak...153 CLR Kullanc Tanml Tipler... 154 Tablolar Oluturmak... 154 Tablo Tasarmnda Satr Boyutuna Karar Vermek... 155 Tablolar Üstünde Deiiklik Yapmak... 156 Sütun Eklemek...157 Sütun Deitirmek...157 Sütun Silmek...157 Tablolarn veya Sütunlarn Adn Deitirmek...158 Tablolarn Kaplad Alanlar Gözlemlemek...158 Tablo Silmek...158 Geçici Tablolarla Çalmak... 158 Nesnelerin T-SQL fadelerini Almak... 159 Veritaban Atölyesi 2.3... 162 7. ÜNTE: Veri Bütünlüünü Salamak... 163 Veri Bütünlüünü Kavramak... 163 Tanmlamal Veri Bütünlüü...163 Prosedürel Veri Bütünlüü...167 Veri Bütünlüü Teknii Seçmek...167 Veritaban Atölyesi... 168

çindekiler 17 Veri Bütünlüünü Gerçeklemek... 168 Sütun Seviyeli Veri Bütünlüünü Salamak...169 Primary Key Constraint Oluturmak... 169 Unique Key Constraint Oluturmak... 170 Default Constraint Oluturmak... 172 Default Nesnesi Oluturmak... 172 Check Constraint Oluturmak... 173 Rule Oluturmak... 175 Tablo Seviyeli Veri Bütünlüünü Salamak...175 Sütunlar Aras Check Constraint Oluturmak... 175 Foreign Key Constraint Oluturmak... 176 Ardk Bütünlük (Cascading Integrity)... 178 Constraint'leri Yönetmek... 180 Constraint'lere Göz Atmak...181 Constraint'leri Silmek...181 Constraint'leri Denetime Kapamak ve Açmak...181 Veritaban Atölyesi... 182 Bölüm Sonu Özeti... 183 Bölüm Sonu Tekrar-2... 183 3. Bölüm VERLER SORGULAMAK 8. ÜNTE: Basit Sorgular... 185 Kaytlar Seçmek: SELECT... 185 En Basit SELECT...186 Sadece Belli Sütunlar Seçmek...187 Tekrarlamalar Tekile ndirgemek: DISTINCT...187 Türetilmi (Calculated) Sütunlar... 187 Aritmetik aretler...187 Sütuna Takma Ad (Alias)...188 Matematiksel Fonksiyonlar... 189 WHERE ile Satrlar Filitrelemek... 190 Karlatrma aretleri...190 Mantksal Operatörler... 191 NULL Karlatrma... 193 Aralk Sorgulama: BETWEN... AND...... 194 Kaytlar Sralamak: ORDER BY... 194 Dönen Kayt Saysn Kstlamak: TOP...196 SQL'DE Karakter ve Tarih lemleri...197 Karakter Karlatrmalar: LIKE Deyimi... 197 Joker Karakterler...198 Metinleri Ulamak (Concatenation)...200

18 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama Balca Karakter Fonksiyonlar... 200 Tarihleri Sorgulamak... 202 Tarih Fonksiyonlar...202 Alt Sorgularla Çalmak... 205 IN ve NOT IN... 205 Tekil Sonuçlar Döndüren Alt Sorgular... 206 Çoklu Sonuç Döndüren Altsorgular...207 Türetilmi Tablolar...208 lintili (Corelated) Altsorgular...209 EXISTS, NOT EXISTS...210 Veritaban Atölyesi... 211 9. ÜNTE: Tabloları Birlikte Sorgulamak ve Özetlemek... 213 Tablolar Birletirerek Sorgulamak... 213 Tabloya Takma Ad (Alias)... 214 Bir Tabloyu Kendisiyle Birlikte Sorgulamak... 215 INNER JOIN... 216 OUTER JOIN fadeleri... 218 LEFT OUTER JOIN...219 RIGHT OUTER JOIN...219 FULL OUTER JOIN...220 CROSS JOIN... 220 SQL Server Açsndan JOIN lemleri... 221 JOIN çin pucu Kullanmak...222 Fark, Kesiim ve Birleim Bulmak... 222 Veritaban Atölyesi... 224 Verileri Gruplamak ve Özetlemek... 225 Gruplamal Fonksiyonlar (Aggregate Functions)... 225 GROUP BY Deyimi... 227 Gruplamalar Üstünde art Komak: HAVING... 229 Gruplanm Verileri Özetlemek... 231 CUBE Deyimi...231 ROLLUP Deyimi...232 GROUPING ile Özetleri Düzenlemek...233 COMPUTE BY ve COMPUTE deyimi...234 Veritaban Atölyesi 3.2... 234 10. ÜNTE:leri Veri Yönetim Teknikleri... 235 CTE ve Rekürsif Sorgular... 235 CTE...236 Hiyerarik Sorgu için CTE'nin Rekürsif Kullanm...238 PIVOT ve UNPIVOT Operatörleri ile Veri Analizi... 241 PIVOT...241

çindekiler 19 UNPIVOT...245 Rütbeleme Fonksiyonlar ile Kaytlar Sralamak... 246 ROW_NUMBER()...247 Parçal Satr Numaralar Vermek... 248 RANK() ve DENSE_RANK() Fonksiyonlar...249 Sonuçlar n Gruba Ayrmak: NTILE (ifade)...250 SQL Server da Kaytlar Sayfalandrmak...251 Analitik Fonksiyonlara Giri... 252 Veri Deiimi Yönetimi... 253 Yeni Veri Eklemek Hakknda Püf Noktalar...254 Sorgu Sonucunu Yeni Tabloda Saklamak... 255 Bir Sorgunun Sonucunu Varolan Tabloya Eklemek... 255 Verileri Güncellemek...256 Tablolar Birletirerek Veri Güncellemek... 256 Alt Sorgular Kullanarak Veri Güncellemek... 257 Verileri Silmek...257 Tablolar Birletirerek Veri Silmek... 257 Alt Sorgular Kullanarak Veri Silmek... 258 TOP fadesi... 258 Etkin Olarak Veri Silmek: TRUNCATE TABLE... 259 Veritaban Atölyesi... 260 Bölüm Sonu Özeti... 261 Bölüm Sonu Tekrar-3... 261 4. Bölüm VER ERMNYLETRMEK 11. ÜNTE: Viewlerle Çalımak... 263 VIEW'LERLE ÇALIMAK... 263 View'lere Neden htiyaç Duyarz... 264 View çin Alternatifler...264 View Oluturmak... 265 Kstlamalar... 266 zinler ve Sahiplik Zinciri... 266 Birden Fazla Tablodan Veri Çeken View'ler... 267 View'leri Yönetmek... 268 View Üstünde Deiiklik Yapmak... 268 Tanmlanan View'leri Görmek ve Sistem View'leri... 269 View Tanmlarn Gizlemek... 269 View Temel Tablolarnn emasn Kilitlemek: SCHEMABINDING... 271 View'leri Silmek... 271 View'ler ve INSERT, UPDATE, DELETE fadeleri... 271

20 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama Parçal View Yaplar... 274 Parçal Tablolar Oluturmak... 277 Nesnelere Takma Ad: Synonymlarla Çalmak... 281 Veritaban Atölyesi... 282 12. ÜNTE: Indeks Teorisi... 283 INDEKSLERLE ÇALIMAK... 283 VTYS'ler Indeks'leri Nerelerde Kullanr?... 285 INDEKS MMARS... 287 Dengeli Aaç (-tree) Yaps... 288 Heap Yap... 289 Clustered Indeks... 290 Nonclustered Indeks... 291 SQL Server ndeks Türleri... 293 Unique ndeks... 293 Karma (Composite) ndeks... 293 Kapsam (Covering) ndeks... 293 Parçal ndeksler... 293 Eklenti Sütunlu ndeksler... 293 Filtreli ndeksler... 294 Columstore(Sütuna Kaytl) ndeksler... 294 XML ndeksler... 294 Full-Text ndeksler... 294 Veri Deiim lemlerinin ndekslere Etkisi... 295 FILLFACTOR ve PAD_INDEX Parametrelerine Karar Vermek... 296 ndeks Tanmlama Yaklamlar... 296 Clustered ndeks Tanmlarken... 296 Non-Clustered Indeks Tanmlarken... 297 Veritaban Atölyesi... 298 13. ÜNTE: Indeks Yönetimi... 301 INDEKS OLUTURMAK... 301 Unique Index... 302 Kapsam (Covering) Indeks Oluturmak... 303 INCLUDE Deyimi ile Eklenti Sütunlu Indeks Tanmlamak... 304 WHERE Deyimi ile Filtreli ndeks Tanmalak... 305 Indeks Seçeneklerini Ayarlamak... 306 Parçal Indeksler Oluturmak... 308 FILLFACTOR ve PAD_INDEX Parametrelerini Ayarlamak... 308 View Üstünde Clustered Indeks Tanmlamak... 309

çindekiler 21 Indeksler Hakknda Bilgi Almak... 310 Indeksler Üstünde Deiiklik Yapmak... 311 Indeksleri Yeniden Derlemek: REBUILD... 312 Indeksleri Yeniden Düzenlemek: REORGANIZE... 312 Indeksleri Kapatmak... 313 Indeks Seçeneklerini Deitirmek... 314 Indeksleri Silmek... 314 Indekslere Bakm Yapmak... 315 Indekslerin Danklklarn Gözlemlemek... 316 Indeksleri Düzenlemek... 317 statistiklerin Veri Eriimine Etkisi... 318 statistik Oluturmak... 319 statistikleri Güncellemek... 320 Veritaban Performans Araçlarn Kullanmak... 320 Management Studio Önerilerini Dikkate Almak... 320 SQL Profiler ile Veritabann Takip Etmek... 321 Database Tuning Advisor ile Veritaban yiletirmesi... 323 Veritaban Atölyesi... 327 Bölüm Sonu Özeti... 328 Bölüm Sonu Tekrar-4... 328 5. Bölüm T-SQLLE PROGRAMATK ÖELER KODLAMAK 14. ÜNTE: T-SQL ile Programlar Gelitirmek... 331 Programlama Dili Olarak T-SQL... 331 Deiken Tanmlama ve Kullanma...332 Birleik Operatörler... 334 Bit Seviye Operatörler... 335 Kod çerisine Açklamalar Eklemek... 336 Global Deikenler ve Sistem Fonksiyonlar... 336 Yn Kavram ve GO bölümleyicisi...336 Print Komutu... 338 Tablo Tipi Deikenler Kullanmak... 338 DML ifadeden Çkt Veri Almak... 339 Ak Kontrolleri...341 IF... ELSE Karar Yaps... 341 IIF Fonksiyonu... 343 CASE Deyimi... 344 While Döngüsü... 345 BREAK Komutu... 345

22 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama CONTINUE Komutu... 346 CHOOSE Fonksiyonu... 346 Cursorlerle Veri Yönetimi... 347 Transact-SQL Sunucu Cursor'ler...348 Cursor'lerin Seçeneklerini Ayarlamak... 353 Cursor'lerle Satrlar Dolamak...353 Cursor Üstünden Kaytlar Düzenlemek... 355 Ortak Zamanl (Concurrent) çalma ve Cursor'ler...355 Veritaban Atölyesi... 356 15. ÜNTE: Stored Procedure'ler... 359 Stored Procedure'lerle Çalmak... 359 Stored Procedure'ler Oluturmak... 363 Stored Procedure'ü Çaltrmak...364 NOCOUNT Oturum Parametresi'nin Kullanm...366 Stored Procedure'leri Yönetmek... 366 Stored Procedure'lerde Deiiklik Yapmak...367 Stored Procedurelerde Parametrelerle Çalmak... 369 Girdi Parametreler (Input Parameter)... 370 Girdi Parametre ile Stored Procedure Çarmak...370 Tablo Tipi Parametre Alan Stored Procedure'ler Kodlamak...372 Parametre Geçerliliini Denetlemek...373 Çkt Parametrelerle Çalmak... 375 Çk Parametrelerini Almak... 376 RETURN deyimi... 376 Modül Çaltrma Balamlar: EXECUTE AS... 379 EXECUTE AS CALLER...379 EXECUTE AS 'kullanici'...380 EXECUTE AS SELF...381 EXECUTE AS OWNER...381 Stored Prosedürleri WITH RESULT SETS ile Çarmak... 381 Veritaban Atölyesi... 382 16. ÜNTE:leri T-SQL Programlama... 383 SQL Server 2012 T-SQL Ortamn Etkin Kullanmak... 383 Dinamik SQL Çaltrmak... 383 EXEC Fonksiyonu ile Dinamik SQL Çaltrmak...383 sp_executesql ile Dinamik Sorgu Çaltrmak...386 T-SQL'de Hata Yakalama Mimarisi... 387 Sistem Mesajlar: sys.messages...387 Sisteme Yeni Mesaj Eklemek... 388 Sistemden Kullanc Tanml Mesaj Silmek... 389 Hata Mesajlarn Kullanmak...389

çindekiler 23 RAISERROR fadesi... 389 THROW fadesi ile Hata Frlatmak... 391 Parametreli Hata Mesajlar Tanmlamak...392 Oluan Son Hatann Kodunu Yakalamak: @@ERROR...394 Hata Kontrolü ve TRY-CATCH Yaps... 395 THROW fadesi ile Hatalar Aynen Yanstmak...397 Uygulama için Veritaban Hata Yakalama Mimari Tasarm... 397 dbo.tbhatagecmis Tablosu... 398 sp$hatayakala Stored Procedure'ü... 398 sp$hatayazdir Stored Prosedürü... 399 Hata Yakalama Mimarisi Kullanm Örnei... 400 Veritaban Atölyesi... 401 17. ÜNTE: Kullanıcı Tanımlı Fonksiyonlar... 403 Kullanc Tanml Fonksiyonlarla Çalmak... 403 Kullanc Tanml Fonksiyonlarla Neler Yapabiliriz... 404 Skaler Kullanc Tanml Fonksiyonlar... 404 Türetilmi Sütun Olarak Skaler Fonksiyon...406 Satrdan Tablo Döndüren Fonksiyonlar... 407 Çoklu fade ile Tablo Döndüren Fonksiyonlar... 408 Rekürsif Sorgu için Örnek Fonksiyon...409 Tablolarla Tablo Tipi Fonksiyonlar Biletirmek: APPLY... 411 CROSS APPLY...412 OUTER APPLY...413 Veritaban Atölyesi... 413 Bölüm Sonu Özeti... 414 Bölüm Sonu Tekrar Sorular-5... 414 6. Bölüm XMLLE ÇALIMAK 18. ÜNTE: Tip Olarak XML... 417 XML Destei... 417 Hibrit Veritaban Gereksinimi... 418 XML Veri Tipini Kullanmak... 419 Deiken ve Parametre Olarak XML Tipi... 420 Tablolarda XML Veri Tipi... 420 Tip Tanmsz XML Veri le Çalmak... 420 Tip Tanml XML Veri le Çalmak... 421 XSD ve Schema Collections Nesneleri...421 emalar Hakknda Bilgi Almak... 423 Tip Tanml XML Sütunlar Oluturmak... 424

24 Yazlmclar çin SQL Server 2012 ve Veritaban Programlama likisel Seviye XML Tanmlamalar Kullanmak... 426 Kstlanm (Constrainted) XML Veri Kullanmak...426 XML Veri Üstünde Hesaplanm Sütun Tanmlamak... 426 XML Veriyi Yönetmek ve Sorgulamak... 426 Bir Bakta XML Sorgu Dili: XQuery... 427 XML Veri Tipi Metodlar... 431 xml.query (string XQuery)...431 xml.exist (string XQuery)... 433 xml.value (string XQuery, string SQLVeriTipi)... 433 xml.nodes (string XQuery)... 434 XML Veriyi Düzenlemek: xml.modify()... 436 insert fadesi ile Yeni Bilgi Eklemek...437 delete fadesi ile Bir Bilgi Silmek...438 replace value of fadesi ile Düüm Üstünde Düzenlemeler Yapmak...438 Veritaban Atölyesi... 439 XML Sütunlarda Indeks Tanmlamak... 439 Birincil XML Indeks Oluturmak... 440 kincil XML Indeks Oluturmak... 440 Deer Temelli XML Indeksler...440 Yol Temelli XML Indeksler...441 XML Sütunlar Üstünde Hesaplanm Alan ve likisel Indeksler Tanmlamak...442 Veritaban Atölyesi... 442 19. ÜNTE: XML-likisel Dönüümler... 443 likisel-xml Veri Dönüümleri... 443 OPEN XML... 443 FOR XML... 446 RAW Mod ile XML Veri Çekmek...447 AUTO Modda XML Veri Çekmek...448 EXPLICIT (Bilinçli) Modda XML Veri Çekmek...450 PATH Modda XML Veri Çekmek...452 Veritaban Atölyesi... 453 Bölüm Sonu Özeti... 454 Bölüm Sonu Tekrar Sorular-6... 454 7. Bölüm ORTAK ZAMANLILIK VE TRANSACTION 20. ÜNTE: Transaction'larla Çalımak ve Ortak Zamanlılık.. 455 Transaction ve Ortak Zamanllk... 455 Transaction Blou Nasl Ele Alnr?... 457