Veritabanı dersine nasıl çalışılır? sorusunun en doğru cevabı, komutları rastgele ezberlemek yerine konuları birbirinin üzerine kurarak ilerlemektir. Önce veri modelini ve SELECT-FROM-WHERE mantığını anlayın; ardından filtreleme, sıralama ve sorgu okuma becerilerini sağlamlaştırın. Bundan sonra JOIN, GROUP BY, kısıtlar ve transaction konularına geçmek daha verimli olur.
Bu sıra, her yeni konunun önceki becerileri kullanmasından kaynaklanır. Örneğin JOIN yazmadan önce tabloların nasıl ilişkilendiğini, GROUP BY kullanmadan önce hangi kayıtların filtreleneceğini bilmek gerekir.
Veritabanı Dersinde Konular Hangi Sırayla Çalışılmalı?
Çalışmaya önce veri modelini okuyarak başlayın. Kütüphane örneğinde kitaplar, üyeler ve odunc_islemleri tablolarının ne tuttuğunu; hangi sütunun kimlik alanı olduğunu ve tabloların hangi alanlarla ilişkilendirilebileceğini belirleyin. ER diyagramı ve normalizasyonun tüm ayrıntılarına ilk aşamada gömülmek yerine, bunları sorgu yazarken ihtiyaç duyacağınız ilişki mantığı kadar öğrenmek yeterlidir.
- Veri modelini tanıyın: Tabloları, sütunları, birincil anahtarları ve temel ilişkileri inceleyin.
- SELECT-FROM-WHERE temeline geçin: Hangi tablodan veri alınacağını ve hangi satırların seçileceğini öğrenin.
- Filtreleme ve sıralamayı pekiştirin: Karşılaştırma operatörleri,
AND,OR,NULLveORDER BYüzerinde pratik yapın. - İlişkili sorgulara geçin: Tabloları
JOINile birleştirin, ardındanGROUP BYve toplulaştırma fonksiyonlarını çalışın. - Veri güvenliği mantığını ekleyin: Kısıtlar ve transaction kavramlarını, verinin hatalı veya eksik işlenmesini önleme açısından öğrenin.
Bu sırayı takip ederken mevcut problem çözme altyapınızı da görmek faydalı olabilir. Özellikle koşul kurma, adım adım düşünme ve bir problemi parçalara ayırma konusunda nerede olduğunuzu görmek için ücretsiz algoritma bilgi testi kullanılabilir. Test sonucu bir not ölçümü değil, çalışma başlangıcınızı belirleyen bir kontrol noktası olarak değerlendirilmelidir.
Dört Aşamalı Çalışma Sistemi Nasıl Uygulanır?

Veritabanı çalışırken her sorguyu dört aşamadan geçirin. Bu yöntem, “Sorgu neden böyle sonuç verdi?” sorusunu tahmin etmek yerine kanıtlayarak cevaplamanızı sağlar. Örnek senaryo olarak küçük bir kütüphane veritabanı düşünün: kitaplar kitap bilgilerini, uyeler üyeleri, odunc_islemleri ise ödünç alma kayıtlarını içeriyor.
- Veri modelini okuyun: Ana kaynak tablo hangisi? Sorgunun ihtiyaç duyduğu bilgi hangi tabloda bulunuyor? İlişki kurulacak sütunlar neler?
- Küçük veri seti oluşturun: Her tabloya birkaç kayıt ekleyin. Kayıtları kâğıt üzerinde veya bir tablo düzenleyicide elle kontrol edilebilir tutun. Böylece sorgunun sonucunu çalıştırmadan önce tahmin edebilirsiniz.
- Sorguyu parçalara ayırın:
SELECThangi sütunları getiriyor,FROMhangi tabloyu temel alıyor,JOINhangi kayıtları bağlıyor,WHEREhangi satırları eliyor,GROUP BYhangi kayıtları grupluyor veORDER BYsonucu nasıl sıralıyor? - Sonucu test edin: Beklediğiniz kayıtlarla gerçek çıktıyı karşılaştırın. Fazla kayıt varsa ilişkiyi veya filtreyi, eksik kayıt varsa koşulu ve NULL davranışını yeniden inceleyin.
Her çalışma oturumunun sonunda şu teşhis listesini kullanın:
- Ana tabloyu doğru seçtim mi?
- Filtreleme hangi satırları eledi?
- Birleştirme koşulu doğru sütunlara mı dayanıyor?
- Toplulaştırma hangi gruplar üzerinde yapılıyor?
- Beklediğim sonuç ile sorgu çıktısı neden farklı olabilir?
Takıldığınız noktaları konu başlıklarına göre ayırmak ve farklı sorgu örneklerini incelemek için veritabanı ve programlama yazıları arşivinden yararlanabilirsiniz. Amaç hazır sorguyu kopyalamak değil, sorgunun hangi kararlarla kurulduğunu açıklayabilmektir.
SELECT, Filtreleme ve Sorgu Okuma Temeli
İlk pratiklerde sorguyu üç adımda okuyun: önce veri hangi tablodan geliyor, sonra hangi satırlar eleniyor, son olarak sonuç nasıl sıralanıyor? NULL değerlerin “boş metin” veya sıfır olmadığını da unutmayın; NULL kontrolü için doğrudan eşittir operatörü yerine IS NULL ya da IS NOT NULL kullanılır.
CREATE TABLE kitaplar (
id INTEGER,
ad TEXT,
yil INTEGER
);
INSERT INTO kitaplar VALUES
(1, 'Algoritmalar', 2022),
(2, 'SQL Temelleri', 2024),
(3, 'Eski Sistemler', 2018);
SELECT ad, yil
FROM kitaplar
WHERE yil >= 2022
ORDER BY yil DESC;
Bu sorgunun beklenen çıktısı şöyledir:
SQL Temelleri | 2024Algoritmalar | 2022
Çözümleme sırasında önce kitaplar tablosu okunur. WHERE yil >= 2022 koşulu 2018 tarihli kaydı eler. Ardından ORDER BY yil DESC kalan kayıtları yeni yıldan eski yıla doğru sıralar. Sınavda hazır bir sorgu verildiğinde satırları bu sırayla açıklamak, yalnızca SQL yazmayı değil, başkasının yazdığı sorguyu anlamayı da geliştirir. Kendi seviyenizi görmek için ayrıca ücretsiz yazılım bilgisi testini başlangıç kontrolü olarak kullanabilirsiniz.
JOIN ve GROUP BY Ne Zaman Çalışılmalı?
JOIN konusuna, tek tablo üzerinde SELECT, WHERE ve ORDER BY sorgularını rahatça kurabildikten sonra geçmek daha sağlıklıdır. Çünkü JOIN, yeni bir komut ezberinden çok, birden fazla tablodaki ilişkili bilgiyi aynı sonuçta bir araya getirme yöntemidir. Örneğin üyeler tablosunda üyenin adı, ödünçler tablosunda ise hangi kitabı aldığı tutulabilir. Bu iki bilgiyi birlikte görmek için tablolar arasındaki ortak alanı anlamanız gerekir.
JOIN çalışırken önce tabloların hangi sütun üzerinden bağlandığını bulun. Ardından yalnızca gerekli sütunları seçin. İlişkiyi ER diyagramı üzerinden okumakta zorlanıyorsanız, tablo ve anahtar ilişkilerini görsel olarak inceleyip küçük bir örnek üzerinde tekrar deneyin. Canlı derslerde bu tür sorgu kurma adımlarını eğitmen eşliğinde uygulamak isteyen öğrenciler, uygulamalı canlı yazılım eğitimleri hakkında bilgi alabilir.
GROUP BY ise satırları belirli bir ortak değere göre gruplamak için kullanılır. COUNT, SUM ve AVG gibi toplulaştırma fonksiyonlarıyla birlikte şu tür sorulara cevap verir:
- Her üye kaç kitap ödünç aldı?
- Her kategoride kaç kitap bulunuyor?
- Her öğrencinin kaç dersi tamamlandı?
Aşağıdaki örnekte önce iki tablo birleştiriliyor, sonra her üyenin ödünç aldığı kitap sayısı hesaplanıyor:
CREATE TABLE uyeler (id INTEGER, ad TEXT);
CREATE TABLE oduncler (uye_id INTEGER, kitap_adi TEXT);
INSERT INTO uyeler VALUES
(1, 'Ayşe'), (2, 'Mert'), (3, 'Zeynep');
INSERT INTO oduncler VALUES
(1, 'Dune'), (1, 'Sefiller'), (2, 'Simyacı');
SELECT u.ad, COUNT(o.kitap_adi) AS kitap_sayisi
FROM uyeler AS u
LEFT JOIN oduncler AS o ON u.id = o.uye_id
GROUP BY u.id, u.ad
ORDER BY kitap_sayisi DESC;
Beklenen çıktı şöyledir:
| ad | kitap_sayisi |
|---|---|
| Ayşe | 2 |
| Mert | 1 |
| Zeynep | 0 |
Sorguyu bir anda yazmak yerine üç aşamada test edin: önce yalnızca uyeler tablosundan adları listeleyin; sonra JOIN ekleyerek her ödünç kaydını görün; son olarak GROUP BY ve COUNT ile kişi başına toplamı hesaplayın. Böylece hata oluştuğunda problemin tablo ilişkisinde mi, seçilen sütunlarda mı, yoksa gruplama bölümünde mi olduğunu daha kolay bulursunuz. Video dersleri kendi hızında takip etmek isteyen öğrenciler için asenkron yazılım eğitimleri bu tekrar düzenini destekleyebilir.
Kısıtlar ve Transaction Mantığını Temele Yerleştirmek

Kısıtlar, veritabanına hangi kayıtların kabul edileceğini belirleyen kurallardır. Amaç yalnızca sorgu yazmak değil, verinin güvenilirliğini korumaktır.
- PRIMARY KEY: Her üyeyi benzersiz tanımlamak için üye numarasının birincil anahtar olması.
- FOREIGN KEY: Var olmayan bir üyeye ödünç kaydı açılmasını engellemek.
- NOT NULL: Ders kayıtlarında öğrencinin adının boş bırakılmasını önlemek.
- UNIQUE: Aynı öğrenci numarasının iki farklı öğrenci için tekrarlanmamasını sağlamak.
Transaction, birden fazla veritabanı işleminin tek bir bütün gibi ele alınmasını sağlar. Örneğin bir kitabın ödünç verildiği kaydedilirken aynı kitabın uygunluk durumu da değiştirilmelidir. İşlemlerden biri başarısız olursa ROLLBACK ile yapılan değişiklikler geri alınabilir; her adım başarıyla tamamlanırsa COMMIT ile kalıcı hâle getirilir. Sınav sorularında da bu mantık, “hata durumunda veri hangi hâlde kalır?” sorusunu çözmek için önemlidir.
Yedi Günlük Uygulamalı Veritabanı Çalışma Planı
Her gün aynı kütüphane senaryosu üzerinde çalışmak, konuların birbirinden kopmasını önler. Gün sonunda yalnızca okumak yerine küçük bir çıktı üretin ve kontrol sorusunu yazılı olarak cevaplayın.
| Gün | Ana görev | Üretilecek çıktı | Kendini kontrol sorusu |
|---|---|---|---|
| 1 | Tabloları ve ilişkileri incele | Tablo-sütun-anahtar listesi | Hangi alan tabloları bağlıyor? |
| 2 | Küçük veri seti oluştur, SELECT yaz | En az 5 kayıt ve 3 temel sorgu | Sonuç kaç satır döndürmeli? |
| 3 | WHERE, operatörler ve ORDER BY çalış | Filtrelenmiş ve sıralanmış iki sonuç | Filtre hangi kayıtları eliyor? |
| 4 | Hazır sorguları parçalara ayırarak oku | Her sorgu için kısa açıklama | Önce hangi bölümün etkisini kontrol ederim? |
| 5 | İki tabloyu JOIN ile birleştir | İlişkili kayıtları gösteren sorgu | JOIN olmadan aynı cevap alınabilir mi? |
| 6 | GROUP BY ve toplulaştırma fonksiyonlarını uygula | Üye veya kategori bazlı sayım | Gruplama sütunu gerçekten soruyla ilgili mi? |
| 7 | Kısıtlar, transaction ve karma sorguları test et | Hatalı ve başarılı işlem senaryosu | Hata olursa hangi değişiklik geri alınmalı? |
Bu planın sonunda elinizde yalnızca notlar değil; veri modeli, örnek kayıtlar, sorgu açıklamaları ve test edilmiş sonuçlar bulunmalıdır. Özellikle sınav öncesinde sorgunun çıktısını tahmin edin, sonra çalıştırıp karşılaştırın. Fark varsa cevabı ezberlemek yerine hangi adımın sonucu değiştirdiğini bulun.
Öğrenme Nasıl Ölçülür ve Sınav Öncesi Nasıl Tekrar Yapılır?
Veritabanı öğrenimini yalnızca doğru SQL sorgusu yazıp yazamadığınızla ölçmeyin. Sağlam öğrenme; veri modelini açıklama, sorguyu parçalara ayırma, sonucu tahmin etme ve hatayı teşhis etme becerilerinin birlikte gelişmesiyle anlaşılır.
Dört Parçalı Kontrol Listesi
- Şema okuma: Tabloların neyi temsil ettiğini, birincil anahtarları ve tablolar arasındaki ilişkileri açıklayabiliyor musunuz?
- Sorgu kurma: İstenen sonucu önce günlük dille, ardından SELECT, WHERE, JOIN veya GROUP BY parçalarına ayırabiliyor musunuz?
- Sonuç tahmini: Sorguyu çalıştırmadan önce kaç satır dönebileceğini ve hangi sütunların görüneceğini öngörebiliyor musunuz?
- Sonuç doğrulama: Çıktıyı küçük veri setiyle kontrol edip eksik koşul, yanlış ilişki veya hatalı gruplama gibi sorunları bulabiliyor musunuz?
Sınav öncesinde doğrudan süre tutarak başlamayın. Önce soruyu kavramsal olarak çözün: Hangi tablolar gerekli, filtre hangi aşamada uygulanmalı, sonuç satır bazında mı yoksa grup bazında mı üretilmeli? Ardından sorguyu yazın ve son olarak küçük bir veri seti üzerinde test edin. Bu sıra oturduktan sonra benzer soruları belirli süre içinde çözmeyi deneyebilirsiniz.
Aynı yaklaşım gerçek projelerde de kullanılır. Şema okuma tablo ilişkilerini anlamayı, sonuç tahmini rapor sorgularındaki mantık hatalarını yakalamayı, test ise eksik veya tekrarlanan kayıtları fark etmeyi kolaylaştırır. Çalışma biçiminize göre canlı sınıflı yazılım eğitimlerini veya tekrar izlenebilen video içeriklerini değerlendirirken anlatım kadar uygulama ve geri bildirim imkânını da dikkate alabilirsiniz.
Sık Sorulan Sorular
Veritabanı dersine çalışmaya hangi SQL konusundan başlamalıyım?
Önce tablo, satır ve sütun mantığını anlayın; ardından SELECT, WHERE, temel karşılaştırma operatörleri ve sıralama konularına geçin.
JOIN öğrenmeden önce SELECT ve WHERE konularını bilmek gerekir mi?
Evet. JOIN birden fazla tabloyu ilişkilendirir; ancak hangi sütunların seçileceğini ve hangi kayıtların filtreleneceğini anlamak için SELECT ile WHERE temeli gerekir.
Sınavda verilen hazır SQL sorgusu nasıl okunur?
Önce FROM ve JOIN bölümlerinden veri kaynağını, sonra WHERE koşullarını, ardından SELECT çıktısını inceleyin. GROUP BY ve sıralama varsa bunları en son değerlendirin.
GROUP BY ile toplulaştırma fonksiyonlarını hangi aşamada çalışmalıyım?
Tek tablo sorguları ve filtreleme oturduktan sonra COUNT, SUM, AVG gibi fonksiyonları öğrenin; ardından bunları GROUP BY ile kategorilere göre sonuç üretmek için kullanın.
SQL çalışırken kendi küçük veri setimi oluşturmak neden faydalıdır?
Küçük veri seti, beklenen çıktıyı elle hesaplamanızı sağlar. Böylece sorgunun yalnızca çalışmasına değil, doğru sonucu üretmesine odaklanabilirsiniz.
Düzenli tekrarın amacı komutları ezberlemek değil, bir veri problemini okuyup açıklanabilir ve test edilebilir adımlara dönüştürmektir.