İlişkisel veritabanlarını anlamak için en az iki farklı teorik yaklaşımın farkındayım: Codd'un ilişkisel cebiri / hesabı ve kategori teorisi.
Bu iki yaklaşım arasında herhangi bir ilişki var mı? Bir anlamda eşdeğer midirler? Bu çerçevelerin her ikisinin de ilişkisel veritabanlarını nasıl açıkladığını açıklayan herhangi bir giriş çalışması var mı?
Tarihsel Bilgiler: Bir süre önce , ilişkisel veri tabanları teorisini anlamak için kategori teorisinin nasıl uygulanabileceğini tartışmak için epey zaman harcayan David Spivak'ın Bilim Adamları için Kategori Teorisi'ni okudum . Bununla birlikte, ilişkisel veritabanlarının ne olduğu veya neden yararlı oldukları hakkında çok az kişisel deneyime sahip olmak, o sırada kitapta bulunan içgörü derinliklerini tam olarak takdir etmedim.
Ancak, son zamanlarda veri işleme için SQL sorguları ve iki R paketleri hakkında öğreniyorum : dplyr ve data.table . SQL, görünüşe göre Codd'un ilişkisel cebiri / hesabı / modeli fikirlerinin çoğunu ifade edebilir , ancak hepsini değil . Üstelik dplyr yazarı Hadley Wickham, etti açıkça belirtilen paket altında yatan onun felsefesi Codd'un ilişkisel cebir çalışma ve temel komutları dayandığını data.table SQL ve dplyr haritanın oldukça kuyuya komutları.
Kategori teorisinin Haskell gibi fonksiyonel programlama dillerini kullanan birçok programcıyı etkilediğini de biliyorum. Ancak, Hadley Wickham'ın R için purrr paketinin yanı sıra Apache Spark'ın Scala'da yazılmış olması ve MapReduce ile ilgili teknolojilerin yanı sıra veri manipülasyonu veya veri bilimi için fonksiyonel programlamanın herhangi bir kullanımının gerçekten farkında değilim .
Tüm bu tür bana, kategori teorisi ile Codd'un ilişkisel cebiri / hesabı arasında bir tür ilişki olması gerektiğini öne sürüyor , ancak böyle bir bağlantıyı açıkça belirten veya popüler veri manipülasyonundaki tasarım kararlarının altında yatan kimseyi açıklamamıştım. ve ilişkisel veritabanı teknolojileri. Bu yüzden tamamen yanlış olabileceğimden şüpheleniyorum.
EDIT: Görünüşe göre David Spivak bir " işlevsel sorgu dili (FQL) " üzerinde çalıştı . Bu, var olduğu sürece böyle bir teorik bağlantının bir uygulaması gibi görünebilir.
Not: İlişkisel veritabanlarının veya ilişkisel cebir / hesabın tartışılması için "ilişkisel yapılar" ın uygun etiket olup olmadığından emin değilim. Bu Wikipedia makalesi , birbirine bağlı olabileceklerini öne sürüyor, ancak sonuçta "ilişkisel yapı" ifadesinin ne anlama geldiğini bilmiyorum. Lütfen yeniden etiketlemekten çekinmeyin.