⊗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çaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
আমরা সাইট পরিচালনা, বিশ্লেষণ এবং ব্যক্তিগতকরণের জন্য কুকি ব্যবহার করি। ডেটা প্রক্রিয়াকরণ গোপনীয়তা নীতি অনুযায়ী করা হয়।
সব গ্রহণ করুন কনফিগার করুন প্রত্যাখ্যান করুন