এক্সেসে টেবিল তৈরি করার বিভিন্ন পদ্ধতি
এক্সেসে টেবিল তৈরি করার পদ্ধতি সম্পর্কে অবগত হওয়াটা খুবই জরুরী। আপনি যখন এক্সেসে নতুন ডেটাবেজ তৈরি করবেন তখন স্বয়ংক্রিয়ভাবে একটি টেবিল তৈরি করা থাকে। ইচ্ছে করলে এই টেবিল কাস্টমাইজ করে সংরক্ষণ করতে পারেন এবং নতুন টেবিলও তৈরি করতে পারবেন।
এ টিউনে প্রথমে আমরা ডিফল্ট অবস্থায় থাকা টেবিলটি কাস্টমাইজ করবো এবং পরবর্তীতে নতুন আরেকটি টেবিল তৈরি করবো।
ধাপ ১ : নতুন ফিল্ডের জন্য ডেটা টাইপ নির্ধারণ করা
Click to Add এর উপর রাইট-ক্লিক করুন অথবা, ডাউন-এ্যারো কী ক্লিক করুন। এবারে কম্বো বক্স হতে Short Text সিলেক্ট করুন।
প্রয়োজনে এই কম্বো বক্স হতে ভিন্ন ডেটা টাইপ নির্ধারণ করতে পারেন।
এখানে একটি মনে রাখতে হবে যে ফিল্ডে যে ডেটা টাইপ সিলক্ট করা হবে সেই ফিল্ডে ঐ জাতীয় ডাটাই ইনপুট করা যাবে। এক্ষেত্রে উদাহরণে আমরা Short Text নির্ধারণ করেছি। ফলে কোন উইজার যদি ভিন্ন ডেটা টাইপ ইনপুট করতে চায় তবে একটি এ্যারোর ম্যাসেজ প্রদর্শিত হবে।
ধাপ ২ : ফিল্ডের নাম দেওয়া
- আপনি যখন কোন ফিল্ডের জন্য ডেটা টাইপ নির্ধারণ করবেন তখন ফিল্ড হেডার Field1 লেখা সিলেক্টেড অবস্থায় প্রদর্শিত হবে।
- ফিল্ডের নাম হিসেবে CustomerName টাইপ করুন এবং Enter চাপুন।
নোট: ফিল্ড হেডার ডাবল ক্লিক করেও ফিল্ড নেম পরিবর্তন করতে পারবেন।
এবারে আমরা প্রথম ফিল্ডটি রিনেম করবো। এজন্য কলাম হেডারের উপর ডাবল ক্লিক করুন এবং CustomerID টাইপ করে এন্টার চাপুন।
অথবা, ফিল্ড হেডারের উপর মাউসের রাইট বাটন ক্লিক করে Rename Field ক্লিক। এবারে প্রয়োজনীয় নাম টাইপ করে Enter চাপুন।
ধাপ ৩ : টেবিলটি সংরক্ষণ করা
- Table1 এর রাইট-ক্লিক করে এবং Save ক্লিক করুন।
- টেবিলের নাম হিসেবে Customers টাইপ করুন এবং Enter চাপুন অথবা, Ok ক্লিক করুন।
অথবা, কুইক একসেস টুলবারের Save বাটন ক্লিক করুন এবং উপরের নিয়ম অনুসরণ করুন।
লক্ষ্য করুন নেভিগেশন প্যানে এইমাত্র তৈরি করা দুইটি ফিল্ড সম্বলিত টেবিলটি প্রদর্শিত হচ্ছে।
নতুন টেবিল তৈরি করা
এবারে আমরা নতুন আরেকটি টেবিল তৈরি করবো। টেবিলটি কাস্টমারের পণ্যের হিসাব সংরক্ষিত হবে সেজন্য টেবিলটির নাম Products রাখবো।
ধাপ: ১
- রিবন হতে Create ট্যাব ক্লিক করে Table ক্লিক করুন।
- পূর্বের মত Table1 নামের আরেকটি টেবিল ডেটাবেজে যুক্ত হয়েছে।
ধাপ: ২
পূর্বের নিয়মে রাইট-ক্লিক করে ৪টি নতুন ফিল্ড তৈরি করুন। এবং পর্যায়ক্রমে নিচের ছকের মত ডেটা টাইপ নির্ধারণ করুন।
ফিল্ডের নাম | ডেটা টাইপ |
ProductID | (Leave it as is) |
ProductName | Short Text |
PurchaseDate | Date & Time |
ProductRate | Currency |
ProductQty | Number |
টেবিলের নাম পরিবর্তন করা
- নেভিগেশন প্যানের অবস্থিত টেবিলের নামের উপর রাইট বাটন ক্লিক করে Rename ক্লিক করুন।
- প্রয়োজনীয় নাম টাইপ করে Enter চাপুন।
এক্সেস টেবিল রিলেশন করার বিভিন্ন পদ্ধতি
ডাটা ম্যানেজমেন্টের ক্ষেত্রে এক্সেস টেবিল রিলেশন করা অত্যাবশ্যক। একটি ডেটাবেজে একাধিক টেবিল থাকতেই পারে। আর দুটি টেবিলের কমন ফিল্ডের উপর ভিত্তি করে সম্পর্ক স্থাপন করাকেই রিলেশনশিপ বলে। যে ডেটাবেজের টেবিলের মধ্যে রিলেশন থাকে সে ডেটাবেজকে রিলেশনাল ডেটাবেজ বলা হয়। রিলেশনকৃত টেবিলের মধ্যে থেকে খুব সহজে ডেটা ব্যবস্থাপনার কাজ সম্পাদন করা যায়।
অর্থাৎ ডেটাবেজকে ভেঙ্গে একাধিক ডেটা টেবিল তৈরি করে রিলেশনশিপের মাধ্যমে ডেটা নিয়ে কাজ করা যায়। ১৯৬৯ সালে 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 Name | Data Type |
CustomerID (PK) | AutoNumber |
CustomerName | ShortText |
CustomerAddress | ShortText |
DateCreated | Date&Time |
CellNumber | ShortText |
টেবিলের নাম: Products
Field Name | Data Type |
ProductID (PK) | AutoNumber |
Product Name | ShortText |
Price | ShortText |
Date Created | Date&Time |
টেবিলের নাম: Orders
Field Name | Data Type |
OrderID (PK) | AutoNumber |
CustomerID | ShortText |
ProductID | ShortText |
DateCreated | Date&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) রাখা যাবে না।