এক্সেস টেবিল রিলেশনের বিভিন্ন পদ্ধতি - Graphic School

Blog

এক্সেস টেবিল রিলেশনের বিভিন্ন পদ্ধতি

ডাটা ম্যানেজমেন্টের ক্ষেত্রে এক্সেস টেবিল রিলেশন করা অত্যাবশ্যক। একটি ডাটাবেজে একাধিক টেবিল থাকতেই পারে। আর দুটি টেবিলের কমন ফিল্ডের উপর ভিত্তি করে সম্পর্ক স্থাপন করাকেই রিলেশনশিপ বলে। যে ডাটাবেজের টেবিলের মধ্যে রিলেশন থাকে সে ডাটাবেজকে রিলেশনাল ডাটাবেজ বলা হয়। রিলেশনকৃত টেবিলের মধ্যে থেকে খুব সহজে ডাটা ব্যবস্থাপনার কাজ সম্পাদন করা যায়।

অর্থাৎ ডাটাবেজকে ভেঙ্গে একাধিক ডাটা টেবিল তৈরি করে রিলেশনশিপের মাধ্যমে ডাটা নিয়ে কাজ করা যায়। ১৯৬৯ সালে Edgar Frank Codd সর্বপ্রথম রিলেশনশিপ পদ্ধতি প্রবর্তন করেন। Edgar Frank Codd ১৯ আগস্ট ১৯২৩ সালে Fortuneswell, Dorset, England এ জন্মগ্রহণ করেন এবং ১৮ এপ্রিল ২০০৩ সালে Florida, USA মৃত্যুবরণ করেন।

টেবিলদ্বয়ের ভিতর রিলেশন তৈরি করার শর্ত

দুটি টেবিলের মধ্যে রিলেশনশিপ তৈরি করতে হলে নূন্যতম নিচের শর্তগুলো পূরণ করতে হবে:

  • টেবিল দুটির মধ্যে নূন্যতম একটি কমন ফিল্ড থাকতে হবে। কমন ফিল্ডের নাম ও ডাটা টাইপ এবং ফিল্ড সাইজ একই থাকতে হবে।
  • যে কোন একটি টেবিলের একটি ফিল্ড প্রাইমারি কী দ্বারা সনাক্ত করতে হবে। অর্থাৎ প্রাইমারি কী দ্বারা সনাক্তকৃত ফিল্ডের তথ্য ইউনিক হতে হবে।
  • উভয় টেবিল একই সময় ওপেন করা থাকতে হবে।

টেবিল রিলেশনের প্রকারভেদ

একাধিক ডাটা টেবিলের মধ্যে নিম্নলিখিত ৩টি পদ্ধতিতে রিলেশন তৈরি করা যায়। যথা-

  • One-to-one রিলেশন
  • One-to-many রিলেশন
  • Many-to-many রিলেশন

One-to-one রিলেশন: কোন ডাটাবেজের একটি টেবিলের একটি রেকর্ডের সাথে অন্য টেবিলের শুধুমাত্র একটি রেকর্ডের সাথে সম্পর্ক স্থাপন করা হয়, তাকে One-to-one রিলেশনশিপ বলে। যখন কোন ডাটাবেজকে ভেঙ্গে একাধিক ডাটাটেবিলে সংরক্ষণ করা হয় তখন One-to-one রিলেশন থাকা জরুরী।

ধরুন, কোন প্রতিষ্ঠানের কর্মচারীর নাম, ঠিকানা, পদবি ইত্যাদি একটি ডাটা টেবিলে এবং তাদের বেতন সংক্রান্ত তথ্যাবলি অন্য ডাটা টেবিলে সংরক্ষণ করা যায়। এক্ষেত্রে দুটি ডাটা টেবিলের মধ্যে একটি কমন ফিল্ডের ওপর ভিত্তি করে One-to-one রিলেশনশিপ তৈরি করা হয়।

একটি বিষয় লক্ষ্য রাখতে হবে, এক্ষেত্রে দু‘টি টেবিলের যে ফিল্ডের সাথে রিলেশন তৈরি করতে চান ফিল্ড দু‘টিকে অবশ্যই প্রাইমারি কী দ্বারা ডিফাইন করতে হবে।

হাতে কলমে One-to-one রিলেশন

নিচের মত দু‘টি টেবিল তৈরি করুন।

টেবিলের নাম: Employee Information

টেবিলের নাম: Employee Salary

  • Database Tools ট্যাব হতে Relationship প্যানেল বা গ্রুপ হতে Relationship ক্লিক করুন।

  • এবারে প্রয়োজনীয় টেবিল Add করুন। এক্ষেত্রে আমরা Employee Information ও Employee Salary টেবিল দুটি Add করেছি।

লক্ষ্য করুন টেবিল দু‘টির মধ্যে Emp_ID ফিল্ডটি কমন এবং প্রাইমারি কী দ্বারা ডিফাইন করা হয়েছে।

  • এবারে Employee Information টেবিলের Emp_ID ফিল্ডটি ড্রাগ করে Employee Salary টেবিলের Emp_ID ফিল্ডের উপর ছেড়ে দিন।

  • প্রদর্শিত Edit Relationship এর ডায়ালগ বক্স এর লাল চিহ্নিত স্থানের অপশনগুলি ক্লিক করে Create ক্লিক করুন।

হয়ে গেল One-to-one রিলেশনশিপ। এবারে টেবিল দু‘টির মধ্যে রেকর্ড ইনপুট করুন। সাধারণত টেবিলসমূহের মধ্যে রিলেশনশিপ তৈরি করার পর ডাটা ইনপুট করতে হয়।

One-to-Many রিলেশনঃ কোন ডাটাবেজের একটি টেবিলের একটি রেকর্ডের সাথে অন্য টেবিলের একাধিক রেকর্ডের সাথে সম্পর্ক স্থাপন করা হয়, তাকে One-to-Many রিলেশনশিপ বলে। টেবিল রিলেশনের ক্ষেত্রে এটি বহুল ব্যবহৃত রিলেশন পদ্ধতি।

ধরুন, কোন প্রতিষ্ঠানে বিভিন্ন সরবরাহকারী বিভিন্ন পণ্য সরবরাহ করে থাকে। এজন্য সরবরাহকারীর বিভিন্ন তথ্য সংরক্ষণের জন্য একটি টেবিল এবং পণ্য সংক্রান্ত তথ্য সংরক্ষণের জন্য একটি টেবিল তৈরি করা আছে।

হাতে কলমে One-to-Many রিলেশন

এজন্য নিচের মত প্রাইমারি কী সম্বলিত দু‘টি টেবিল তৈরি করুন।

টেবিলের নাম: Suppliers Information

টেবিলের নাম: Suppliers Orders

  • Database Tools ট্যাব হতে Relationship প্যানেল বা গ্রুপ হতে Relationship ক্লিক করুন।
  • এবারে প্রয়োজনীয় টেবিল Add করুন। এক্ষেত্রে আমরা Customer ও Order টেবিল দুটি Add করেছি।

লক্ষ্য করুন টেবিল দু‘টির মধ্যে Cust_ID ফিল্ডটি কমন এবং প্রাইমারি কী দ্বারা ডিফাইন করা হয়েছে। এবারে Customer টেবিলের Emp_ID ফিল্ডটি ড্রাগ করে Order টেবিলের Emp_ID ফিল্ডের উপর ছেড়ে দিন।

  • প্রদর্শিত Edit Relation এর ডায়ালগ বক্স হতে শুধুমাত্র Enforce Referential Integrity ক্লিক করে Create ক্রিক করুন।

হয়ে গেল One-to-Many রিলেশনশিপ।

হাতে কলমে Many-to-Many রিলেশন

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

নোট: Field Name এর পাশে (PK) দ্বারা Primary Key বোঝানো হয়েছে। অর্থাৎ ঐ সমস্ত ফিল্ডকে Primary Key দ্বারা ডিফাইন করুন।

 

টেবিলের নাম: Customers

 

Field NameData Type
CustomerID (PK)AutoNumber
CustomerNameShortText
CustomerAddressShortText
DateCreatedDate&Time
CellNumberShortText

 

টেবিলের নাম: Products

 

Field NameData Type
ProductID (PK)AutoNumber
Product NameShortText
PriceShortText
Date CreatedDate&Time

 

টেবিলের নাম: Orders

 

Field NameData Type
OrderID (PK)AutoNumber
CustomerIDShortText
ProductIDShortText
DateCreatedDate&Time

 

তাহলে ঝটপট তৈরি করে ফেলুন উপরের ৩টি টেবিল এবং প্রতিটি টেবিল কিছু রেকর্ড ইনপুট করুন।

এবারে ৩টি টেবিলের মধ্যে রিলেশনশিপ তৈরি করার জন্য নিম্নরূপ পদক্ষেপ গ্রহণ করুন।

  • ট্যাববার হতে Database Tools ট্যাব ক্লিক করুন।
  • Relationships গ্রুপ বা প্যানেল হতে Relationships ক্লিক করুন।
  • কীবোর্ডের Shift কী চেপে ধরে ৩টি টেবিল সিলেক্ট করুন।
  • Add বাটন ক্লিক করুন।
  • Close বাটন ক্লিক করে Show Table ডায়ালগ বক্সটি বন্ধ করুন।

লক্ষ্য করুন, সিলেক্টকৃত ৩টি টেবিল Relationships উইন্ডোতে প্রদর্শিত হয়েছে।

এবারে রিলেশন করার পালাঃ

উপরের চিত্রে লক্ষ্য করুন, Customers এবং Orders দুটি টেবিলের মধ্যে CustomerID নামে একই ফিল্ড নেম ও ডাটা টাইপের ফিল্ড রয়েছে। এছাড়াও Orders এবং Products টেবিলদ্বয়ের মধ্যে ProductID নামে একই ফিল্ড নেম ও ডাটা টাইপের ফিল্ড রয়েছে।

এক্ষেত্রে আমরা Customers এবং Orders দুটি টেবিলের মধ্যে এবং Orders এবং Products টেবিলদ্বয়ের মধ্যে রিশেনশিপ তৈরি করবো।

  • Relationships উইন্ডোতে অবস্থিত Customers টেবিলের CustomerID ফিল্ডটিকে মাউস দ্বারা ড্রাগ করে Orders টেবিলের CustomerID ফিল্ডের উপর ছেড়ে দিন।

  • নিচের মত উইন্ডো প্রদর্শিত হবে।

  • প্রদর্শিত উইন্ডো হতে Enforce Referential Integrityএর চেকবক্স ক্লিক করে Create বাটন ক্লিক করুন।

দেখুন টেবিল দু‘টির মধ্যে রিলেশন তৈরি হয়ে গেছে এবং একটি বক্র রেখা দ্বারা তা প্রদর্শিত হচ্ছে।

  • এবারে উপরের ধাপ অনুসরণ করে Orders এবং Products টেবিলদ্বয়ের মধ্যে ProductID ফিল্ডের মধ্যে রিলেশনশিপ তৈরি করুন।

অবশেষে ৩টি টেবিলের মধ্যে ২টি রিলেশনশিপ নিম্নের চিত্রের মতো প্রদর্শিত হবে।

রিলেশনশিপ এডিট করা

  • রিলেশনশিপ উইন্ডো ওপেন করুন এবং রিলেশন বারের উপর মাউসের রাইট বাটন ক্লিক করে Edit Relation ক্লিক করুন।

  • এবারে প্রয়োজনীয় অপশন নির্ধারণ করে Ok ক্লিক করুন।

রিলেশনশিপ মুছে ফেলা

  • রিলেশনশিপ উইন্ডো ওপেন করুন।
  • যে রিলেশন ডিলিট করতে চান তার উপর মাউসের রাইট বাটন ক্লিক করে Edit Relation ক্লিক করুন।

  • প্রদর্শিত উইন্ডো হতে Yes ক্লিক করুন।

টেবিল রিলেশনশিপের সুবিধা কি?

যে কোন রিলেশনাল ডাটাবেজ (RDBMS) এর জন্য রিলেশনশিপই হলো মূল ভিত্তি।

ডাটাবেজ ডিজাইন করার জন্য রিলেশনশিপ একটি শক্তিশালি ‍টুলস হিসেবে ব্যবহৃত হয়।

এখানে ডাটাবেজ ডিজাইনের ক্ষেত্রে গুরুত্বপূর্ণ সুবিধাসমূহ বর্ণিত হলো:

  • প্রয়োজনের তুলনায় কম জায়গা লাগে।
  • ডাটা অখন্ডতা বজায় রাখতে সহায়তা করে থাকে।
  • ব্যবহারকারীদের জন্য ব্যবহারযোগ্যতা বৃদ্ধিতে সহায়তা করে।
  • সহজে ডাটা রক্ষনাবেক্ষণ করা যায়।
  • নিরাপত্তার ক্ষেত্রে সহায়তা করে।
  • ডাটাবেজের কর্মক্ষমতা প্রসারণ বা সম্প্রসারণের ক্ষেত্রে সহায়তা করে থাকে।

প্রাইমারি কী (Primary Key) কি?

একাধিক টেবিলের মধ্যে রিলেশন তৈরি করার জন্য প্রাইমারি কী দ্বারা টেবিলের ফিল্ডকে ডিফাইন করতে হয়। টেবিলের ফিল্ডকে প্রাইমারি কী দ্বারা নির্ধারণ করা হলে ঐ ফিল্ডে কোন ডুপ্লিকেট ডাটা টাইপ করা যাবে না এবং ঐ ফিল্ডটিকে খালি (Null) রাখা যাবে না।

ব্যাপারটা খুব সহজ মনে হলো তাইনা? মনে হওয়ারই কথা। আমাদের এই রকম আকর্ষণীয় ব্লগ পড়তে গ্রাফিক স্কুলের ওয়েব সাইট ভিজিট করুন।

সবাইকে ধন্যবাদ জানিয়ে এখানেই শেষ করছি, আসসালামু আলাইকুম।

লিখেছেন,

মোঃ রিয়াদ আহম্মেদ

Facebook Comment