⊗ppPmDOFR 385 of 447 menu

PHP में डेटा के पारिवारिक संबंध

मान लीजिए कि हमारे सामने पिताओं और बेटों को संग्रहीत करने का कार्य है। मान लीजिए कि प्रत्येक पिता के पास केवल एक बेटा हो सकता है, और बेटा बदले में एक बेटा भी रख सकता है।

हमें यह सोचने की जरूरत है कि हम डेटा कैसे संग्रहीत करेंगे। पहला विचार, जो दिमाग में आ सकता है - दो टेबल बनाना: parents पिताओं के लिए और sons बेटों के लिए। फिर इन टेबलों को किसी फ़ील्ड से लिंक करें: son_id या parent_id

हालाँकि, यह विचार बहुत अच्छा नहीं है - क्योंकि एक ही व्यक्ति एक साथ पिता और बेटा दोनों हो सकता है - और उसे संग्रहीत करना होगा दोनों टेबल में, और यह असुविधाजनक है, अधिक जगह लेता है और आसानी से त्रुटियों की ओर ले जाता है।

एक बेहतर विकल्प - टेबल को स्वयं से लिंक करना: हम एक टेबल users बनाते हैं, इसमें हम सभी उपयोगकर्ताओं को संग्रहीत करेंगे और प्रत्येक के लिए एक फ़ील्ड son_id बनाएंगे, जिसमें संग्रहीत किया जाएगा id इसी टेबल से बेटे का:

users
id name son_id
1 user1 2
2 user2 3
3 user3 null

क्वेरीज़

अब एक क्वेरी लिखते हैं, जो उपयोगकर्ता को उसके बेटे के साथ प्राप्त करेगी।

सबसे पहले, आइए उपयोगकर्ताओं को प्राप्त करें:

SELECT * FROM users

अब उपयोगकर्ताओं में उनके बेटों को जोड़ते हैं। जॉइन हम टेबल को स्वयं से करेंगे, इसलिए हमें इसका नाम बदलना होगा:

LEFT JOIN users as sons

अब हम मुख्य टेबल और नाम बदली हुई टेबल के बीच संबंध निर्दिष्ट कर सकते हैं:

LEFT JOIN users as sons ON sons.id=users.son_id

अब फ़ील्ड्स निर्दिष्ट करते हैं:

SELECT users.name as user_name, sons.name as son_name

अब सब कुछ एक साथ रखते हैं और निम्नलिखित क्वेरी प्राप्त करते हैं:

SELECT users.name as user_name, sons.name as son_name FROM users LEFT JOIN users as sons ON sons.id=users.son_id

व्यावहारिक कार्य

मान लीजिए कि हमारे पास श्रेणियाँ हैं। प्रत्येक श्रेणी एक मूल श्रेणी से संबंधित हो सकती है, और वह बदले में अपनी मूल श्रेणी से संबंधित हो सकती है और इसी तरह आगे भी। भंडारण संरचना का वर्णन करें।

एक क्वेरी लिखें जो श्रेणी को उसकी मूल श्रेणी के साथ प्राप्त करे।

एक क्वेरी लिखें जो श्रेणी को उसके मूल और दादा-परदादा के साथ प्राप्त करे।

एक क्वेरी लिखें जो श्रेणी को उसके मूल, दादा-परदादा और परदादा के साथ प्राप्त करे।

हिन्दी
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
हम साइट के कार्य, विश्लेषण और व्यक्तिगतकरण के लिए कुकीज़ का उपयोग करते हैं। डेटा प्रसंस्करण गोपनीयता नीति के अनुसार किया जाता है।
सभी स्वीकार करें कॉन्फ़िगर करें अस्वीकार करें