डेटाबेस में केवल एक पंक्ति के साथ तालिका रखने में बिंदु (यदि कोई है) क्या है?
एक रिलेशनल डेटाबेस चीजों को संबंधों के रूप में संग्रहीत करता है: डेटा के एक tuples कुछ संबंध संतुष्ट।
पसंद है, यह एक: " यह कई प्रतिशत मेरे देश में अब प्रभावी है"।
यदि केवल एक टुपल इस संबंध को संतुष्ट करता है, तो हाँ, यह तालिका में केवल एक ही होगा।
SQL
चर को स्टोर नहीं कर सकता: यह 1
तत्व युक्त एक सेट स्टोर कर सकता है, यह एक पंक्ति वाली तालिका है।
इसके अलावा, SQL
एक सेट आधारित भाषा है, और कुछ परिचालनों के लिए आपको निरंतर अभिव्यक्ति का चयन करने के लिए केवल एक पंक्ति का नकली सेट चाहिए।
Oracle
में आप कुछ भी नहीं SELECT
नहीं कर सकते हैं, तो आपको FROM
खंड की आवश्यकता है।
Oracle
में एक छद्म, dual
है, जिसमें केवल एक पंक्ति और केवल एक कॉलम है।
एक बार, बहुत समय पहले, यह दो पंक्तियों (इसलिए नाम dual
) किया करते थे, लेकिन संस्करण 7
की राह पर कहीं न कहीं अपनी दूसरी पंक्ति खो दिया है।
MySQL
में यह छद्म भी है, लेकिन MySQL
FROM
खंड के बिना चयन करने में सक्षम है। फिर भी, यह उपयोगी है जब आप एक खाली rowset की जरूरत है: SELECT 1 FROM dual WHERE NULL
मैं बस कुछ कोड मैं तीन अलग-अलग टेबल कि प्रमाण पत्र के तीन अलग अलग प्रकार के होते हैं की समीक्षा कर रहा हूँ में मनाया गया है (एक ला SSL
), प्रत्येक ठीक एक होने पंक्ति। मुझे समझ में नहीं आता कि यह एक बड़ी मेज में क्यों नहीं बनाया गया है; मुझे लगता है कि मुझे कुछ याद आ रहा है। यदि कोई हो प्रमाण पत्र याद आ रही है, पूरे क्वेरी कुछ भी नहीं देता है, तो
SELECT *
FROM ssl1
CROSS JOIN
ssl2
CROSS JOIN
ssl3
:
यह एक तरह का परिदृश्य, जब सभी तीन प्रमाण पत्र एक ही बार में की जरूरत है हो सकता है "यह सब है या खो" ।
का उपयोग कर सकता हूं यदि आप कर सकते हैं, तो डेवलपर को व्यक्तिगत रूप से स्पष्टीकरण के लिए क्यों न पूछें? – Juliet
इसके अलावा, क्या यह 'प्रोग्रामिंग गंध' का कारण नहीं है? चूंकि डेटाबेस में कोई तंत्र नहीं है जिसका उपयोग आप एक पंक्ति के साथ तालिका निर्दिष्ट करने के लिए कर सकते हैं, क्या तालिका में दो तत्वों को गलती से रखना संभव होगा और बाद में पूछे जाने पर गलत डेटा का उपयोग करना संभव होगा? –
@ जेरेमी: आप 1 आरडीबीएम में सबसे अधिक आरडीबीएम में तंत्र का दुरुपयोग कर सकते हैं ताकि एक प्राथमिक कुंजी (या अनन्य कुंजी) कॉलम को परिभाषित किया जा सके, और उसके बाद उसी कॉलम पर एक चेक बाधा भी जोड़ दी जा सके जो केवल एक मान की अनुमति दे। यह सुखद नहीं है, हालांकि –