मैं रिलेशनल डेटाबेस को समझने के लिए कम से कम दो अलग-अलग सैद्धांतिक दृष्टिकोणों से अवगत हूं: कोडेड के रिलेशनल बीजगणित / कैलकुलस, और श्रेणी सिद्धांत।
क्या इन दोनों दृष्टिकोणों के बीच कोई संबंध है? क्या वे कुछ अर्थों में समकक्ष हैं? क्या कोई परिचयात्मक कार्य है जो यह बताता है कि ये दोनों रूपरेखाएँ संबंधपरक डेटाबेस की व्याख्या कैसे करती हैं?
पृष्ठभूमि: कुछ समय पहले मैंने डेविड स्पिवक की श्रेणी की थ्योरी वैज्ञानिकों के लिए पढ़ी थी, जो काफी समय इस बात पर चर्चा करती थी कि संबंधपरक डेटाबेस के सिद्धांत को समझने के लिए श्रेणी सिद्धांत कैसे लागू किया जा सकता है। हालांकि, संबंधपरक डेटाबेस क्या हैं या वे क्यों उपयोगी हैं, इस बारे में बहुत कम व्यक्तिगत अनुभव है, उस समय मैंने पुस्तक में पाई गई अंतर्दृष्टि की गहराई की पूरी तरह से सराहना नहीं की।
हालाँकि, हाल ही में मैं SQL क्वेरी और डेटा हेरफेर के लिए दो आर संकुल के बारे में सीख रहा हूँ : dplyr और data.table । SQL स्पष्ट रूप से Codd के संबंधपरक बीजगणित / पथरी / मॉडल के अधिकांश विचारों को व्यक्त कर सकता है , लेकिन सभी नहीं । इसके अलावा, डफ़लर के लेखक, हेडली विकम ने स्पष्ट रूप से कहा है कि पैकेज से जुड़ा उनका दर्शन संबंधपरक बीजगणित पर कोडड के काम पर आधारित है, और SQL और drr में कमांड के लिए डेटाटेबल मैप के बुनियादी आदेशों को काफी अच्छी तरह से बताता है।
मुझे यह भी पता है कि श्रेणी सिद्धांत हास्केल जैसी कार्यात्मक प्रोग्रामिंग भाषाओं का उपयोग करके बहुत सारे प्रोग्रामर को प्रभावित करता है। हालांकि, मैं डेटा हेरफेर या डेटा विज्ञान के लिए कार्यात्मक प्रोग्रामिंग के किसी भी उपयोग, हैडली विकहैम के अलावा वहाँ होने का वास्तव में पता नहीं purrr आर, तथ्य यह है कि के लिए पैकेज अपाचे स्पार्क में लिखा है स्काला , और से संबंधित प्रौद्योगिकियों MapReduce ।
इस प्रकार के सभी मुझे सुझाव देते हैं कि श्रेणी सिद्धांत और कोडड के संबंधपरक बीजगणित / कैलकुलस के बीच किसी प्रकार का संबंध होना चाहिए , लेकिन मैंने कभी किसी को इस तरह का संबंध स्पष्ट करते हुए नहीं सुना है या यह स्पष्ट नहीं करता है कि यह लोकप्रिय डेटा संकलन में डिजाइन निर्णयों को कैसे रेखांकित करता है और संबंधपरक डेटाबेस प्रौद्योगिकियां। इसलिए मुझे भी संदेह है कि मैं पूरी तरह से गलत हो सकता हूं।
संपादित करें: जाहिरा तौर पर डेविड स्पिवक ने " फंक्शनल क्वेरी लैंग्वेज (FQL) " पर काम किया है । ऐसा लगता है कि यह एक ऐसे सैद्धांतिक संबंध का अनुप्रयोग हो सकता है, बशर्ते यह मौजूद हो।
नोट: मुझे यकीन नहीं है कि "रिलेशनल-स्ट्रक्चर्स" रिलेशनल डेटाबेस या रिलेशनल अलजेब्रा / कैलकुलस की चर्चा के लिए उपयुक्त टैग है। यह विकिपीडिया लेख बताता है कि वे जुड़े हो सकते हैं, लेकिन अंततः मुझे नहीं पता कि वाक्यांश "संबंधपरक संरचना" का क्या अर्थ है। कृपया पुनः टैग करने के लिए स्वतंत्र महसूस करें।