CRUD
Oluştur, Oku, Güncelle, Sil (Create, Read, Update, Delete)
- Okunuşu
- krad
Kısaca
CRUD, oluşturma, okuma, güncelleme ve silmenin kısaltmasıdır; veritabanı, API ve çoğu iş uygulamasında saklı verilerle çalışmanın dört temel işlemidir.
CRUD nedir?
CRUD, saklanan bir kayıtla yapabileceğiniz dört şeyi adlandırır: yeni bir tane oluşturmak, mevcut olanları okumak, birini güncellemek ve birini silmek. Yapılacaklar listesinden bankacılık sistemine kadar veri saklayan hemen her uygulama bu işlemler etrafında kurulur; bu yüzden basit veri yönetimi uygulamalarına sıklıkla CRUD uygulamaları denir.
SQL'de dört işlem INSERT, SELECT, UPDATE ve DELETE ile eşleşir. Bir REST API'de ise genellikle bir kaynak URL'si üzerindeki HTTP metotlarıyla eşleşir: POST /tasks oluşturur, GET /tasks/7 okur, PUT veya PATCH /tasks/7 günceller ve DELETE /tasks/7 siler. ORM'ler ve birçok web framework'ü bir veri modeli için CRUD kodunu, yönetim ekranlarını ve API endpoint'lerini otomatik üretebilir; bu da çok sayıda tekrarlı işten kurtarır.
CRUD, kâğıt bir adres defterini yönetmek gibidir: yeni bir kişi yazarsınız, birini ararsınız, bir telefon numarasını çizip düzeltirsiniz ya da bir sayfayı koparırsınız. Gerçek uygulamalar her işlemin etrafına kurallar örer: oluşturmadan veya güncellemeden önce doğrulama, kimin okuyup silebileceğine dair yetkilendirme kontrolleri ve uzun listeleri okurken sayfalama gibi. Birçok sistem, bir kaydı yalnızca örneğin deleted_at zaman damgasıyla silinmiş olarak işaretleyen soft delete ile kalıcı silmelerden de kaçınır; böylece kayıt sonradan geri yüklenebilir veya denetlenebilir.
CRUD sıklıkla REST ile karıştırılır. CRUD veri üzerindeki işlemleri tanımlar; REST ise API tasarlamaya yönelik bir mimari stildir. Bir REST API çoğu zaman CRUD işlemlerini sunar, ancak REST durumsuzluk ve kaynak URL'leri gibi fikirleri de kapsar ve 'parola sıfırlama e-postası gönder' ya da 'siparişi onayla' gibi birçok API eylemi hiç CRUD değildir. CRUD ayrıca, bir uygulamanın yazma tarafını okuma tarafından farklı modellere ayıran bir mimari olan CQRS ile de karşılaştırılır.
Önemli noktalar
- CRUD, oluşturma (create), okuma (read), güncelleme (update) ve silmenin (delete) kısaltmasıdır.
- SQL'de işlemler
INSERT,SELECT,UPDATEveDELETE'tir. - REST API'lerde genellikle
POST,GET,PUTveyaPATCHveDELETEile eşleşir. - Gerçek CRUD özellikleri doğrulama, yetkilendirme ve sayfalama ekler.
- CRUD veri üzerindeki işlemleri tanımlar; REST ise bir API'nin nasıl tasarlandığını tanımlar.
Örnek
-- Create
INSERT INTO tasks (title, done) VALUES ('Write report', false);
-- Read
SELECT id, title, done FROM tasks WHERE done = false;
-- Update
UPDATE tasks SET done = true WHERE id = 7;
-- Delete
DELETE FROM tasks WHERE id = 7;
-- The same operations in a REST API:
-- POST /tasks, GET /tasks/7, PATCH /tasks/7, DELETE /tasks/7Sık sorulan sorular
CRUD uygulaması nedir?
CRUD uygulaması, temel işi kayıtları oluşturmak, görüntülemek, düzenlemek ve silmek olan bir uygulamadır; envanter yöneticisi ya da yönetim paneli gibi. Çoğu iş yazılımı CRUD olarak başlar, sonra üzerine iş akışları, kurallar ve raporlar eklenir.
CRUD işlemleri HTTP metotlarıyla nasıl eşleşir?
Oluşturma genellikle POST, okuma GET, güncelleme PUT (tam değiştirme) veya PATCH (kısmi değişiklik) ve silme DELETE ile eşleşir. Bu eşleşme, katı bir kuraldan çok REST API'lerin bir kuralıdır.
Soft delete nedir?
Soft delete, bir kaydı veritabanından kaldırmak yerine, örneğin bir deleted_at sütunu ayarlayarak silinmiş olarak işaretler. Sorgular soft delete uygulanmış satırları filtreler ve veri yine de geri yüklenebilir veya denetlenebilir.
İlgili sayfalar
- REST APIBackend ve API'ler, s. 38REST API, verileri URL'lerle tanımlanan kaynaklar olarak sunan ve istemcilerin onları standart HTTP metotlarıyla okuyup değiştirmesini sağlayan web API'sidir.
- SQLVeritabanları, s. 29SQL, ilişkisel veritabanlarıyla çalışmanın standart dilidir; tablo oluşturmak ve içindeki veriyi eklemek, sorgulamak, güncellemek ve silmek için kullanılır.
- HTTP MetoduBackend ve API'ler, s. 22HTTP metodu, bir HTTP isteğindeki GET, POST, PUT, PATCH veya DELETE gibi fiildir ve sunucuya istenen kaynak üzerinde hangi eylemin yapılacağını söyler.
- VeritabanıVeritabanları, s. 37Veritabanı, bilgisayarda düzenli biçimde saklanan ve uygulamaların verimlice kaydedip arayıp güncelleyebildiği, bir yazılımla yönetilen veri topluluğudur.
- ORMVeritabanları, s. 24ORM, veritabanı tablolarını programlama dilinizdeki nesnelere eşleyen ve ham SQL yerine kodla veri okuyup yazmanızı sağlayan bir kütüphanedir.
- CQRSYazılım Mimarisi, s. 7CQRS, veriyi değiştiren kodu (komutlar) veriyi okuyan koddan (sorgular) ayırarak iki ayrı modele bölen bir mimari desendir.
Bu sayfada bir hata ya da eksik mi gördünüz?Düzeltme önerin