Professional Documents
Culture Documents
T SQL
T SQL
MEGEP
(MESLEK ETM VE RETM SSTEMNN GLENDRLMES PROJES)
BLM TEKNOLOJLER
T-SQL
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 ...................................................................................................................iii GR ....................................................................................................................................... 1 RENME FAALYET - 1 ................................................................................................... 3 1. T-SQL................................................................................................................................... 3 1.1. Transact SQL Kavram ................................................................................................. 3 1.2. Veri Tanmlama Dili (DDL) ......................................................................................... 4 1.2.1. CREATE (Nesne Oluturmak) .............................................................................. 4 1.2.2. ALTER (Nesnelerde Deiiklik Yapmak)............................................................. 5 1.2.3. DROP (Nesne Silmek)........................................................................................... 5 1.3. Veri leme Dili (DML) ................................................................................................ 5 1.3.1. SELECT Komutu .................................................................................................. 6 1.3.2. INSERT Komutu ................................................................................................... 7 1.3.3. UPDATE Komutu ................................................................................................. 7 1.3.4. DELETE Komutu .................................................................................................. 7 1.4. Veri Kontrol Dili (DCL) ............................................................................................... 8 1.4.1. GRANT Komutu ................................................................................................... 9 1.4.2. DENY Komutu ...................................................................................................... 9 1.4.3. REVOKE Komutu ............................................................................................... 10 UYGULAMA FAALYET .............................................................................................. 11 LME VE DEERLENDRME .................................................................................... 15 RENME FAALYET - 2 ................................................................................................. 16 2. T-SQL LE ALIMAK.................................................................................................... 16 2.1. Deikenler ................................................................................................................. 16 2.1.1. Nesne ve Deiken simlendirme Kurallar......................................................... 16 2.1.2. Deiken Tanmlama ........................................................................................... 17 2.1.3. Aklama Satrlar................................................................................................ 18 2.2. Yn Kavram ............................................................................................................ 18 2.2.1. GO Komutu ......................................................................................................... 18 2.2.2. USE Komutu........................................................................................................ 19 2.2.3. PRINT Komutu.................................................................................................... 19 2.3. lem Operatr Trleri ................................................................................................ 19 2.3.1. Karlatrma Operatrleri ................................................................................... 19 2.3.2. Mantksal Operatrler.......................................................................................... 21 2.3.3. Aritmetiksel Operatrler...................................................................................... 22 2.4. Fonksiyonlar ............................................................................................................... 23 2.4.1. Kmeleme Fonksiyonlar..................................................................................... 23 2.4.2. T-SQLde Gruplandrma ..................................................................................... 25 2.4.3. Tarih ve Zaman Fonksiyonlar............................................................................. 27 2.4.4. Karakter Fonksiyonlar ........................................................................................ 29 2.5. SQL Denetim Deyimleri ............................................................................................. 33 2.5.1. IF..ELSE Yaps.................................................................................................. 33 2.5.2. CASE Yaps........................................................................................................ 34 2.5.3. WHILE Dngs ................................................................................................. 35 UYGULAMA FAALYET .............................................................................................. 38 LME VE DEERLENDRME .................................................................................... 46 MODL DEERLENDRME .............................................................................................. 48
ii
AIKLAMALAR AIKLAMALAR
KOD ALAN DAL/MESLEK MODLN ADI MODLN TANIMI SRE N KOUL YETERLK 481BB0044 Biliim Teknolojileri Veri Taban Programcl T-SQL T-SQL kullanarak veri taban ilemleri yapabilmeyle ilgili renme materyalidir. 40/32 A Veri Taban Kurulumu modln bitirmi olmak Genel Ama Gerekli ortam salandnda T-SQLi kullanabileceksiniz. MODLN AMACI Amalar 1. T-SQL komutlarn kullanabileceksiniz. 2. T-SQL elemanlarn kullanp alabileceksiniz. Ortam: Atlye, laboratuar, bilgi teknolojileri ortam ( internet ) vb. kendi kendinize veya grupla alabileceiniz tm ortamlar Donanm: A veri tabann altrabilecek yeterlikte bilgisayar, yedekleme iin gerekli donanm (cd yazc, flash bellek), raporlama iin yazc, kt ve kalem Her faaliyet sonrasnda o faaliyetle ilgili deerlendirme sorular ile kendi kendinizi deerlendireceksiniz. Modl sonunda uygulanacak lme aralar ile modl uygulamalarnda kazandnz bilgi ve beceriler llerek deerlendirilecektir.
LME VE DEERLENDRME
iii
iv
GR
GR
Sevgili renci, Okul yaantnzda reneceiniz her konu, yaptnz uygulama ve tamamladnz her modl; bilgi daarcnz gelitirecek ve ileride atlacanz i yaantnzda size baar olarak geri dnecektir. Eitim srecinde daha zverili 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 ederek istenilen sorgu sonularn da en hzl ekilde elde edebileceksiniz. Bu modlle T-SQL kullanarak veri taban ilemlerini ve T-SQL elemanlarn kullanmay reneceksiniz.
ARATIRMA
T-SQLin bir nceki SQL Server srmlerine gre yeniliklerini aratrnz.
1. T-SQL
1.1. Transact SQL Kavram
Microsoft'un veri taban sorgulama dilidir. Transact-SQL, SQL Server ve istemci (client) arasnda iletiimi salayan SQL sorgulama dilinin gelimi bir versiyonudur. Transact Structured Query Language kelimelerinin ksaltmasdr. T-SQL kullanarak veri tabanna kayt eklenebilir, silinebilir, gncellenebilir ya da sorgulama ve raporlama yaplabilir. T-SQL ile dng veya mantksal ilemler yapmak iin bir derleyiciye gerek yoktur. Herhangi bir programlama dili renmeden de T-SQL ile tm amalarnza hitap edecek projeler gerekletirebilirsiniz. T-SQL ifadelerini altrabilmek iin bir Management Studio ile SQL Servera erimeniz gerekir. SQL deyimleri veritabanlar zerinde eitli ilemleri yerine getirir. Veri tabanndan sorgulama yapmak iin SELECT, ekleme yapmak iin INSERT gncelleme yapmak iin UPDATE, silme yapmak iin DELETE, yeni tablo oluturmak iin CREATE TABLE gibi komutlara sahiptir. Bu komutlar, ilevlerine gre u ekilde ayrlr: DDL (Data Definition Language): Veri tanmlama dili DML (Data Manipulation Language) : Veri ileme dili DCL (Data Control Language): Veri kontrol dili
Aklama Nesne oluturmak iin kullanlr. Nesneler zerinde deiiklik yapmak iin kullanlr. Nesneleri silmek iin kullanlr.
rnek: SELECT * FROM rehber ORDER BY ad, soyad ifadesiyle ad alanna gre kaytlar, ad ayn olanlar da soyad alanna gre seme ilemini gerekletirir.
rnek: DELETE FROM PERSONEL WHERE SOYAD=Ylmaz SOYAD deeri Ylmaz olan tm kaytlar siler.
DCL komutlarn kullanabilmek iin SQL Server'da varsaylan deer (default) olarak yetki sahibi olan gruplar: sysadmin , dbcreator , db_owner , db_securityadmin 'dir. Sunucuya dardan bir eriim salamak iin bir giri (login) oluturulmaldr. Bunun iin; CREATE LOGIN Tuncay1 WITH PASSWORD =123456 Bu rol ile veri tabanna bir kullanc olarak eriim iin aadaki satrlar yazlmaldr: CREATE USER Tuncay FOR LOGIN Tuncay1 Eer User ad ile Login ad ayn ise FOR LOGIN satrna gerek kalmaz. Veri tabannda uygulama rol oluturulmas iin de aadaki satrlar kullanlabilir: CREATE APPLICATION ROLE Lab1 WITH PASSWORD = sifre , DEFAULT_SCHEMA=Lab1;
PERSONEL tablosunda Tuncay1 adl kullanc SELECT komutuyla ilgili ilem yapamaz.
10
Klavyeden F5 tuuna basabilir veya Execute komutuna tklayabilirsiniz. Sorgu altrldktan sonra Database Refresh etmeyi unutmaynz.
Object Explorer penceresinde sorgusunu yazdnz veri tabannn oluturulup oluturulmadn kontrol ediniz.
Ornek veri taban altnda Rehber adnda bir tablo oluturunuz. Tablo stunlar Ad VarChar(10), Soyad VarChar(20), Telefon VarChar (11) eklinde olsun.
11
UPDATE komutunu kullanabilirsiniz. Kendi telefon numaranz baka bir telefon numarasyla deitiriniz.
Resim 1.8: Bilginin gncellenmesi
12
Ornek veri tabanndaki Security/Users alannda kullancnn oluturulup oluturulmadn kontrol ediniz.
Resim 1.16: Users
13
14
2. 3.
4.
5.
D) CREATE
6.
Bir veri tabanyla ilikili kullanclar ve rollerin izinlerini deitirmek iin kullanlan dile ............................................. denir. Bir kullancnn veri taban veya tabloya eriimini engellemek iin DENY komutu kullanlr. (D/Y) DCLde sunucuya dardan bir eriim iin oluturulur. Aadakilerden hangisi veri tabannda eitli ilemleri yerine getiren dillerden deildir? A) DCL B) DDL C) DML D) DSL Kullancya verilen tm kstlamalar kaldrmak iin GRANT komutu kullanlr. (D/Y)
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 konulara geri dnerek tekrar inceleyiniz. Tm sorulara doru cevap verdiyseniz dier modle geiniz.
15
ARATIRMA
2. T-SQL LE ALIMAK
2.1. Deikenler
Deiken, verilerin bellekte geici olarak kaydedilmesini ve gerektiinde kullanlmasn salayan deerdir. T-SQL kullanmann en byk kolaylklarndan biri de deiken kullanmna olanak tanmasdr. Burada ifade edilen; deiken dier tm programlama dillerinde yer alan bir veri tipi ile snrlandrlm, oluturulmasnn ardndan hafzada belli bir yer kaplayan, zerine veri atamas yaplabilen ve daha sonra ismi kullanlarak program ierisinden arlp kullanlabilecek yapdr. SQL Server'da da deikenler yerel ve genel olmak zere ikiye ayrlr. Yerel deikenler, "@" n eki ile tanmlanr (@deiken). Genel deikenler ise SQL Server tarafndan tanmlanmtr ve kullanc tarafndan oluturulamaz. "@@" n eki ile tanmlanrlar (@@SERVERNAME). Genel deikenler genellikle SQL Server hakkndaki bilgileri verir. SQL Server'da tanmlanm birok genel deiken vardr.
16
SQL ifadeleri prensip olarak byk harfle yazlr. Nesne isimleri ksa ve anlaml olmaldr. Nesne isimlendirilirken ilerin kolaylatrlmas asndan tekil isim tercih edilmelidir (TabloOgrenciler yerine tblOgrenci gibi). NULL terimi, daha nce hibir ey girilmemi (deersiz) anlamndadr. Klavyedeki SPACE (ASCII 32) tuu ile NULL ayn deerleri iermez. NULL bo veya bilinmeyen deerler iin kullanlr.
DECLARE @degisken_adi <veri_tipi> [(boyut)] rnek: DECLARE @ogr_no VarChar(10) DECLARE @tckimlik_no int Aralara virgl koyarak da birden fazla deikeni tek bir DECLARE ifadesi ile oluturabilirsiniz. rnek: DECLARE @ogr_no varchar(10),@tckimlik_no int Varchar, int trlerinde deiken tanmlayabildiiniz gibi tablo trnde deiken de tanmlayabiliriz. rnek: DECLARE @deiken_ad TABLE (tablo tanm) eklindedir. Bir deiken oluturulduunda NULL deere sahiptir. Deikenlere deer atamann SET, SELECT ve tablolar iin INSERT INTO gibi birka farkl ekli vardr. SET ifadesi kullanlarak deikene deer atama
17
SELECT @deiken_ad=deer eklinde yaplr. Tablo deikenlere INSERT INTO ifadesi ile deer atama INSERT INTO @tablo_degisken SELECT adi, soyadi FROM person ifadesi ile person tablosunun ad ve soyad stunlarnn ierdii deerlerden oluan bir tabloyu @tablo_deiken adl deikene atam olursunuz.
2.2. Yn Kavram
SQL Serverda yn, sorgularn srayla ileme alnmas demektir. alma esnasnda SQL Servera gnderilen birden fazla sorgu ynlar hlinde ele alnr.
2.2.1. GO Komutu
Bir ynn sonunu belli etmek iin GO komutu kullanlr. Bir yn SQL Serverda ilenmeye balad anda nce Parse(ayrtrma) edilir. Daha sonra derlenerek (Compile) altrlr(Execute). Genel Yazm
18
19
ANLAMI Kk Byk Eit Kk veya eit Byk veya eit Eit deil Eit deil Metin Karlatrma Operatr
rnek: renci veri tabannda Tablo 2deki ikinci notu 56dan kk olan rencileri listeleyen T-SQL kod satrlardr. SELECT * FROM tablo2 WHERE nt2<=56 rnek: Ad Ali olmayan kaytlar listelemek iin kullanlan T-SQL kod satrlardr. SELECT * FROM Personel WHERE ad<>Ali
Joker Karakterler
Sadece LIKE operatryle kullanlan joker karakterler, bir veya daha fazla harfin yerine geer. Belirli aralklardaki belli harfle balayan ve biten sorgularda joker karakterler kullanlr. Joker Karakterler % _ [HARF] [^HARF] [A-Z] rnek: tablo1 tablosundaki ad alan iinde ba taraf Er ile balayan isimleri listeleyen TSQL kodlardr. SELECT * FROM tablo1 WHERE ad LIKE '%Er%' Anlam Birden fazla harf ya da rakamn yerini tutar. Bir tek harf veya rakamn yerini tutar. Herhangi bir harf yerine gelebilecek harfleri belirtir. Herhangi bir harf yerine gelemeyecek harfleri belirtir. A ile Z arasndaki harfleri belirtir.
20
rnek: tablo1 tablosundaki soyad alan iinde ba taraf DE ile balayan soyadlar listeleyen T-SQL kodlardr.
21
rnek: Sinif tablosunda ad Ali olmayanlar listeleyen T-SQL kodlardr. SELECT * FROM Sinif WHERE NOT ad=Ali rnek: SELECT * FROM Ogrenci WHERE bolum=Bilgisayar OR bolum=Elektronik OR bolum=Elektrik OR operatr yerine In operatr de kullanarak kod satrlarn yazabiliriz. SELECT * FROM tablo1 WHERE bolum In ('Bilgisayar','Elektronik','Elektrik')
SELECT komutu ile veri tabannda mevcut tablolardan listeleme yaparken tabloda ayr bir stun (alan) olarak yer almam ve ancak bir hesaplama sonucunda retilebilecek bilgileri de listeleme iine almak mmkndr. rnek: Ogr_Notlar tablosunda notlarn not ortalamasn hesaplayan T-SQL kodlardr. SELECT (nt1+nt2+nt3) /3 FROM Ogr_Notlar ncelik sras, matematikte ve dier bilgisayar dillerinde olduu gibidir. s alma, hepsinden ncedir. Sonra arpma (*) ve blme (/) gelir. Toplama (+) ve karma (-) en son nceliklidir. Parantez kullanlarak ncelik sras deitirilebilir.
22
2.4. Fonksiyonlar
2.4.1. Kmeleme Fonksiyonlar
SQL, tablo iinden eitli matematiksel ilemlerin sonucunu otomatik olarak retmeyi salayan fonksiyonlara sahiptir. SUM Fonksiyonu
Fonksiyonla belirtilen stun ile ilikili olarak toplama ilemini yapar. rnek: Ogr_Notlar tablosunda nt1 stununun not toplamn hesaplayan T-SQL kodlardr. SELECT SUM(nt1) FROM Ogr_Notlar rnek: Maalar 500 YTLnin altnda olan personelin maalar toplamn hesaplayan T-SQL kodlardr. SELECT SUM(maas) FROM Person WHERE maas<500 AVG Fonksiyonu
Aritmetiksel ortalama (avarage) hesaplamak iin kullanlr. rnek: ilerin maalar ortalamasn veren T-SQL kodlardr. SELECT AVG(maas) FROM Person Bu fonksiyon ile de koula bal olarak hesaplatma yaptrlabilir. MAX Fonksiyonu
23
rnek: Ogr_Notlar tablosu iindeki en yksek renci not ortalamasn veren T-SQL kodlardr. SELECT MAX(not_ortalama) FORM Ogr_Notlar MIN Fonksiyonu
Tablo iinde belirtilen stun (alan) iindeki en kk deeri bulur. rnek: Ogr_Notlar tablosu iindeki en dk renci not ortalamasn veren T-SQL kodlardr. SELECT MIN(not_ortalama) FORM Ogr_Notlar COUNT Fonksiyonu
Tablo ierisinde herhangi bir sayma ilemi gerekletirmek iin kullanlr. rnek: Ogr_Notlar tablosu iindeki renci not ortalamalarnn saysn veren T-SQL kodlardr. SELECT COUNT (not_ortalama) FROM Ogr_Notlar COUNT fonksiyonu, DISTINCT szc ile de kullanlabilir. DISTINCT, her bir kaydn tekil olarak yer almas istendiinde bu deyim kullanlr. Normalde SELECT ile ayn zellie sahip birden fazla kayt listelenebilir.
rnek: Bir okulda birden fazla blme kaytl renci olabilir. Sadece okuldaki blm adlarn listeleyen T-SQL kodlardr. SELECT DISTINCT bolum FROM Ogrenci rnek: Bir okulda birden fazla blme kaytl renci olabilir. Sadece okuldaki blmlerin saysn listeleyen T-SQL kodlardr. SELECT COUNT (DISTINCT bolum) FROM Ogrenci
24
rnek: renci notlar tablosunda renci numarasna ve blm adna gre her bir rencinin alm olduu not ortalamalarn gsteren T-SQL kodlardr. SELECT ogrno,bolum,MAX(ort) FROM Tablo2 GROUP BY ogrno,bolum
25
Gruplandrarak kmeleme fonksiyonlarn uygularken koul da verilebilir. Bu durumda, grup zerindeki hesaplamalarla ilikili koul belirtirken HAVING szcn kullanmak gerekir. rnek: renci notlar tablosunda renci numarasna gre her bir rencinin alm olduu not ortalamasn 70den byk gsteren T-SQL kodlardr. SELECT ogrno,AVG(ort) FROM Ogr_Notlar GROUP BY ogrno HAVING AVG(ort)>70
HAVING szc, SELECT komutunda GROUP BY szckleri bulunmad zaman geersizdir. HAVING szcn izleyen ifade iinde SUM, COUNT (*), AVG, MAX ya da MIN gibi kmeleme fonksiyonlarndan en az biri bulunmaldr. WHERE szc bir tablonun tek tek satrlar zerinde ilem yapan koullar iin geerli iken HAVING szc ,sadece gruplanm veriler zerindeki ilemlerde geerlidir.
rnek: renci notlar tablosunda renci numarasna gre blm Bilgisayar ve rencinin alm olduu not ortalamas 65ten byk olanlar gsteren T-SQL kodlardr. SELECT ogrno,bolum,AVG(ort) FROM Ogr_Notlar WHERE bolum='Bilgisayar' GROUP BY ogrno,bolum HAVING AVG(ort)>65
26
Toplama fonksiyonunu kullanarak sonu olarak bir toplam deeri retir. COMPUTE deyimi her SELECT ifadesiyle kullanlr. COMPUTE BY ise ORDER BY deyimine gerek duyar. rnek: renci notlar tablosundaki renci numarasna gre ortalama stunundaki deerleri toplayarak bir sonu reten T-SQL kodlardr. SELECT ogrno, ort FROM Ogr_Notlar ORDER BY ogrno COMPUTE SUM(ort)
27
DATEADD () Fonksiyonu
Verilen bir tarihe istenilen sayda bir tarih bilgisi eklemek iin kullanlr. DATEADD fonksiyonunda dd gn mm ay yy yl anlamndadr. rnek: Belirtilen tarih bilgisine 90 gn ekleyen T-SQL kodudur. SELECT DATEADD(dd, 90, '02.10.2007')
DATEDIFF () Fonksiyonu
Belirtilen iki tarih arasndaki gn saysn gstermektedir. rnek: SELECT DATEDIFF(dd, '04.04.1974', '02.10.2007')
Ayrca hafta iin wk, saat iin hh, dakika iin mi, saniye iin ss kullanlabilir.
28
DATEPART () Fonksiyonu
Tarihle ilgili saysal bilgilerin alnmasn salar. rnek: SELECT DATEPART(dd, '01.04.1974') SELECT DATEPART(mm, '01.04.1974') SELECT DATEPART(yy, '01.04.1974')
ASCII kodu verilen karakteri grntler. SELECT CHAR(65) SELECT ASCII(A) A harfini verir. 65 rakamn verir. Deer int tipindedir.
CHARINDEX()
Bir metin ierisindeki metin parasn istenilen konumdan itibaren arar. SELECT CHARINDEX ('bu',@soyad,1)
29
LEFT ()
Metnin ba taraftan itibaren istenilen saydaki harflerini alr. SELECT LEFT (@ad,2)
LEN ()
LOWER ()
30
LTRIM ()
RIGHT ()
RTRIM ()
31
REVERSE ()
SUBSTRING ()
Bir metinde belirtilen karakterden itibaren belirli sayda karakter almak iin kullanlr.
UPPER ()
32
rencilerin not ortalamalarna gre ortalamas 85in zerinde olanlarn durumu iin PEKY, 85ten kk olanlar iin ise Y yazdran T-SQL kod satrlardr.
33
CASE deer WHEN deer THEN ilem WHEN deer THEN ilem ELSE ilem END rnek Ktphanedeki kitaplarn mevcut olup olmadn gsteren basit bir T-SQL kodlardr. Tablonun Resim 2.23teki gibi olduunu varsaynz.
34
35
BREAK Komutu
stenilen art salandnda WHILE dngsnden kmak iin BREAK komutu kullanlr. Programn almas WHILEn ENDinin altndaki satrdan almaya devam eder. rnek: Sayacn 3 olmas durumunda WHILE dngsnden kp toplam ve sayacn deerini yazdran T-SQL kodlardr.
CONTINUE Komutu
Programn almasn WHILE yapsnn bana gndermek iin kullanlan bir komuttur.
36
rnek: Saya deikenin 3 deeri hari dier deerleri ve toplam yazdran T-SQL kodlardr.
37
neriler Tablonun stun adlar ve veri trleri Ogr_No int, Ad VARCHAR(15), Soyad VARCHAR(20), Cinsiyet VARCHAR(1), Yas int olarak belirleyebilirsiniz.
38
39
40
UYGULAMA FAALYET - 2
lem Basamaklar Sistem tarih ve saatini grntleyiniz. Sistem tarihine 120 gn ekleyiniz. Sistem tarihine 10 ay ekleyiniz. Sistem tarihine 1 yl ekleyiniz. 29 Ekim 1923 ile gnmz arasnda ka gn olduunu bulunuz. Karaktersel trde ve uzunluklar 50 olan deiken tanmlaynz. @kelime1 deikenine Pamuk deerini, @kelime2 deikenine Kale deikenini ataynz. @kelime1 ve @kelime2 deikenlerinin ieriini @kelime3 deikenine SET deyimini kullanarak ataynz. Deikenlerin ieriini mesaj penceresine yazdrnz. @kelime1 ve @kelime2 deikenlerinin ieriini birleik olarak mesaj penceresine yazdrnz. @kelime3 deikeninin ilk drt karakterini seiniz. Yeni bir deiken tanmlayarak @kelime3 deikeninin ilk drt karakterini bu deikene ataynz. Elde ettiiniz bu deeri mesaj penceresine yazdrnz. @kelime3 deikeninin ieriinin uzunluunu bulunuz. Tm deikenlerin ieriini byk harfe eviriniz. Yeni bir deiken tanmlayarak neriler GETDATE() fonksiyonunu kullanabilirsiniz. DATEADD () ve GETDATE()fonksiyonlarn ayn anda kullanabilirsiniz. DATEADD () ve GETDATE ()fonksiyonlarn ayn anda kullanabilirsiniz. DATEADD () ve GETDATE()fonksiyonlarn ayn anda kullanabilirsiniz. DATEDIFF () ve GETDATE()fonksiyonlarn ayn anda kullanabilirsiniz. DECLARE komutunu kullanabilirsiniz. Deiken adlar olarak da @kelime1, @kelime2 ve @kelime3 tanmlayabilirsiniz. SET deyimini kullanabilirsiniz. SET deyimiyle + operatrn kullanabilirsiniz. PRINT komutunu kullanabilirsiniz. PRINT komutuyla + operatrn kullanabilirsiniz. LEFT() fonksiyonunu kullanabilirsiniz. SET deyimini ve LEFT () fonksiyonunu ayn anda kullanabilirsiniz. PRINT komutunu kullanabilirsiniz. LEN() fonksiyonunu kullanabilirsiniz. UPPER () fonksiyonunu kullanabilirsiniz. SET deyimini ve RIGHT()fonksiyonunu
41
@kelime3 deikeninin sandan kullanabilirsiniz. drt karakter seiniz ve bu deikene ataynz. Yeni deikenin tm karakterlerini LOWER () fonksiyonunu kullanabilirsiniz. kk harfe eviriniz. @kelime3 deikeninin altnc SUBSTRING () fonksiyonunu karakterinden balayarak 3 karakter kullanabilirsiniz. seiniz.
42
UYGULAMA FAALYET - 3
lem Basamaklar int veri trnde iki tane deiken tanmlaynz. Bu iki deikene iki tam say ataynz. neriler DECLARE ifadesini kullanabilirsiniz.
IF yapsn kullanabilirsiniz.
Eer birinci say ikinci saydan bykse mesaj penceresine Birinci say ikinci saydan byktr. cmlesini yazdrnz.
Birinci say ikinci saydan byk olmayabilir. Bunun ELSE blouyla dier durumu da gz nne alarak Birinci say ikinci saydan kktr. cmlesini yazdrnz. Deer atanan iki deikenin toplamn yeni bir deiken tanmlayarak toplatnz.
Eer iki saynn toplam 5ten bykse ki saynn toplam 5 ten byktr. mesajn yazdrnz. ki saynn toplam 5ten kk olabilir. Bu yzden oluabilecek dier durumu da kontrol ettiriniz.
43
ki saynn toplamnn 9dan byk olmas durumunda toplam deikenini 10 ile arpan, 10dan kk olmas durumunda 2 ile arpan CASE yapsn yaznz.
int veri trnde sayac ve modtoplam adnda iki deiken tanmlaynz ve ilk deerlerini 0 (sfr) olarak ataynz.
sayac deikeni yukarda hesapladnz toplam deikeninden kk olduu srece sayac deikenin 2ye gre modunu toplayan WHILE dngsn yaznz. sayac deikenini beer beer artrnz. Elde ettiiniz mod alma ileminin sonucunu, yani modtoplam deikeninin sonucunu mesaj olarak yazdrnz.
SELECT 'Mod ilemi toplamlar sonucu='+ CONVERT(VARCHAR,@modtoplam) eklinde de yazlabilir. CONVERT() fonksiyonu veriyi bir formattan baka bir formata evirmek iin kullanlr. Bylece int trdeki @modtoplam deikeninin ierii karaktersel veri trne evrilmitir.
44
45
6.
7.
8.
9. 10. 11.
12.
13.
14.
46
15.
Metni ters evirmek iin aadaki fonksiyonlardan hangisi kullanlr? A) REVERSE () B) TURN () C) ROTATE () D) TRANSLATE () Sorgularn srayla ileme tabi tutulmasna yt denir. (D/Y) Aritmetiksel ortalama almak iin AVG() fonksiyonu kullanlr .(D/Y) Bir deyimin iletilmesini bir koula balayan yap .. yapsdr. Tablodaki kaytlar gruplamak iin GROUP BY, koul vermek iin HAVING ifadeleri kullanlr. (D/Y) Belirtilen metnin uzunluunu bulmak iin . fonksiyonu kullanlr.
20.
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.
47
DEERLENDRME Yaptnz deerlendirme sonucunda eksikleriniz varsa renme faaliyetlerini tekrarlaynz. Modl tamamladnz, tebrik ederiz. retmeniniz size eitli lme aralar uygulayacaktr. retmeninizle iletiime geiniz.
48
49
KAYNAKA KAYNAKA
GZDEL Yaar, Yazlmclar iin SQL Server 2005 ve Veri Taban Programlama, Sekin Yaynclk, Ankara, 2006. www.verivizyon.com www.sqlnedir.com
50