Veritabanı Nedir? SQL Ne İşe Yarar?
Veritabanı, uygulamanın kalıcı verilerini düzenli şekilde saklayan sistemdir. Bir eğitim platformunda kullanıcı profilleri, ders ilerlemeleri, makale kayıtları, etiketler ve admin ayarları bu katmanda yönetilir.
SQL ise ilişkisel veritabanlarıyla konuşmak için kullanılan sorgu dilidir.
Kısa cevap: veritabanı veriyi saklar, SQL bu veriyi okur, filtreler, günceller ve ilişkilendirir.
Veritabanı Neden Gerekir?
Uygulama kapanıp açılsa bile verinin kaybolmaması gerekir. Bu yüzden veritabanı kullanılır.
Örnek tablolar:
- users
- articles
- lessons
- orders
- comments
- roles
Her tablo belirli bir veri türünü tutar.
İlişkisel Veritabanı Mantığı
İlişkisel veritabanında veri tekrarını azaltmak ve anlamlı bağlar kurmak önemlidir. Bir makale tablosunda yazar adını her satıra yazmak yerine author_id tutmak daha sağlıklıdır. Böylece yazar bilgisi değiştiğinde tek yerde güncellenir.
Basit örnek:
| Tablo | Görev |
|---|---|
| users | Kullanıcı bilgisi |
| articles | Makale bilgisi |
| tags | Etiket bilgisi |
| article_tags | Makale-etiket ilişkisi |
Bu yapı büyüdükçe veriyi yönetilebilir tutar.
SQL Ne İşe Yarar?
Basit SELECT sorgusu:
Bu sorgu yayınlanmış makaleleri tarihe göre listeler.
Yeni kayıt ekleme:
Güncelleme:
Silme:
Bu komutlar güçlüdür; özellikle UPDATE ve DELETE kullanırken WHERE koşulu unutulmamalıdır.
Tablo ve İlişki Nedir?
İlişkisel veritabanlarında veriler tablolar halinde tutulur. Tablolar birbirine bağlanabilir.
Örnek:
Bu ilişki, bir makalenin hangi kullanıcı tarafından yazıldığını gösterir.
Index Nedir?
Index, veritabanının veriyi daha hızlı bulmasını sağlar. Her kolona index eklemek iyi değildir; doğru sorgu desenine göre index seçilir.
Örnek:
Performans tarafında ilerlemek için PostgreSQL Index Optimizasyonu dersini okuyabilirsin.
Backend İçin Veritabanı Bilmek Neden Önemli?
Backend geliştirici veriyi sadece kaydetmez; doğru model, doğru ilişki ve doğru sorgu tasarlar. Kötü tasarlanmış veritabanı uygulama büyüdükçe performans ve bakım sorunu üretir.
Backend tarafında bilmen gerekenler:
- Primary key
- Foreign key
- One-to-many ilişki
- Many-to-many ilişki
- Migration
- Transaction
- Index
- Backup
- Query plan
Backend yoluna devam etmek için Backend Nedir? ve API Nedir? yazılarını birlikte oku.
Mini Proje: Blog Veritabanı
Başlangıç için şu tabloları tasarlayabilirsin:
Bu proje sana kullanıcı-makale ilişkisini, kategori yapısını ve çoktan çoğa etiket bağlantısını öğretir.
Veritabanı Öğrenme Sırası
- Tablo nedir?
- Kolon ve veri tipi nedir?
- SELECT, WHERE, ORDER BY
- INSERT, UPDATE, DELETE
- JOIN
- GROUP BY
- Index
- Transaction
- Migration
- Backup
Sık Sorulan Sorular
SQL öğrenmeden backend olur mu?
ORM kullanarak bir süre ilerlenebilir ama iyi backend geliştirici temel SQL bilmelidir.
PostgreSQL mi MySQL mi?
İkisi de güçlüdür. PostgreSQL gelişmiş özellikleriyle modern backend projelerinde çok tercih edilir. Karşılaştırma için PostgreSQL vs MySQL yazısına bakabilirsin.
NoSQL öğrenmeli miyim?
Önce ilişkisel veritabanı ve SQL öğrenmek daha sağlıklıdır. NoSQL daha sonra kullanım senaryosuna göre eklenebilir.