Veritabanı Programlama Dersi 2. Ünite Sorularla Öğrenelim

T-SQL Programlama

Değişken İşlemleri

1- Değişken işlem ne tür bir yapıdır?

Cevap: Değişken bir niceliği (miktarı) ifade etmek için kullanılan, bilgisayar belleğinde belli bir yer kaplayan ve üzerine değer ataması yapılabilen bir yapıdır. T-SQL’de değişken oluşturulabilir ve program içinde kullanılabilir.

2- T-SQL’ de değişken isimlendirme kurallarına göre değişken isim hangi semboller ile başlamamalıdır?

Cevap: Değişken ismi, SQL’de özel anlamı olan sembollerle (@, @@, #, ##, $) başlamamalıdır. Değişken isimlerin ilk karakteri harf ile başlayıp harf, rakam ve alt çizgi (_) ile devam edebilir.

3- T-SQL’ de değişken isimlendirme kurallarına göre değişken isim ne tür komutlar ile kullanılamaz?

Cevap: SQL veya T-SQL için kullanılan komutlar ve ayrılmış sözcükler (SELECT, INSERT,UPDATE, NOT vb.) kullanılmaz.

4- T-SQL'de tanımlanan değişkenlere hangi ifadeler kullanılarak değer ataması yapılabilir?

Cevap: Tanımlanan değişkenlere SET ya da SELECT ifadeleri kullanılarak değer ataması yapılabilir.

5- Akış kontrollerine bağlı işletilecek komut sayısı birden fazla olduğu takdirde akış kontrolü hangi komut bloğu arasında yer almaktadır?

Cevap: Programlama dillerinde kullanılan akış kontrolleri T-SQL içerisinde de yer almaktadır.Akış kontrollerine bağlı işletilecek komut sayısı birden fazla olduğu takdirde BEGIN...END bloğu arasında yazılır.

6- T-SQL'de tanımlanan değişkenlere hangi komutlar ile değer ataması yapılabilir?

Cevap: Tanımlanan değişkenlere SET ya da SELECT ifadeleri kullanılarak değer ataması yapılabilir.

7- T-SQL'de de değişkenlere atanan değerleri ekranda görüntülemek hangi komutkullanılabilir.

Cevap: Değişkenlere atanan değerleri ekranda görüntülemek için PRINT (veya SELECT) komutukullanılabilir.

Akış Kontrolü

8- Aşağıda verilen IF...ELSE genel yazım kuralı nasıl açıklanabilir?

IF (koşul İfadesi 1) END bloğuELSE IF (Koşul İfadesi 2) Bir SQL ifadesi ya da BEGIN…END bloğuELSE END bloğu Bir SQL ifadesi ya da BEGIN… Bir SQL ifadesi ya da BEGIN…

Cevap: IF ya da Türkçe karşılığı ile “EĞER” koşul yapısı programlamada oldukça yaygın olarak kullanılır. Belirli koşullar sağlandığı takdirde gerçekleştirmesi istenen işlemler için kullanılır. Soruda verilen genel yazım kuralı açıklanacak olur ise “Koşul 1 ifadesi”nin sağlanması durumunda bir alt komut ya da komut bloğu çalıştırılarak işlem tamamlanır. Ancak “Koşul 1” doğru değilse bu durumda ELSE IF ile tanımlanan “Koşul İfadesi 2” ifadesine bakılır ve doğru ise bu komutun alt satırındaki komut ya da komut bloğu çalıştırılır. Eğer IF komutlarının hiçbiri sağlanmıyor ise en son ELSE komutunun alt satırındaki komut ya da komut bloğu çalıştırılır.

9- CASE yapısı ne tür bir komuttur?

Cevap: Case komutu, birden fazla koşulun kontrol edilmesi gerektiğinde kolay kullanım sağlayanbir akış kontrolü komutudur. Case yapısı SQL sorgu ifadelerinin içinde de koşul amacıylakullanılmaktadır.

10- WHILE komutu ne tür bir yapıdır?

Cevap: WHILE döngüsü birçok programlama dilinde olduğu gibi verilen bir koşulun sağlanması durumunda belirlenen komut bloğununu tekrar eden bir yapıdır.

Veritabanı

11- WHILE yapısı içerisinde kullanılan CONTINUE ve BREAK komutları hangi amaçla kullanılabilir?

Cevap: While yapısı içinde CONTINUE ve BREAK komutları bir sonraki adıma geçme ve döngüden çıkmak için kullanılabilir. CONTINUE komutundan sonra gelen ifadeler göz ardı edilerek bir sonraki adımdan döngü devam eder. BREAK komutu ise While yapısı içinde döngüden çıkmayı sağlar.

12- GOTO komutu ile kod içerisinde ne tür bir uygulama yapılmaktadır?

Cevap: GOTO komutu ile kod içerisinde belirlenen bir etikete direkt geçişyapılıp bu etiketten sonra devam edilir. Komut sade kullanılabileceği gibi IF veya WHILE yapısı ile farklı amaçlar için de kullanılabilir.

13- Dinamik SQL sorgularının temel amacı nedir?

Cevap: SQL sorgularını esnek bir şekilde T-SQL programlama ortamında kullanmak mümkün- dür. Bunun için çalıştırılması planlanan SQL sorgu komutunun bir değişkene aktarılarak çalıştırılması sağlanır. Bu yöntemin temel amacı program kodları tarafından bir sorgunun hazırlanarak çalıştırılmasına ve sonucunun alınmasına olanak sağlamaktadır. “Dinamik SQL Sorguları” ismi de verilen bu yöntemde hazırlanan sorgu değişkenleri “EXECUTE” fonksiyonu ile çalıştırılabilirler. Bu tip sorgular, bir sorgunun diğer sorgu sonucuna göre oluşturulması veya kullanıcının atayacağı değişkenlere göre veri oluşturmak için kullanı- labilir.

14- "EXECUTE" komutunun fonksiyonu nedir?

Cevap: “Dinamik SQL Sorguları” ismi verilen yöntemde hazırlanan sorgu değişkenleri “EXECUTE” fonksiyonu ile çalıştırılabilirler. Bu tip sorgular, bir sorgunun diğer sorgu sonucuna göre oluşturulması veya kullanıcının atayacağı değişkenlere göre veri oluşturmak için kullanı- labilir.

15- İMLEÇ(Cursor) yapısı ne tür bir işlem için kullanılır?

Cevap: Veritabanı Yönetim Sisteminde gerçekleştirilen seçme sorguları; verilerin süzülmesi, he- saplanması ya da türetilmesi gibi işlemleri gerçekleştirmek için kullanılır. Ancak bazı özel durumlarda kullanıcıların, her birini izleyen satırlardaki verileri kullanarak işlem yapması gerekebilmektedir. Kullanıcıların belirleyecekleri bir veri kümesinde her bir satırda birer birer ilerlemelerini sağlayan İMLEÇ (Cursor) yapısı kullanılmaktadır. İşleyişbakımından performansı olumsuz etkileyen bu yapı zorunlu durumlarda tercih edilmelidir.

16- Program izlenirlik araçlarını uygulamanın ne tür bir yararı vardır?

Cevap: T-SQL’de yazılan programın daha sonra tekrar okunabilmesine veya çalışma zamanında olası hata önleyici veya denetimine yönelik program izlenirlik araçları bulunmaktadır. Bu araçları kullanmak çevrim dışı ve çevrim içi program izlenirliğini ve güvenirliğini artıracaktır.

17- T-SQL’de açıklama eklemek için hangi ifadeler kullanılmaktadır?

Cevap: T-SQL’de açıklama eklemek için “ --” veya “/* ...*/” ifadeleri kullanılır. Tek satırlık açık- lama eklemek için açıklama satırının önüne “--” ifadesi konur. Bir veya daha fazla satırı açıklama satırı olarak göstermek için açıklama satırının başına “/*” işareti ve açıklama satırının sonuna “*/” işareti eklenir. Açıklamalar kodların takip edilirliği için önemlidir.

18- GO komutunun işlevi nedir?

Cevap: GO Komutu ile SQL sorgularının sırasıyla yığınlar olarak çalıştırılması sağlanır. GO ko- mutu bir T-SQL ifadesi olmayıp yığının son satırında kullanılarak yığının sonlandığını ifade eder. GO komutu GO [sayi] şeklinde yazılarak en son yığının yazılan sayı kadar çalıştırılması sağlanır. Böylece aynı komut tekrar tekrar çalıştırılarak bir döngü elde edilir.

19- OUTPUT komutunun işlevi nedir?

Cevap: Veri İşleme Dili kullanımı sonucunda değişiklik olan kayıtları listelemek için OUTPUT komutu kullanılır. Komutun genel kullanım şekli şu şekildedir: OUTPUT OP.Listenecek _Alan1,...OP.Listenecek_Alann, INTO Kayıt_Tablo_Adı Burada OP yerine INSERTED veya DELETED kullanılıp noktadan sonra alan isimle- rinin yazılması gerekir. Kayıt_Tablo_Adı, etkilenen verilerin tutulduğu tabloyu veya tablo değişkenini tutar.

20- T-SQL'de hata mesajları ve kodları nerede tutulur?

Cevap: Veritabanı yönetim sisteminde hata algılama ve işlem yapmaya yönelik farklı özellikler bulunmaktadır. T-SQL’de oluşan hata mesajları ve kodları “sys.messages” adlı sistem tablosunda tutul- maktadır.

Sıra-(Soruid) 1-(871215) 2-(871224) 3-(871228) 4-(871232) 5-(871244) 6-(871348) 7-(871349) 8-(871350) 9-(871351) 10-(871352) 11-(909646) 12-(909655) 13-(909666) 14-(909681) 15-(909692) 16-(909706) 17-(909711) 18-(909718) 19-(909728) 20-(909738)