Veritabanı Sistemleri Dersi 6. Ünite Sorularla Öğrenelim

Veri Sorgulama

1. Soru

SQL nedir?

Cevap

SQL, Yapılandırılmış Sorgu Dili veri ile ilgili yapılacak işlemleri tarif etmek için İngilizce dil yapısında geliştirilmiş bir bildirim dilidir.


2. Soru

SQL nasıl bir yapı sunmaktadır?

Cevap

Bu dil kullanıcıların ya da istemci yazılımlarının veri ile ilgili isteklerini alarak, depoladığı veriler üzerinde uygulayan bir yapıdadır. Diğer programlama dillerinden farklı olarak işlemleri değil sonuçları tarif eden bir yapısı vardır. Dolayısıyla veritabanı yönetim sistemi tarafından SQL komutları çözümlenerek istenilen işlem yerine getirilir. Bu yapı verinin eklenmesi, işlenmesi ve sorgulanması gibi birçok işlemin istemci ya da kullanıcılar tarafından kolayca yapılmasını sağlamaktadır.


3. Soru

Veritabanı yönetim sistemlerinin kullanılma sebebi nedir?

Cevap

Veritabanı yönetim sistemlerini kullanmamızın temel nedenlerinden biri de verinin farklı görünümlerini elde edebilmektir. Organizasyonlarda tüm sistem verilerini barındıran merkezi veritabanları organizasyonda farklı kademe ve görevlerdeki çalışanların veri ihtiyacını karşılamaktadır. Örneğin bir bankada banko çalışanı mudisinin hesap bilgilerine ulaşmakta ve işlem yapmak için bir hesap kaydına ulaşırken bankanın müdürü aylık mevduat ortalaması bilgisine erişmek isteyebilir. Bu ve benzer veri ihtiyaçlarını karşılamak için veritabanı yönetim sistemleri yazılımı ihtiyaca göre veri kümesinin elde etmek üzere tasarlanmıştır.


4. Soru

SELECT komutunu açıklayınız?

Cevap

SELECT ifadesi ilişkisel veritabanı yönetim sistemlerinde veri kayıtlarını getirmek için kullanılan komuttur. Bu komut ile bir veri tablosunun tüm satırlarının getirilebileceği gibi bir veya daha çok sayıda tabloda bulunan sütün veya sütunlarının istenilen şartlara uyan kayıtlarını da getirmek mümkündür. SELECT, kullanıcıların istedikleri veri kümelerini tarif edebilmeleri için oldukça esnek bir yapıda tasarlanmıştır.


5. Soru

SELECT komutunun genel yazım kuralını belirtiniz?

Cevap

SELECT alan_listesi [INTO yeni_tablo]

[FROM tablo_kaynağı]

[WHERE seçme_koşulları]

[GROUP BY gruplama ifadeleri]

[HAVING Gruplanan_alan_kısıtlamaları]

[ORDER BY sıralama düzeni ASC DESC]


6. Soru

FROM ile başlayan satır ifadesi hangi işlemin olacağını ifade eder?

Cevap

FROM ile başlayan satır seçme işleminin hangi veri kümesinden yapılacağını belirtilir. Bu kısımda bir tablo, bir görünüm ya da bir alt sorgu yer alabilir.


7. Soru

WHERE ifadesi hangi işlemi ifade eder?

Cevap

WHERE satırı seçme işleminde görüntülenecek ya da hesaba katılacak satırların sınırlanması sağlanır. Filtreleme işlemi gibi düşünülebilir.


8. Soru

GROUP BY ifadesi hangi işlemi ifade eder?

Cevap

GROUP BY ifadesi verileri özetleme ya da gruplama işlemleri için kullanılabilecek bir seçme sorgusu bölümüdür.


9. Soru

HAVING ifadesi hangi işlemi ifade eder?

Cevap

HAVING Gruplanan ya da hesaplanan alanların sınırlanması için kullanılan bir kısımdır. Where kısmı ile karıştırılmaması gerekir.


10. Soru

ORDER BY ifadesi hangi işlemi ifade eder?

Cevap

ORDER BY sorgunun en sonunda yer alan sıralama işlemidir. Eylem gereği de tüm seçme işlemi tamamlandıktan sonra verinin kullanıcıya hangi sırada gönderileceği bu satıra yazılan komutlarla belirlenir.


11. Soru

Benzersiz değerlerin elde edilmesi nasıl sağlanabilir?

Cevap

Seçme sorgularında sıkça kullanılan ifadelerden birisi de bir alandaki verilerin tekrarsız olarak görüntülenmesini sağlayan DISTINCT ifadesidir. 9 satır verinin yer aldığı [Çalışanlar] tablosu için yazılan “SELECT DISTINCT [İş Unvanı] FROM [Çalışanlar]” sorgusu [İş Unvanı] alanındaki tüm verileri tekrarsız olarak “Genel Müdür Yardımcısı, Satış Koordinatörü, Satış Müdürü, Satış Temsilcisi” şeklinde dört satır ile görüntüler. DISTINCT ifadesi kayıtların sayılması ile ilgili işlevlerde de benzersiz satır sayısının sayılması ile ilgili kullanılmaktadır.


12. Soru

Sorgu sonuçlarının sıralanmasından örnek aracılığıyla bahsediniz?

Cevap

Seçme komutunun mantıksal işleme sırasının son iki adımı olan ORDER BY ve TOP ifadeleri elde edilen veri kümesinin kullanıcı ya da istemci yazılıma iletilmeden önce sıralanmasını sağlar. SELECT komutunun son kısmında yer alan ORDER BY ifadesinden sonra veri kümesinin istenilen alanlara göre sıralanması sağlanır. Aşağıda [Çalışanlar] tablosunun [Şehir], [Soyadı] ve [Ad] alanlarını sorgulayarak elde edilen veri kümesinin önce [Şehir]’e göre artan, [Ad]’ a göre azalan ve [Soyadı] alanına göre artan sıralayan bir seçme sorgusu yer almaktadır.

SELECT Şehir, Soyadı, Ad FROM Çalışanlar

ORDER BY Şehir, Ad DESC, Soyadı

Yukarıdaki örnek sorguya dikkat edilirse artan sıralama yapılan alan adlarının yanında herhangi bir ifade yok iken azalan sıralanmak istenen [Ad] alanının yanında DESC (DESCending: azalan) kelimesi yer almaktadır. Sorgu ifadelerinde sıralama yapılacak alanların sonuç kümesinde bulunma zorunluluğu yoktur. Bazı durumlarda da SELECT komutu ile elde edilen verinin en üst satırlarının görüntülenmesi gerekebilir. Örneğin en fazla satış yapılan on müşteri ya da en fazla ciro yapılan ürün listesi elde edilmek istenebilir. VTYS tüm veri hazırlama sürecini yerine getirdikten sonra en son TOP kısmını işleyerek en üstte yer alan satırlar görüntülenir ya da iletilir. TOP ifadesinin kullanımında doğal olarak verinin sıralanması da söz konusudur. Aksi durumda en üstte yer alacak verilerin çok bir anlamı olmayacaktır. Northwind veritabanında liste fiyatı en fazla olan üç ürünü bulmak için aşağıdaki sorgu yeterli olacaktır.

SELECT TOP (3) [Ürün Adı], [Liste Fiyatı]

FROM Ürünler ORDER BY [Liste Fiyatı] DESC

Sorguda TOP ifadesinden sonra parantez içinde yazılan ‘3’ ifadesi anlaşılacağı üzere en üstte yer alan üç satırın görüntülenmesini sağlar. Diğer taraftan sorgunun son kısmında yer alan sıralama komutunun yapısına dikkat edilmelidir.


13. Soru

Seçimlerin sınırlanmasını örnekleyerek açıklayınız?

Cevap

Veri sorgulamasında kayıtların belirli ölçütlere göre sınırlanması ya da diğer bir ifadeyle tablolar içinde aranması için WHERE ifadesi kullanılır. Basit bir örnek ile başlanarak WHERE komutu ile gerçekleştirilebilecek koşul ifadelerine bu kısımda yer verilecektir. Birçok istemci yazılımı, işlem yapılmak istenen nesnenin (müşteri, hesap, ürün, öğrenci vb.) girişi yapılarak veritabanında sorgular. Bu gibi işlemlerde Select sorgusunun WHERE komutu sonrası aranacak bilginin eşleştirilmesi yapılır. [Ürünler] tablosunda ”Ceviz” adlı ürünün [Liste Fiyatı] ve [Ürün Kodu] bilgisi sorgulanmak için oluşturulmuş aşağıdaki sorguda WHERE’den sonra parantez içinde “[Ürün Adı]= 'Ceviz' ” şeklinde yazılan ifade ilgili ürünün bilgisinin veri tablosu içerisinde bulunarak görüntülenmesini sağlar. Bu ifade de parantez gerekli değildir ancak koşul ifadelerinin sayısının fazla olması parantez kullanımını oldukça önemli hâle getirmektedir.

SELECT [Ürün Kodu], [Ürün Adı], [Liste Fiyatı] FROM Ürünler

WHERE ([Ürün Adı] = 'Ceviz')

MS SQL Server VTYS’i yazılımında sıkça kullanılan koşul ifadeleri Tablo 6.1’de yer almaktadır. Bazı ifadelerin yanında köşeli parantez içerisindeki [NOT] ifadesi ilgili koşulun değilini ifade etmek için de kullanılabilir.

Ürünler Tablosunda [Liste fiyatı] 40 ile 60 arasında olan ve [Ürün Adı] içerisinde “A” harfi olan ürünleri bulmak istersek aşağıdaki koşul ifadelerinin yazılması gerekmektedir.

SELECT [Ürün Kodu], [Ürün Adı], [Liste Fiyatı] FROM Ürünler

WHERE ([Liste Fiyatı] BETWEEN 20 AND 40) AND ([Ürün Adı] LIKE '%A%')

Sorgu cümleciği incelendiğinde WHERE ifadesinden sonra AND ile birbirine bağlanmış iki koşulun olduğu görülmektedir. İlk kısım liste fiyatı koşulu ve diğer koşul ise ürün adı ile ilgili koşuldur. Koşullar kayıt bazlı değerlendirildiği için her bir kayıtın bu koşulu sağlayıp sağlamadığı kontrol edilecek ve her ikisini birlikte sağlayanlar kullanıcıya görüntülenecektir. İkinci koşuldaki LIKE’dan sonra gelen '%A%' ifadesi, metin içerisindeki % karakteri herhangi bir metin katarını temsil eder. Joker karakter ismi de verilen bu semboller ile metin içerisindeki desenler aranabilmektedir.


14. Soru

Where komutunun kullanım amacını örneklendirerek açıklayınız?

Cevap

Basit olarak iki tabloyu birbirine bağlamak için WHERE komutu kullanılabilir. Örnek veritabanında hangi müşterinin hangi siparişleri verdiğini listelemek için [Müşteriler] ve [Siparişler] tablosunu WHERE komutu ile bağlayarak bir sorgu yazılmak istenirse aşağıdaki sorgu komutu yazılabilir.

SELECT Top (3) Müşteriler.Şirket, Müşteriler.Soyadı,

Müşteriler.Ad, Müşteriler. [No], Siparişler.[Müşteri No]

FROM Siparişler, Müşteriler

WHERE Siparişler.[Müşteri No] = Müşteriler.[No].


15. Soru

Join komutu ile tabloların bağlanmasını açıklayınız?

Cevap

Tabloları bir sorgu içerisinde birbiri ile bağlamanın en kolay ve yaygın yolu JOIN komutudur. JOIN komutu ile sadece iki değil çok sayıda tablo birbirine bağlanabilmektedir. Ayrıca farklı bağlanma türleri ile kullanıcıların istenilen veri kümelerini elde etmelerine olanak sağlar. Farklı JOIN komutları olmasına karşı yazım kuralı genelde benzerdir.


16. Soru

Inner bağlantıyı açıklayınız?

Cevap

Her iki tablonun da eşleşen alanlarının seçilmesi sağlanır. Diğer bir deyişle kesişim kümesi seçilir. Aşağıda [A] ve [B] tablosunun INNER JOIN komutu ile birleştiren sorgu ve sonucu yer almaktadır. Seçme işleminin sonucunda her iki kümenin bağlantılı olduğu alandaki ortak değerlerin sayısı kadar satır görüntülenir.


17. Soru

Outer bağlantıları açıklayınız?

Cevap

Outer bağlantıları soldan, sağdan ve tüm (Full) şeklinde üç farklı bağlantı türünden oluşmaktadır. LEFT OUTER JOIN bağlantısı bu ifadenin solunda ve sağında kalan tabloların konumu baz alınarak soldaki tablonun tüm içeriğinin görüntülenmesi sağlar. RIGHT OUTER JOIN ifadenin sağında kalan tablodaki tüm değerlerin seçilmesini sağlar. FULL OUTER JOIN ise her iki tabloda yer alan tüm satırların görüntülenmesini sağlar.


18. Soru

Cross bağlantı nedir?

Cevap

Herhangi iki alanın eşleştirilmediği bağlantı türü çapraz (cross) bağlantıdır. Bu bağlantıda [A] daki her bir satır için [B] deki tüm satırlar tekrarlanır. Böylece her iki tablonun eleman sayılarının çarpımı çapraz bağlantı sonucu oluşan listenin satır sayısını verir. Çapraz tablo bağlantısı şablon veri tablolarının üretilmesinde kullanılabilmektedir.


19. Soru

Çok sayıda tablo nasıl bağlanır?

Cevap

Çok sayıda tablonun birbirine bağlanması için farklı bir bağlantı türü yoktur. JOIN komutu aynı yapıyla kullanılır ancak ON kısmında birbiri ile ilişkili alanların doğru tarif edilmesi gerekir.


20. Soru

Veri kümelerinin birleştirilmesini anlatınız?

Cevap

Tabloların birbirine bağlanması ilişkili alanların eşlenerek bağlanan tabloda karşılığının aranması için kullanılır. Veri birleştirme ise birbiri ile aynı sayıda ve türde alanları olan veri kümelerinin alt alta birleştirilmesi, kesişim kümelerinin ve farklarının bulunması işlemidir. Örneğin depolardaki stok miktarının hesaplanmasında depoya giren ve çıkan tablolarının birleştirilerek stok miktarının hesaplanmasında birleştirme sorguları kullanılabilir. Veri kümeleri INTERSECT, EXCEPT, UNION, UNION ALL komutları ile birleştirilebilir.


21. Soru

Intersect ifadesi ne zaman kullanılır?

Cevap

İki veya daha çok veri kümesindeki satırların kesişiminin bulunmasında kullanılır.


22. Soru

Expect ifadesi ne zaman kullanılır?

Cevap

Expect ifadesi birleştirilen sorgular veri kümeleri arasındaki farkı listelemek için kullanılırlar.


23. Soru

Union ve Union All komutları ne zaman kullanılır?

Cevap

UNION ve UNION ALL komutları kümelerin birleşim kümelerini elde etmek için kullanılır. UNION ifadesi ile birleştirilmiş veri kümelerinde kesişim kümesi bir kez yer alır. UNION ALL ile birleştirilmiş kümelerde ise herhangi bir işlem yapılmadan iki liste alt alta eklenir.


24. Soru

Veritabanı tablolarında özetleme ve gruplama işlemlerinde hangi komut kullanılır?

Cevap

Veritabanı tablolarında özetleme ve gruplama işlemlerinde GROUP BY komutu kullanılır.


25. Soru

Özetleme işlevlerinden bahsediniz?

Cevap

Gruplama sorgularında sorgulamak istenen veri kümesi GROUP BY ifadesinden sonraki alanlara göre gruplanırken diğer alanlar üzerinde de özetleme işlemleri gerçekleştirilir. Sayısal alanlar için sayma, toplama, ortalama gibi matematiksel işlemler, metin türündeki alanlar için ise sayma, en büyük ve en küçük değerlerin alınması gibi işlemler özetleme işlevleri tarafından gerçekleştirilir.


26. Soru

SUM işlevini açıklayınız?

Cevap

Sayısal veriler için kullanılır. NULL olan verileri dikkate almaz. Distinct komutu ile benzersiz değerlerin toplanması sağlanabilir.


27. Soru

COUNT işlevini açıklayınız?

Cevap

Bir gruptaki kayıt sayısını hesaplarlar. COUNT Int (tamsayı) veri tipi ile veri döndürürken, COUNT_BIG BigInt(büyük tamsayı) veri tipinde sonuç döndürür.


28. Soru

Özetlenen değerlerin sınırlanmasını açıklayınız?

Cevap

Gruplama sorgularında özetlenen değerlerin belirli koşullara göre sınırlaması için HAVING komutu kullanılır. HAVING komutunun mantıksal işleme sırası Select ifadesinden önce Gruplama işlevinden sonra yer almasıdır. Dolayısıyla gruplama ve özetleme işlemi tamamlandıktan sonra koşullara uymayan satırlar seçilmez. WHERE komutu ise gruplama işleminden önce gerçekleştiği WHERE ile belirtilen koşullar Özetleme işlemlerine dahil edilmezler.


29. Soru

SQL işlevlerini açıklayınız?

Cevap

SQL sorgularında çeşitli hesaplama ve mantıksal işlemleri gerçekleştirebilmek için işlevler bulunmaktadır. MicrosoSQL Server Transact-SQL dili farklı işlemler için farklı türde işlevler sunmaktadır. Birçok programlama dilinde farklı yazım şekilleriyle benzer görevleri yerine getiren işlevler mevcuttur. Bu işlevlerin çalışma prensibinin kavranması ve ihtiyaç olduğunda ilgili yardım dosyalarına ulaşarak bu işlevleri etkin kullanmak bir veritabanı kullanıcısı ya da programcısı için oldukça önemlidir.


30. Soru

Mantıksal işlevler ne işe yarar?

Cevap

Mantıksal işlevler SELECT sorgularında alanların değerlerini belirli koşullara göre farklı değerlere dönüştürürler.


31. Soru

CHOOSE komutu hangi amaçla kullanılır?

Cevap

İndeks değeri içeren bir değerin tanımlanan sıralı listede eşleştirerek kar- şı gelen elemanı görüntüler. CHOOSE (İndeks,‘Seç1’,‘Seç2’, ……..,‘SeçN’) olarak yazılır.


32. Soru

IIF komutunun kullanımını açıklayınız?

Cevap

Mantıksal işlevler SELECT sorgularında alanların değerlerini belirli koşullara göre farklı değerlere dönüştürürler.


33. Soru

Sayısal işlevleri açıklayınız?

Cevap

Veritabanı tabloları üzerinde gerçekleştirilecek sorgulamalarda gerekli olabilecek hazır matematiksel işlevler bulunmaktadır. Bu işlevler veri tablosunun bir alanı için kullanılabileceği gibi sabit bir değer verilerek de hesaplama yaptırılabilir. Ancak unutulmaması gereken bir konu seçme sorgusunun alan listesinde yar alan bir işlem ya da değer seçimin tüm satırları için tekrar ettiğidir.


34. Soru

Metin işlevler ne işe yarar?

Cevap

Metin türündeki alanların ya da değerlerin işlenmesine yönelik kullanılır.


35. Soru

Tarih işlevlerini açıklayınız?

Cevap

Farklı kültürde aynı takvim kullanılsa da tarih bilgilerinin yazılması konusunda farklılıklar bulunmaktadır. Bu nedenle veritabanı yönetim sistemlerinde tarihin gösterilmesi, eklenmesi ile ilgili problemleri ortadan kaldırmak için çeşitli işlev ve formatlar bulunmaktadır. Bilgisayarlarda tarih ve saat bilgileri aslında bir sayı olarak saklanır. Bu sayının tamsayı kısmı gün, ondalıklı kısmı ise 24 saat 1 tamsayıya denk gelecek şekilde depolanmaktadır.


36. Soru

DATENAME komutunu açıklayınız?

Cevap

Tarih veri türündeki bir değerin bir bölümünü isim olarak geri döndürür. “DATENAME(DatePart, Tarih_verisi)” şeklinde yazılan işlev verilen tarih verisinin ilgili kısmının karşılığını İngilizce olarak döndürür. SELECT DATENAME(month, '2016/06/19') ya da SELECT DATENAME(m, '2016/06/19') şeklinde yazılan komut “June” metin verisini geri döndürür.


37. Soru

DATEPART komutunu açıklayınız?

Cevap

Tarih veri türündeki bir değerin istenen bölümünün elde edilmesini sağlar. İşlev “DATEPART(DatePart, Tarih_verisi)” şeklinde yazılır. Örneğin bir tarih bilgisinin saniye değerini elde etmek için SELECT DATENAME(s,'2016/06/19 12:10:30.123') komutu yazılarak 30 sayısının geri dönmesi sağlanabilir.


38. Soru

DATEFROMPARTS komutunu açıklayınız?

Cevap

Yıl, ay ve gün bilgilerinin sayısal olarak girildiği ve ilgili değerlerden tarih veri türünde değişken döndüren bir işlevdir. SELECT DATEFROMPARTS (2016, 6, 19) komutunun çalıştırılması ile “2016-06-19” şeklinde Date türünde veri döndürür. Bu işlev tarih verilerinin hatalı girilmesini engellemek için istemci yazılımlar tarafından kullanılabilmektedir.


39. Soru

DATEDIFF komutunu açıklayınız?

Cevap

İki tarih türündeki verinin arasındaki farkı istenilen tarih birimi olarak hesaplayan bir işlevdir. “DATEDIFF(DatePart, BaşlangıçTar, BitisTar)” olarak yazılır. Belirtilen iki tarih arasındaki farkı saat olarak hesaplanması istenen “SELECT DATEDIFF(hh, '2015/06/19 12:10','2016/06/19 00:10')” bu komut 8772 sonucunu verecektir. İki tarih arasında 8772 saat fark olduğu hesaplanmıştır. Bu komut Int türünde veri döndüren bir işlevdir. Ancak hesaplamalarda eğer Int veri türünden daha büyük bir dönüş olacaksa DATEDIFF_BIG işlevi aynı parametrelerle kullanılabilir. Bu işlev Bigint veri türünde bir sayı döndürür.


40. Soru

Alt sorguları açıklayınız?

Cevap

Alt sorgu (subquery) bir seçme sorgusunun bir parçasını oluşturan ve parantez içinde yazılmış sql seçme sorgusuna denilir. Konusu seçme sorguları olan bu ünitenin birçok kısmında veri kümesi kavramı kullanıldı. Veritabanı yönetim sisteminde depolanan verilerin kullanıcıların taleplerine göre hazırlanmalarında oldukça karmaşık seçme sorgularını oluşturmak gerekebilmektedir. Bu nedenle oluşturulacak seçme sorguları birden fazla veri kümesi hâlinde hazırlanarak birbirleriyle ilişkilendirmek, sınırlamak ya da birleştirmek suretiyle sistematik bir şekilde yapılandırılabilir. Her bir alt veri kümesine seçme sorgularında alt sorgu ismi verilmektedir. Alt sorgular karmaşık yapıdaki seçme sorgularının hazırlanmasında SQL komutlarının sağladığı esnekliklerden biridir. Alt sorgular başka bir sorgunun herhangi bir kısmında (seçim, tablo, sınırlayıcı) parantez içerisinde eklemlenen seçme sorgularıdır. Alt sorgular bir üst sorguya bir değer ya da bir tablo çıktısı verebilirler. Alt sorgu alanları ile üst sorgu alanlarının birbiri ile ilişkilendirmek yoluyla da seçme sorguları hazırlanabilmektedir.


41. Soru

Kısıtlayıcı alt sorgulama kullanımından bahsediniz?

Cevap

Alt sorgular tablo olarak kullanılabileceği gibi sınırlayıcı olarak da kullanılabilmektedir. WHERE komutu ile bir alandaki değerler başka bir sorgunun içerdiği değerlerle sınırlanabilir.


42. Soru

Alt ve üst sorgu ilişkilendirmesini açıklayınız?

Cevap

Alt sorgular bir üst sorgunun alanları ile sınırlanabilmektedir. Biraz karmaşık bir durum gibi görünse de veri kümesi mantığı ile değerlendirildiğinde bu yöntemle istenilen veri kümelerine etkili bir şekilde ulaşılabildiği görülecektir. Diğer bir yöntem ise EXISTS komutudur. EXISTS komutu sorguya eklenen alt sorgu ile verilerin ilişkilendirilmesini sağlar.


43. Soru

Alt sorgu kullanımını değerlendiriniz?

Cevap

Alt sorguların bir üst sorgunun tablosu, kısıtlayıcısı olabileceği gibi herhangi bir değer olarak da üst sorgu tarafından kullanılabilmektedir. Bu kullanıma örnek olması açısından aşağıdaki sorguyu dikkatle inceleyiniz. SELECT [Ürün No], Miktar, Miktar-(Select AVG(Miktar) FROM [Sipariş Ayrıntıları] WHERE [Ürün No]=a.[Ürün No] ) AS Fark FROM [Northwind].[dbo].[Sipariş Ayrıntıları] Komutlar incelendiğinde seçme alanında bir alt sorgunun yer aldığı görülmektedir. Bu sorgu [Sipariş Ayrıntıları] tablosunun her satırı için satışı yapılan ürünün, o ürün için yapılan tüm satışların ortalama miktardan ne kadar farklı olduğu hesaplanmaktadır. Sorguların satır bazlı oluşturulduğu düşünülürse her bir satıra gelindiğinde alt sorgu ilgili satırın ürün numarası ile bir ortalama hesabı yapıp geri dönecek ve aynı satırın miktar değerinden çıkaracaktır. Bir sorgunun seçim kısmında yer alan alt sorgular ciddi performans kaybına neden olabilmektedir. Her satır için çalıştırılan sorgunun gerçekleştirdiği işlem, üst sorgu ile ilişkili olması ve sorgu sonucu oluşacak satır sayısı oluşan performans kaybı ile doğrudan ilişkilidir.


44. Soru

SQL dili veritabanı sistemlerinin yönetilmesi için tasarlanmış ne dilidir?

Cevap

Bir bildirim dilidir.


45. Soru

Veritabanı yönetim sistemlerini kullanmamızın temel nedenlerinden biri de verinin farklı görünümlerini elde edebilmektir. Organizasyonlarda tüm sistem verilerini barındıran merkezi veritabanları organizasyonda farklı kademe ve görevlerdeki çalışanların ne ihtiyacını karşılamaktadır?

Cevap

Veri ihtiyacını karşılamaktadır.


46. Soru

SELECT komutunun temel yazım şekli verildikten sonra verinin sınırlanması, farklı tablolardan verilerin birleştirilmesi, veri kümelerinin birbiri ardı birleştirilmesi, iç-içe sorgular ünite içerisinde aktarılmıştır. SQL sorgu dili komutlarının öğrenilmesinde kullanıcıların bu komutları deneyimlemeleri neyin öğrenilmesi için oldukça önemlidir?

Cevap

Dilin öğrenilmesi için oldukça önemlidir.


47. Soru

SELECT ifadesi ilişkisel veritabanı yönetim sistemlerinde ne kayıtlarını getirmek için kullanılan komuttur?

Cevap

 Veri kayıtlarını getirmek için kullanılan komuttur.


48. Soru

Seçme ifadesinin mantıksal işleme sırasının bilinmesi kullanıcıların sorguları ne yapmasında yardımcı olmaktadır?

Cevap

Sorguları daha iyi tasarlamasında yardımcı olmaktadır?


49. Soru

Select komutu ile hedeflenen veri kümesini seçmek için komutun yapısında olduğu gibi yukarıdan aşağıya bir tasarım yapılması oldukça önemlidir. Aksi takdirde istenilmeyen sonuçlara ulaşılabilmektedir. Seçme sorgusunun evreni ne sonrasında belirtilen veri kaynakları tarafından oluşturulur?

Cevap

FROM sonrasında belirtilen veri kaynakları tarafından oluşturulur.


50. Soru

Select sorgusuyla elde edilen bir veri kümesinin yeni bir tablo olarak kaydedilmesi için FROM ifadesinden önce ne ifadesi yazılmalıdır?

Cevap

INTO tablo Adı ifadesi yazılmalıdır.


51. Soru

Seçme komutunun mantıksal işleme sırasının son iki adımı olan ORDER BY ve TOP ifadeleri elde edilen veri kümesinin kullanıcı ya da istemci yazılıma iletilmeden önce sıralanmasını sağlar. SELECT komutunun son kısmında yer alan ne ifadesinden sonra veri kümesinin istenilen alanlara göre sıralanması sağlanır?

Cevap

ORDER BY ifadesinden sonra veri kümesinin istenilen alanlara göre sıralanması sağlanır.


52. Soru

SQL komutlarının tek satır olarak yazılması zorunluluğu yoktur. Derleyici satır gözetmeksizin SELECT komutunun neyine göre ifadeleri dikkate alır?

Cevap

Yazım kuralına göre ifadeleri dikkate alır.


53. Soru

Veri sorgulamasında kayıtların belirli ölçütlere göre sınırlanması ya da diğer bir ifadeyle tablolar içinde aranması için ne ifadesi kullanılır?

Cevap

WHERE ifadesi kullanılır.


54. Soru

Koşul ifadeleri arasında AND ve OR ifadeleri kullanılabilmektedir. Mantıksal sınama ifadeleri olan bu ifadelerden AND birbirine bağlanan ifadelerin her ikisinin de gerçekleşmesini zorunlu kılar. OR ifadesi ise koşullardan en az birinin yerine getirilmesi durumunda ilgili satırı nereye dâhil eder?

Cevap

Veri kümesine dâhil eder.


55. Soru

İlişkisel veritabanı yönetim sistemlerinde gerçek dünya varlıklarının tablolar şekilde gösterimi söz konusudur. Bu yapılarda sistem, verileri hangi tablolar hâlinde organize edilir?

Cevap

Verileri birbirine bağlı çok sayıda tablolar hâlinde organize edilir.


56. Soru

Komutu sayesinde sadece iki değil çok sayıda tablo birbirine bağlanabilen, tabloları bir sorgu içerisinde birbiri ile bağlamanın en kolay ve yaygın yolu komutudur?

Cevap

JOIN komutudur.


57. Soru

Sorgu içerisinde tablo adlarından sonra AS ifadesi kullanılarak takma bir adla ifade edilebilir. Ne adları için de aynı durum söz konusudur?

Cevap

Alan adları için de aynı durum söz konusudur.


58. Soru

Çok sayıda tablonun birbirine bağlanması için farklı bir bağlantı türü yoktur. JOIN komutu aynı yapıyla kullanılır ancak ne kısmında birbiri ile ilişkili alanların doğru tarif edilmesi gerekir?

Cevap

ON kısmında birbiri ile ilişkili alanların doğru tarif edilmesi gerekir.


59. Soru

Birbiri ile aynı sayıda ve türde alanları olan veri kümelerinin alt alta birleştirilmesi, kesişim kümelerinin ve farklarının bulunması işlemine ne ad verilir?

Cevap

Veri kümesi birleştirme


60. Soru

Aylık toplam satış tutarları, satışı yapılan ürün sayıları, en çok satış yapan personel listeleri ve benzeri bilgilerin elde edilmesi için kullanılan SQL komutu nedir?

Cevap

SQL komutu GROUP BY’dır.


61. Soru

SQL sorgularında çeşitli hesaplama ve mantıksal işlemleri gerçekleştirebilmek için işlevler bulunmaktadır. Microsoft SQL Server Transact-SQL dili farklı işlemler için nasıl işlevler sunmaktadır?

Cevap

Farklı türde işlevler sunmaktadır.


62. Soru

Bir seçme sorgusunun bir parçasını oluşturan ve parantez içinde yazılmış SQL seçme sorgusuna ne denilir?

Cevap

Alt sorgu denir.


63. Soru

Alt sorgular tablo olarak kullanılabileceği gibi sınırlayıcı olarak da kullanılabilmektedir. WHERE komutu ile bir alandaki değerler başka bir sorgunun içerdiği nelerle sınırlanabilir?

Cevap

Değerlerle sınırlanabilir.


Güz Dönemi Dönem Sonu Sınavı
18 Ocak 2025 Cumartesi
v