HeadlinesBriefing favicon HeadlinesBriefing.com

प्रेला क्वेरी भाषा: 11 लाइनों का SQL विकल्प

Hacker News •
×

प्रेला एक नई क्वेरी भाषा है जो एकस्ट्रा कॉलिंग्स यूनिवर्सिटी दक्षिण कैलिफ़ोर्निया Re PL में विकसित की जा रही है। यह भाषा SQL से बहुत अलग है, लेकिन इसके मुख्य विचार बहुत सरल हैं। इस छोटे ट्यूटोरियल में, हमें उसके मूल सिद्धांतों को समझने के लिए Python में प्रेला का एक टॉय संस्करण बनाते हैं।

नीचे की क्वेरी हर फ़िल्म को ढूंढती है जो एक अमेरिकी कंपनी द्वारा उत्पादित की गई है और उसके शीर्षक में एक कैरेक्टर नाम होता है, फ़िल्म के शीर्षक के साथ हर कैस मंबर के लिए एलियास आउटपुट करती है। ध्यान दें कि इस्तेमाल करने वाला SQL क्वेरी 20 लाइनों से अधिक खेलता है।

प्रेला की पहली विशेष चीज़ यह है कि इसमें केवल बायनरी रिश्ते हैं, अर्थात् दो कॉलम वाली तालिकाएँ। यह पहले देखकर बहुत सीमित सा लग सकता है, लेकिन कई कॉलम वाली एक_wide तालिकां को "बायनराइज़" करना आसान है।

बायनरी रिश्तों पर ध्यान केंद्रित करने की प्रेरा यह है कि वे फ़ंक्शन को सामान्य बनाते हैं। फ़ंक्शन इसकी भावना के कारण इन्हें संलयन किया जा सकता है, जिससे वे प्रोग्रामों के निर्माण ब्लॉक्स बन जाते हैं। एक फ़ंक्शन प्रत्येक इनपुट को एक अनोखे आउटपुट में मैप करता है, जबकि एक रिश्ता एक इनपुट को कई अलग-अलग आउटपुट्स में मैप कर सकता है। किसी तरह के साथ, एक रिश्ता एक निर्धारितीकरण फ़ंक्शन के रूप में देखा जा सकता है।

लम्बाई की शक्ति वाकई तब दिखती है जब हम कई .select कॉल को मिलाते हैं। क्योंकि आउट पुल के साथ जॉइन करना साथ में हमेशा "आईडी" को एक पंक्ति के रूप में "resolve" करने की आवश्यकता होती है, प्रेला उसे स्वचालित रूप से उम्मीद करता है ताकि आप नीचे लिख सकें जो केवल "एक फ़िल्म की कंपनी का देश" के रूप में पढ़ता है!