CRUD (Create-Read-Update-Delete) Nedir?

Güncelleme Yayın

Genelde, bir programlama diline ilk adım atıldığında yapılan ilk işlemler veritabanı üzerine odaklı oluyor. En azından benim için öyle olduğunu söyleyebilirim. Bunun nedeni olarak veriyi kayıt altına almak ve kayıt altındaki veriyi gerekliliği durumunda güncelleme fikri gösterilebilir. PHP ile ilk tanıştığım dönemlerde içerik yönetimi en ateşli konulardan biriydi. Şimdilerde, basit PHP veritabanı işlemlerinin ötesinde framework’lerle, REST gibi mimarilerle ve HTTP istekleri ile daha kompleks ancak daha işlevsel çözümler üretebilmekteyiz. CRUD işte az önce bahsi geçen, bir ilişkisel veritabanına yönelik işlemleri ifade etmekte. Peki, CRUD tam olarak nedir?

CRUD (Create-Read-Update-Delete)

CRUD veri yönetimi sürecinde veri havuzunda yapılacak dört temel işlemi ifade eder; ekleme, okuma, güncelleme ve silme. Veri doğrudan işlenir ve işleme süreci dışında veriler pasiftir. MySQL gibi bir ilişkisel veritabanına sorgu eklenmesi, ekli sorguların güncellenmesi gibi işlemler örnek olarak gösterilebilir.

CRUD ifadesi ilk kez 1983 yılında James Martin tarafından Managing the Data-base Environment başlıklı kitabında kullanılmıştır. Kısaltmadaki her harf standart bir SQL ifadesi ve HTTP yöntemiyle eşleşebilir. Ancak, bir ek not eklemekte fayda var. CRUD işlemleri REST mimarisi temelinde kullanılan GET, PUT, POST ile benzerlik gösterse de birebir aynı prensibe dayandıklarını söylemek mümkün değil. CRUD ile REST kıyaslandığında, CRUD daha ilkel işlemler bütünü olarak nitelendirilebilir. REST ise CRUD üzerine inşa edilebilir. Bu bağlamda yapılmış tartışmalarla ilgili aşağıda yer alan bağlantıları inceleyebilirsiniz.

Peki ya flat-file veritabanı kullanımında durum nedir? Flat-file veritaban(lar)ında tek bir format izlenir ve kayıtlar arasındaki ilişkileri tanımlayan bir yapı ya da ilişkisel veritabanlarında olduğu gibi kayıtları takip eden bir ilişki kontrolü yoktur. Bu konuyla ilgili şu tartışmayı göz atmanızı önerebilirim.

Product Information Management

Görsel: Build a CRUD Template Using React, Bootstrap, Express & Postgres

Özetlemek gerekirse, bir programlama dili (veya uygulama) CRUD ifadesi ile birlikte anılıyorsa uygulamanın (kodun ya da ürünün) temelinde veritabanına yönelik veri işlemlerinin yer aldığını anlarız. Yani, örneğin GO veritabanı işlemleri şeklinde yapacağımız bir arama veritabanına yönelik pek çok konuyu kapsayabilecek iken Go CRUD işlemleri dediğimizde konumuzu veritabanına verinin eklenmesi ve bu verinin yönetimi bağlamında sınırlandırmış oluruz.

LAMP, MEAN ve MERN gibi yığın uygulamaları üzerine oluşturulmuş pek çok örneğe ulaşabilirsiniz.


İleri Okumalar

Kaynakça

  1. Create, read, update and delete. Wikipedia.
  2. What is CRUD?
  3. What is Crud? Explaining Crud Operations, DevOps Glossary