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

Veritabanı Kayıt (Ekleme, Okuma, Güncelleme ve Silme) İşlemleri

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.

AA

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 pasiftir1. MySQL gibi bir ilişkisel veritabanına sorgu eklenmesi, ekli sorguların güncellenmesi gibi işlemler örnek olarak gösterilebilir2.

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ı inceleyebilirsiniz3.

Peki ya flat-file veritabanı4 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ü yoktur5.

Ö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