চলুন শিখি DBMS Relational Algebra এর ক খ গ ঘ পর্ব ১
আমরা যখন সিএসই বা রিলেটেড সাবজেক্টে ইঞ্জিনিয়ারিং/অনার্স করি তখন আমাদের যেকোন একটি সেমিস্টারে অবশ্যই “DBMS” বা ডাটাবেজের কোন না কোন কোর্স থাকে। তো এই কোর্সের অন্যতম গুরত্বপূর্ন একটি টপিক হলো “ Relational Algebra” ।
নামেই বুঝা গেল এখানে কিছু হিসেব নিকেশ রয়েছে। তবে কিসের? উত্তরঃ রিলেশনের ! এক্ষেত্রে রিলেশন মানে বুঝানো হয়েছে বিভিন্ন রকম ডাটার মধ্যের সম্পর্ক।
সাধারনত রিলেশনাল এলজেব্রাতে কিছু অপারেশনস/কাজ করা হয়। ৬ টি অপারেটর এর মাধ্যমে সাধারনত আমরা এই কাজগুলো/ অপারেশনস করে থাকি।যথাক্রমেঃ
১) select (unary)ঃ ইনি সাধারনত একটি রিলেশনে প্রেডিকেট(শর্ত) মিলে গেলে সকল টাপল (ROW বা সারি) টেনে নিয়ে আসেন। একে গ্রিক লেটার সিগমা দ্বারা প্রকাশ করা হয় [σ] । আমরা উদাহারণ দেখলেই বুঝতে পারব।
২)project (unary)ঃ ইনিও একটি মাত্র রিলেশন এর প্রেডিকেট (শর্ত) মিলে গেলে কলাম ধরে টেনে আনে! একে ( ∏ ) দ্বারা প্রকাশ করা হয়।
৩) union (unary)ঃ ইউনিয়ন মহাশয় দুটো সম্পর্কের মাঝে যেসব টাপল প্রথমটার কমন এবং আনকমন তাদের নিয়ে হাজির হন। সেট এর অংকে আমরা (U) দিয়ে ইউনিয়ন বুঝতাম এখানেও একই বুঝায়।
৪) set-difference (binary)ঃ এখানে প্রথম রিলেশন থেকে দ্বিতীয় রিলেশনে যেসব ব্যাপার কমন তাহা বাদ দেয়া হয়। (-) মাইনাস দিয়ে এর পরিচিতি লাভ করেছে।
৫) Cartesian product (binary)ঃ দুটো আলাদা রিলেশন এর মধ্যে সংযোগ ঘটিয়ে তৃতীয় একটি সম্পর্ক তৈরী করাই এর কাজ। (X) দ্বারা প্রকাশিত হয়।
৬) rename (unary)ঃ একটি সম্পর্কের নতুন নাম দেয়াই হচ্ছে রিনেম অপারেটর এর কাজ ! গ্রিক লেটার রোহ ( ρ ) দ্বারা প্রকাশ করা হয়।
একটা প্রশ্ন আসতেই পারে এই Unary বা Binary মানে কি? ধরুন আপনার মোবাইল একটি সিম সাপোর্ট করল তবে সেটা ইউনারি ফোন আর দুটো সাপোর্ট করলে সেটা বাইনারি ফোন! যদিও এক্সাক্টিলি এমন না এখানে বাট যেসব অপারেটর একটা মাত্র ইনপুট নিয়ে কাজ করে তাদের পাশে ইউনারি লিখা আর যারা দুটো ইনপুট নিয়ে কাজ করে তাদের পাশে ব্র্যাকেটে বাইনারি লিখা।
এই রিলেশন শব্দটাকে যদি আমরা ডাটাবেজের টেবিল ভাবি তাহলে আমাদের জন্য বুঝতে সুবিধা হবে।
চলুন দেখে নেই কিছু উদাহারনঃ
এখানে প্রেডিকেট বা শর্তে বলা হলো যাদের স্যালারি ৪০০০০ এর বেশি তাদের টাপল (সারি/Row) গুলো দেখাও। আমাদের সিলেক্ট অপারেটর তাই করে দেখালো। তো উদাহারণ থেকে এর বেসিক সিনট্যাক্স বুঝা গেল। σ Predicate (Relation) ।
এবার চলুন দেখি প্রজেক্ট এর কাজ ।
এখানে প্রেডিকেটে বলা হলো Name,Salary অর্থাৎ তিনটি কলাম থেকে দুইটি কলাম এখানে নেয়া হলো আর ID কলামটি বাদ দেয়া হলো।
এতোক্ষনে আমরা বুঝে গেলাম সিলেক্ট ROW নিয়ে কাজ করে, আর প্রজেক্ট Column নিয়ে কাজ করে বা ফিল্টার করে ।
এখানে খেয়াল করে দেখুন আগের এক্সাম্পলে কিন্তু দুইটি কলাম তিনটি রো ছিল তবে এখানে একটি রো বাদ গেল! এর কারণ প্রজেক্ট প্রথমে কলাম ফিল্টার করে, তারপর ডুপ্লিকেট রো ফিল্টার করে। ID = 5423345 এর দুটো রেকোর্ড ছিল তাই একটি বাদ গেল। এটাও প্রজেক্টের অনন্য একটি বৈশিষ্ট্য।
আজ এ পর্যন্তই আগামীতে বাকি ৪ টি অপারেশনের এক্সাম্পল দেয়া হবে। আর একটা ভিডিও শেয়ার করা হবে যাতে কিছু সমস্যার সমাধান করা হবে রিলেশনাল এলজেব্রা রিলেটেড।
শেয়ার করুন। ধন্যবাদ।