Yazılımın Temel Dörtlüsü: CRUD Nedir ve Neden Önemlidir?
Yazılımın Temel Dörtlüsü: CRUD Nedir ve Neden Önemlidir?
Bir sosyal medya uygulamasında yeni bir gönderi paylaştığınızda, profil fotoğrafınızı güncellediğinizde veya eski bir tweet'inizi sildiğinizde aslında arka planda tek bir temel konsept çalışır: CRUD.
CRUD, veritabanı yönetiminden RESTful API tasarımlarına ve kullanıcı arayüzlerine kadar modern yazılım geliştirmenin en temel yapı taşıdır.
1. CRUD Nedir?
CRUD, kalıcı depolama sistemlerinde (veritabanlarında) veri üzerinde gerçekleştirilebilen dört temel operasyonun İngilizce baş harflerinden oluşan bir kısaltmadır:
- C - Create (Oluşturma): Sisteme yeni bir veri kaydı eklemek.
- R - Read / Retrieve (Okuma): Var olan verileri sorgulamak, listelemek veya görüntülemek.
- U - Update (Güncelleme): Mevcut bir verinin tamamını veya belirli alanlarını değiştirmek.
- D - Delete (Silme): Artık ihtiyaç duyulmayan bir veriyi sistemden kaldırmak.
Kullanıcı odaklı dijital sistemlerin neredeyse tamamı bu dört temel eylemin farklı kombinasyonları ve iş mantıkları etrafında inşa edilir.
2. CRUD Operasyonlarının Katmanlara Göre Karşılıkları
CRUD döngüsü yalnızca veritabanını değil; veri tabanından API'ye, kullanıcı arayüzünden SQL sorgularına kadar tüm yazılım mimarisini kapsar.
| CRUD İşlemi | SQL Komutu (Veritabanı) | HTTP Metodu (REST API) | Gerçek Hayat Örneği |
|---|---|---|---|
| Create | INSERT INTO ... | POST | Yeni bir blog yazısı yayımlamak |
| Read | SELECT ... FROM | GET | Bir blog yazısını okumak / listelemek |
| Update | UPDATE ... SET | PUT / PATCH | Blog yazısının başlığını düzenlemek |
| Delete | DELETE FROM ... | DELETE | Blog yazısını yayından kaldırmak |
3. CRUD İşlemlerinin Detaylı Analizi
1. Create (Oluşturma)
Yeni bir varlığın (entity) belleğe veya veritabanına yazılmasıdır. Genellikle sunucu tarafında doğrulamadan (validation) geçirilir ve veritabanı tarafından benzersiz bir kimlik numarası (ID/UUID) atanarak saklanır.
- API Örneği:
POST /api/posts(Gövdede JSON formatında yeni gönderi verisi ile).
2. Read (Okuma)
Verilerin durumunu değiştirmeden yalnızca bilgi almak için kullanılır. Bu işlem idempotent (yan etkisiz) olmalıdır. İki şekilde gerçekleşir:
- Toplu Listeleme: Tüm kayıtları veya sayfalanmış (paginated) bir listeyi çekmek (
GET /api/posts). - Tekil Detay: Belirli bir kimliğe sahip tek bir kaydı görüntülemek (
GET /api/posts/15).
3. Update (Güncelleme)
Mevcut bir kaydın güncellenmesidir. REST mimarisinde iki farklı yaklaşım kullanılır:
- PUT (Tam Değiştirme): Kaynağın tüm alanlarını gönderilen yeni veriyle baştan yazar.
- PATCH (Kısmi Güncelleme): Yalnızca değiştirilmek istenen spesifik alanı (örneğin sadece
title) günceller. - API Örneği:
PATCH /api/posts/15
4. Delete (Silme)
Verinin depolama alanından kaldırılmasıdır. Modern sistemlerde iki temel silme stratejisi bulunur:
- Hard Delete (Fiziksel Silme): Veri doğrudan tablodan ve diskten tamamen silinir (
DELETE FROM posts WHERE id = 15). - Soft Delete (Mantıksal Silme): Veri silinmez; tablodaki
is_deletedveyadeleted_atsütunu güncellenerek kaydın pasif duruma geçmesi sağlanır.
4. Neden CRUD Mimarisi Kullanılır?
- Standartlaşma: Geliştiriciler arasında ortak bir dil ve standart sunarak projenin anlaşılabilirliğini artırır.
- Güvenlik ve Yetkilendirme: Kullanıcı rollerine göre izin tanımlamayı kolaylaştırır (Örneğin; normal kullanıcı yalnızca
Readyapabilirken, yöneticiCreate,UpdateveDeleteyapabilir). - Kolay Bakım ve Ölçeklenebilirlik: Veritabanı ve API uç noktaları modüler kaldığı için sistemin genişletilmesi ve hata ayıklaması hızlanır.

