İlk iş yerimde, şirketin müşteri verilerinin olduğu dev bir Excel dosyasına bakıp "Bunu nasıl sorgulayacağım?" diye düşündüğümü hatırlıyorum. O zamanlar veritabanı nedir bilmiyordum, sadece "SQL" diye bir şey duymuştum. Sonra bir arkadaşım "PostgreSQL kur, şu basit sorguları dene" dedi. İşte o an başladı her şey. Veritabanı öğrenmek sandığınız kadar zor değil, sadece doğru adımlarla başlamak gerekiyor.
Veritabanı Öğrenmeye Başlamak: SQL ve Tasarım İçin Pratik Yol Haritası

Veritabanı öğrenmeye PostgreSQL veya SQLite gibi ücretsiz bir veritabanı kurarak başlayın. Ardından temel SQL komutlarını (SELECT, INSERT, UPDATE, DELETE) öğrenin ve basit bir proje yaparak pekiştirin.
"Üniversitede staj yaparken, 10.000 satırlık bir Excel dosyasını filtrelemek için saatler harcıyordum. Bir gün takım liderim gelip "SELECT * FROM musteri WHERE sehir = 'İstanbul'" yazdı ve 2 saniyede sonucu aldı. O an veritabanı öğrenmem gerektiğini anladım. İlk başta SQL komutlarını ezberlemeye çalıştım ama çok sıkıcıydı. Sonra kendi küçük kütüphane projemi yaparak öğrendim."
Çoğu kişi veritabanı öğrenmeye kalkıştığında ya teorik kitaplara dalıp sıkılıyor ya da hemen karmaşık konulara atlayıp kayboluyor. Oysa veritabanı öğrenmek aslında bir dil öğrenmek gibidir: önce temel kelimeleri (SELECT, WHERE), sonra cümle kurmayı (JOIN), en son da edebiyatı (performans optimizasyonu) öğrenirsiniz. Standart tavsiyeler genelde ya çok soyut ya da çok ileri seviye oluyor. Bu yüzden somut, adım adım bir yaklaşım şart.
🔧 5 Çözümler
PostgreSQL veya SQLite kurarak veritabanı ortamını hazırla ve ilk tabloyu oluştur.
-
1
PostgreSQL'i indir ve kur — PostgreSQL'in resmi sitesinden işletim sistemine uygun sürümü indir. Kurulum sırasında şifre belirle (örneğin '1234').
-
2
pgAdmin'i aç ve yeni bir veritabanı oluştur — pgAdmin arayüzünde 'Databases' sağ tıkla -> Create -> Database. Adını 'kutuphane' yap.
-
3
SQL sorgu aracını aç ve ilk tabloyu oluştur — Tools -> Query Tool'a tıkla. Şu kodu yaz: CREATE TABLE kitaplar (id SERIAL PRIMARY KEY, ad VARCHAR(100), yazar VARCHAR(50)); Çalıştır.
SELECT, INSERT, UPDATE, DELETE komutlarını örnek verilerle deneyerek öğren.
-
1
Tablonu verilerle doldur — INSERT INTO kitaplar (ad, yazar) VALUES ('Suç ve Ceza', 'Dostoyevski'); gibi 5-10 kayıt ekle.
-
2
SELECT ile sorgula — SELECT * FROM kitaplar; tümünü getir. WHERE ile filtrele: SELECT * FROM kitaplar WHERE yazar = 'Dostoyevski';
-
3
UPDATE ile güncelle — UPDATE kitaplar SET ad = 'Savaş ve Barış' WHERE id = 1; gibi bir güncelleme yap.
-
4
DELETE ile sil — DELETE FROM kitaplar WHERE id = 3; ile bir kaydı sil. Sonucu kontrol et.
Basit bir kütüphane yönetim sistemi için tablolar tasarla ve ilişkileri kur.
-
1
İhtiyaçları belirle — Kitaplar, üyeler, ödünç kayıtları olsun. Her kitabın bir türü olsun (roman, bilim).
-
2
Tabloları oluştur — CREATE TABLE turler (id SERIAL PRIMARY KEY, ad VARCHAR(50)); CREATE TABLE uyeler (id SERIAL PRIMARY KEY, ad VARCHAR(50), email VARCHAR(100));
-
3
Foreign key ekle — Kitaplar tablosuna tur_id ekle: ALTER TABLE kitaplar ADD COLUMN tur_id INT REFERENCES turler(id);
-
4
Ödünç tablosunu oluştur ve ilişkilendir — CREATE TABLE odunc (kitap_id INT REFERENCES kitaplar(id), uye_id INT REFERENCES uyeler(id), odunc_tarihi DATE);
-
5
Örnek verilerle test et — Birkaç kitap, üye ekle. Bir kitabı bir üyeye ödünç ver: INSERT INTO odunc VALUES (1, 1, '2024-01-01');
INNER JOIN, LEFT JOIN gibi birleştirme işlemlerini örnek veritabanı üzerinde çalış.
-
1
Örnek bir veritabanı indir — PostgreSQL için 'dvdrental' örnek veritabanını indir ve kur. Bu, film kiralama şirketi verilerini içerir.
-
2
INNER JOIN ile iki tabloyu birleştir — SELECT film.title, category.name FROM film INNER JOIN film_category ON film.film_id = film_category.film_id INNER JOIN category ON film_category.category_id = category.category_id;
-
3
LEFT JOIN ile eksik verileri bul — SELECT customer.first_name, rental.rental_date FROM customer LEFT JOIN rental ON customer.customer_id = rental.customer_id; Müşterilerin kiralama yapıp yapmadığını gör.
-
4
GROUP BY ile grupla ve聚合函数 kullan — SELECT customer.first_name, COUNT(rental.rental_id) FROM customer LEFT JOIN rental ON customer.customer_id = rental.customer_id GROUP BY customer.first_name;
Basit bir blog veritabanı tasarla, sorgular yaz ve projeyi GitHub'da paylaş.
-
1
Blog veritabanını tasarla — Kullanıcılar, yazılar, yorumlar tabloları olsun. Kullanıcılar: id, username, email. Yazılar: id, title, content, user_id, created_at. Yorumlar: id, post_id, user_id, comment.
-
2
Tabloları oluştur ve veri ekle — Her tabloya 5-10 kayıt ekle. En az bir kullanıcı, onun 2 yazısı ve her yazıya bir yorum olsun.
-
3
Karmaşık sorgular yaz — Her kullanıcının yazı sayısını bul: SELECT username, COUNT(post_id) FROM users LEFT JOIN posts ON users.id = posts.user_id GROUP BY username; En çok yorum alan yazıyı bul.
-
4
Projeyi GitHub'a yükle — SQL dosyalarını bir repo'ya koy. README'ye veritabanı şemasını ve örnek sorguları ekle. İş ilanlarında göstermek için harika.
Eğer SQL sorgularını 2 hafta boyunca her gün denemenize rağmen JOIN'leri anlamakta zorlanıyorsanız, bir mentor veya online kurs (örneğin Udemy'de 'SQL for Beginners') almayı düşünün. Ayrıca veritabanı tasarımında sürekli aynı hataları yapıyorsanız (örneğin gereksiz tekrarlar), bir veritabanı uzmanından yardım istemek faydalı olabilir.
Veritabanı öğrenmek bir gecede olacak iş değil. Ben ilk başta SELECT sorgusu yazarken bile takılıyordum, şimdi ise karmaşık sorgular yazabiliyorum. Önemli olan her gün en az 15 dakika pratik yapmak. Başlangıçta hata yapmak normal, hatta gerekli. Çünkü her hata yeni bir şey öğretir.
Unutmayın, veritabanı öğrenmek sadece SQL öğrenmek değil, aynı zamanda veriyi anlamak ve organize etmektir. Bu beceri, yazılım geliştirmeden veri analizine kadar birçok alanda işinize yarayacak. Şimdi PostgreSQL'i kurun ve ilk tablonuzu oluşturun. Gerisi gelecek.
💬 Deneyimini Paylaş
Deneyimini paylaş — aynı durumla karşılaşanlara yardımcı olur!