Tuesday, December 6, 2022

Class-34 (Access)

 Today we will learn: 

টেবিলের সাথে টেবিল লিংক – এক্সেস টেবিল রিলেশন – Access 20

Imran Hossain

আজকে আমরা আলোচনা করবো রিলেশনশিপ টেবিল সম্পর্কে  । অর্থাৎ একটি টেবিলের সাথে আরেকটি টেবিলের কানেকশন কিভাবে করা যায় । মাঝে মধ্যে একাধিক টেবিল নিয়ে কাজ করতে হয় এক্সেস এ ।  তা নিচের অংশে স্টেপ বাই স্টেপ দেখে নিবো ।


আমরা আগের আলোচনাতে দেখিয়েছি, শুধু মাত্র একটি টেবিলের ব্যবহার ।  আজকে শিখবো কিভাবে রিলেশনশিপের মাধ্যেমে একটি টেবিলের সাথে আরও একটি টেবিল যোগ করে রিলেশন তৈরি করে রেকড ফিল্ডার করা যায়  এ বিষয়ে। চলুন দেখে নেই ।

এক্সেস টেবিল রিলেশন তিন প্রকার

প্রথমে আমরা শিখবো অ্যাক্সেস টেবিল কিভাবে ওয়ান টু ওয়ান টেবিল রিলেশনশীপ করা যায়,

ওয়ান টু ওয়ান রিলেশনশীপ (One to One Relationship)

রিলেশনশীপ তৈরি করার জন্য আপনাকে দুইটি টেবিলের প্রয়োজন হবে । কেননা সম্পর্ক তো একজনকে দিয়ে হয় না ।  তাই অ্যাক্সেসে দুইটি টেবিল তৈরি করে নিন । তবে টেবিল দুইটি ফাঁকা রাখতে হবে । কোন প্রকার রেকড ইনপুট করা যাবে না , ডাটা থাকলেও সমস্যা হবে না । টেবিল ডিজাইন করার পর টেবিলে রেকড ইনপুট করতে পারেন । আবার রিলেশনশীপ করার জন্য অবশ্যয় প্রায়মারি কি থাকতে হবে । দুই প্রকার টেবিলে একটি কি ওয়ার্ড কমন থাকবে । যেমন, প্রথম টেবিল ফিল্ডে Data অপর টেবিল ফিল্ডে Data কি ওয়ার্ড কমন থাকবে ।

ওয়ান টু ওয়ান রিলেশনশীপ Primary key এর সাথে Primary key এর রিলেশনশীপ হবে । উপরের অংশে তো অনেক কথায় হল, এবার নিচের অংশে দেখে নেই ।

টেবিলের সাথে টেবিলের রিলেশন তৈরি করার জন্য অ্যাক্সেসে দুইটি আলাদা আলাদা টেবিল তৈরি করে নিয়েছি । ঠিক নিচের ছবিতে মতো


উপরের ছবিতে দেখুন । সেখানে আমরা দুইটি টেবিল Design করে নিয়েছি এবং দুইটি টেবিলে কমন কি ওয়ার্ড রেখেছি । আমার ক্ষেত্রে Price কি ওয়ার্ড প্রাইমারি কি ওয়ার্ড ।

এবার Price to Price কি ওয়ার্ডের সাথে রিলেশনশীপ তৈরি করবো । সেটি করার জন্য,


উপরের ছবির লাল দাগ করা Database Tools লেখা মেনুতে ক্লিক করুন । ক্লিক করার পর সেখানে  সাব-মেনু বের হবে, সেখানে Relationships লেখা দেখা যাবে । সেটিতে ক্লিক করুন । দেখবেন নিচের ছবির মতো ট্যাব ওপেন হবে ।

Show Table

উপরের ছবিতে দেখুন । দুইটি টেবিল নেম দেখা যাচ্ছে, রিলেশনশীপ তৈরি করার জন্য উপরের দুইটি টেবিল সিলেক্ট করে Add লেখা বাটনে ক্লিক করুন । দেখবেন নিচের ছবির মতো দেখা যাবে ।



উপরের Price অপশনে ভালো ভাবে লক্ষ করলে দেখবেন সেখানে চাবি আইকন দেখা যাচ্ছে, এই দুইটি মূলত প্রাইমারি কি । এই দুইটির সাথে লিংক করে দেবার জন্য Price লেখার উপর মাউস পয়েন্ট নিয়ে গিয়ে ড্রাগ করে অপর Price মেনুর উপর ছেড়ে দিন । দেখবেন নিচের ছবির মতো উইন্ডো বের হবে ।

Click to Create

এরপর উপরের ছবির নিচের দিকে তিনটি টিক দেখা যাচ্ছে, সেগুলো প্রথম অবস্থায় টিক দেওয়া থাকবে না । এবার সেগুলোতে এক এক করে টিক দিন । টিক দেওয়ার পর Create লেখা বাটনে ক্লিক করুন । দেখবেন নিচের ছবির মতো দেখা যাবে ।


উপরের ছবিতে ভালো ভাবে দেখুন । উপরের ছবিতে Price টু Price লেখার মধ্যে দাগ তৈরি হয়েছে । এইটি মূলত One টু One রিলেশনশিপ ।

এবার ডেটাবেস থেকে Table ওপেন করুন ।



টেবিল ওপেন করার পর টেবিলে ডাটা অ্যাড করুন । টেবিলে প্রথম লাইনে ডাটা যোগ করার পর পরের লাইনে গেলে উপরের ছবির লাল মার্ক করা অংশে (+) আইকন দেখা যাবে, সেটিতে ক্লিক করুন । ক্লিক করার পর সেখানে দ্বিতীয় টেবিল চলে আসবে । এবার একসাথে দুটিতে ডাটা অ্যাড করতে পারেন । উপরের ছবিতে ভালো ভাবে দেখলে বুঝা যাবে । আমার ক্ষেত্রে আগেই ক্লিক করেছি ।

ওয়ান টু মেনি রিলেশনশীপ (One to Many Relationships):

উপরের অংশে দেখে নিলাম কিভাবে ওয়ান টু ওয়ান রিলেশনশীপ তৈরি করা যায় । এবার দেখাবো কিভাবে ওয়ান টু মেনি কানেকশন তৈরি করা যায় । চলুন তাহলে নিচের অংশে দেখে নেই ।

ওয়ান টু মেনি রিলেশনশীপ বলতে, একটি ওয়ার্ড সাথে অন্য যেকোন ওয়ার্ডের কানেকশন তৈরি করা । যেমন হতে পারে, Roll এর সাথে form,Product-Q কিংবা Case এর মধ্যে । নিচের অংশে ধাপে ধাপে দেখে নেই ,

টেবিলের মধ্যে কানেকশন তৈরি করার জন্য দুইটি টেবিল তৈরি করে নিন । ঠিক প্রথম অংশের নিয়ম অনুসারে 


উপরের ছবিতে দেখুন । সেটিতে ভিন্ন ভিন্ন টেবিল ডিজাইন করা হয়েছে , একটির সাথে আরেক টার মিল নেই । এবার আমরা একটির সাথে আরেকটির কানেকশন তৈরি করে নিবো ।


সেটি করার জন্য উপরের ছবির লাল দাগ করা Database Tools টু Relationships লেখাতে ক্লিক করেল নিচের ছবির মতো পেজ বের হবে ।

Show Table

এবার সেখানে দুইটি টেবিলের নাম দেখা যাবে, সেই টেবিল দুইটি অ্যাড করুন । অ্যাড করলে নিচের ছবির মতো চলে আসবে ।



Roll প্রাইমারি কি সাথে Table-Name2 এর সাথে কানেকশন তৈরি করবো । সেটি করার জন্য Roll কি থেকে Case কি তে ড্রাগ করে এনে ছেড়ে দিন । ছেড়ে দেওয়ার পর নিচের ছবির মতো পেজ বের হবে ।



Roll অংশে One দেখা যাচ্ছে এবং পরের অংশে Case অন্য কিছু অ্যাড হয়েছে । এই হলো মেনি রিলেশনশীপ । উপরের অংশে ওয়ান টু ওয়ান রিলেশনশীপের নিয়ম অনুযায়ী ডাটা যোগ করতে পারেন দুই টেবিলেই ।

মেনি টু মেনি রিলেশনশীপ (Many to Many Relationships)

অনেক সময় ওয়ান টু মেনি রিলেশনশিপ অপশন ব্যবহার করে সব ধরনের টেবিলের সাথে টেবিল যুক্ত করা নাও যেতে পারে , সেক্ষেত্রে Many to Many রিলেশনশিপ তৈরি করে আমরা ডেটাবেসে একাধিক টেবিল এর সাথে সংযগ করতে পারি । যেমন ধরুন,  তিনটি টেবিলের ফিল্ডের মধ্যে একাধিক রেকর্ডের মিল থাকে, তখন তাকে মেনি টু মেনি রিলেশন বলে । এক্ষেত্রে Table1 এর কোন রেকর্ডের বিপরীতে Table2 এর একাধিক ম্যাচিং রেকর্ড থাকতে পারে । আবার Table2 এর বিপরীতে Table1 এর একাধিক ম্যাচিং রেকর্ড থাকতে পারে ।

রিলেশনশীপ করতে চাইলে, ৩য় একটি টেবিল তৈরি করার প্রয়োজন পড়বে ।  তৃতীয় এই টেবিলকে জাংশন (Junction) টেবিল বলা হয়ে থাকে । জাংশান টেবিলে উভয় ডাটা টেবিলের প্রাইমারি কী নিয়ে ফিল্ড তৈরি করতে হবে । মেনি টু মেনি রিলেশনশীপ মেনি টু ওয়ান টেবিলের মতোই ।

উপরের ওয়ান টু ওয়ান এবং ওয়ান টু মেনি রিলেশনশিপ টেবিল তৈরি করার নিয়ম অনুসারে মেনি টু মেনি রিলশনশিপ টেবিল তৈরি করে নিবো ।

নিচের ছবির মতো টেবিল তৈরি নেমগুলো শো করে নিন ।

উপরের Relationships টেবিল গুলো ভালো ভাবে দেখুন ।  উপরের রিলেশনশিপ টেবিল আইটেম দেখুন । এবার আমরা Order1 টেবিলের সাথে Order2 টেবিলের রিলেশন তৈরি করবো । সেটি করার জন্য মাউস পয়েন্টার সাহায্যে ড্রাগ করে কমন টেবিল ফিল্ডের উপর ছেড়ে দিন । দেওয়ার পর নিচের ছবির মতো বক্স বের হবে ।

Edit Relationships Table

উপরের ছবিতে দেখুন ।  সেখানে One To Many রিলেশনশিপ দেখা যাচ্ছে । আমরা One To Many রিলেশনশীপ দিয়ে Many To Many রিলেশনশীপ তৈরি করে করবো ।

উপরের ছবির নিচের অপশনগুলো টিক দিয়ে Create লেখা বাটনে ক্লিক করুন । একই নিয়ম পরের টেবিলের সাথে রিলেশনশীপ তৈরি করে নিন। ঠিক নিচের ছবির মতো ।



উপরের ছবিতে দেখুন । সেখানে একে আরেকটি টেবিলের সাথে সংযোগ তৈরি হয়েছে । এবার এক টেবিল থেকে অন্য টেবিলেও ডাটা অ্যাড করতে পারবেন ।


উপরের ছবিতে দেখুন । প্রথমে একটি টেবিল করে নিয়ে তাতে ডাটা ইনপুট করার পর পরের রো তে আসতে গেলে উপরের ছবির বাম পাশের লাল দাগ করা অংশে + চিহ্ন দেখা যাবে । সেটি ক্লিক করলে আরও একটি টেবিল বের হবে । এই ভাবে আপনি একধিক টেবিল এর সাথে রিলেশনশীপ তৈরি করে নিয়ে আপনি ডাটা ইনপুট করতে পারেন খুব সহজে ।

No comments:

Post a Comment