ষষ্ঠ অধ্যায় পাঠ-৭: ডেটাবেজ মডেল এবং বিভিন্ন প্রকার কী ফিল্ড।
এই পাঠ শেষে যা যা শিখতে পারবে-
- ১। বিভিন্ন ডেটাবেজ মডেল ব্যাখ্যা করতে পারবে।
- ২। ডেটাবেজ টেবিলের বিভিন্ন কী ফিল্ড (Candidate key, Primary key, Composite primary key and Foreign key) ব্যাখ্যা করতে পারবে।
ডেটাবেজ মডেল: ডেটাবেজ মডেল ডেটাবেজের লজিক্যাল ডিজাইন এবং স্ট্রাকচার নির্ধারণ করে এবং কোন ডেটাবেজ ম্যানেজমেন্ট সিস্টেমে কীভাবে তথ্য সংরক্ষণ, অ্যাক্সেস এবং আপডেট করা হবে তা নির্ধারণ করে। বিভিন্ন ধরণের ডেটাবেজ মডেলঃ
- ১। লিনিয়ার মডেল
- ২। ER(Entity Relationship) মডেল
- ৩। রিলেশনাল মডেল
- ৪। হায়ারার্কিক্যাল মডেল
- ৫। নেটওয়ার্ক মডেল
- ৬। অবজেক্ট ওরিয়েন্টেড ডেটাবেজ মডেল
Entity Relationship মডেল: ER মডেল হলো এমন একটি মডেল যা ডেটার মধ্যে সম্পর্ক উপস্থাপন এবং ডিজাইনের জন্য ব্যবহৃত হয়। এই ডেটাবেজ মডেলে, অবজেক্টকে এন্টিটি এবং এর বৈশিষ্ট্যকে অ্যাট্রিবিউটে ভাগ করে রিলেশনশিপ তৈরি করা হয়। ER মডেলটি বুঝার জন্য নিচের টার্মগুলো ভালোভাবে জানতে হবে।
- এনটিটি এবং এনটিটি সেট
- অ্যাট্রিবিউট এবং এর ধরণ
- কী বা কী ফিল্ড
- রিলেশনশিপ
এনটিটি/রেকর্ড/টাপল/সারি: এনটিটি হলো সাধারণত বাস্তব-বিশ্বের এমন একটি বস্তু বা অবজেক্ট যার বিভিন্ন বৈশিষ্ট্য থাকে এবং DBMS এ একটি রিলেশনশিপ ধারণ করে। পরস্পর সম্পর্কযুক্ত একাধিক ফিল্ড নিয়ে গঠিত হয় এক একটি রেকর্ড। যেমন- একজন ছাত্র একটি এনটিটি।
এনটিটি সেট/ টেবিলঃ যদি একজন ছাত্র একটি এনটিটি হয়ে, তাহলে সকল ছাত্রের ডেটা সেটকে একত্রে এনটিটিসেট বলা হয়। এক বা একাধিক রেকর্ড নিয়ে টেবিল তৈরি হয়।
অ্যাট্রিবিউট/ফিল্ড/কলাম : কোনো একটি এনটিটি সেটের যে প্রোপার্টিজগুলো ঐ এনটিটির বৈশিষ্ট্যগুলো প্রকাশ করে এবং যার ওপর ভিত্তি করে উপাত্ত গ্রহণ, প্রক্রিয়াকরণ ও সংরক্ষণ করা হয় তাকে অ্যাট্রিবিউট বলে। যেমন- একজন ছাত্র একটি এনটিটি যার অ্যাট্রিবিউট হলো Id, Name ইত্যাদি। অ্যাট্রিবিউটকে ভিজুয়্যাল ডেটাবেজ প্রোগ্রামে সাধারণত ডেটা ফিল্ড বলে।অ্যাট্রিবিউট বিভিন্ন ধরণের হয়ে থাকে। যেমন-
- সাধারন অ্যাট্রিবিউট: এমন একটি অ্যাট্রিবিউট যার মান আর ক্ষুদ্র অংশে ভাঙা যায় না। উদাহরণস্বরূপ, ছাত্রের বয়স।
- কম্পোজিট অ্যাট্রিবিউট: একটি কম্পোজিট অ্যাট্রিবিউট একাধিক সাধারন অ্যাট্রিবিউট এর সমন্বয়ে তৈরি। উদাহরণস্বরূপ, ছাত্রের ঠিকানা একটি কম্পোজিট অ্যাট্রিবিউট। যেখানে বাড়ি নম্বর, রাস্তার নাম, পিনকোড ইত্যাদি থাকবে।
- ডিরাইভড অ্যাট্রিবিউট: ডিরাইভড অ্যাট্রিবিউট সাধারণত ডেটাবেজ ম্যানেজমেন্ট সিস্টেমে উপস্থিত থাকে না, কিন্তু অন্যান্য অ্যাট্রিবিউট থেকে ডিরাইভড হয়। উদাহরণস্বরূপ, বয়স জন্ম তারিখ থেকে প্রাপ্ত হতে পারে।
- সিঙ্গেল-ভ্যালুড অ্যাট্রিবিউট: এই ধরণের অ্যাট্রিবিউটের সাধারণত সিঙ্গেল মান হয়ে থাকে।
- মাল্টি-ভ্যালুড অ্যাট্রিবিউট: এই ধরণের অ্যাট্রিবিউটের সাধারণত একাধিক মান থাকতে পারে। যেমন মোবাইল নম্বর।
অ্যাট্রিবিউট ভেল্যু বা মান: একটি এনটিটি সেটের প্রত্যেকটি অ্যাট্রিবিউটের একটি নির্দিষ্ট মান আছে। অ্যাট্রিবিউটের এ মানকে তার ভেল্যু বলে।
কী বা কী ফিল্ডঃ ডেটাবেজ টেবিলের রেকর্ড শনাক্তকরণ, অনুসন্ধান এবং ডেটাবেজের একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপনের জন্য যে ফিল্ড ব্যবহার করা হয় তাকে বলা হয় কী ফিল্ড। কী ফিল্ডের ডেটাগুলো হবে অভিন্ন ও অদ্বিতীয়।
রিলেশনশিপঃ একটি ডেটাবেজের মধ্যে এক বা একাধিক টেবিল থাকে । এই টেবিলগুলোর মধ্যকার সম্পর্ককে ডেটাবেজ রিলেশনশিপ বলা হয়। ডেটাবেজে রিলেশনশিপ তৈরি করার জন্য যে কয়টি এনটিটি সেট বা টেবিল ব্যবহার করা হয় তার সংখ্যাকেই রিলেশনশিপের ডিগ্রি বলা হয়।
রিলেশনশিপের ডিগ্রি সাধারণত তিন ধরনের হতে পারে। যথা:
১। ডিগ্রি ১ বা ইউনারি রিলেশনশিপ
২। ডিগ্রি ২ বা বাইনারি রিলেশনশিপ
৩। ডিগ্রি ৩ বা টারনারি রিলেশনশিপ
২। ডিগ্রি ২ বা বাইনারি রিলেশনশিপ
৩। ডিগ্রি ৩ বা টারনারি রিলেশনশিপ
ডিগ্রি ১ বা ইউনারি রিলেশনশিপঃ ইউনারি রিলেশনশিপে শুধু মাত্র একটি এনটিটি সেট/টেবিল অংশগ্রহণ করে। যেমন- মানুষ একটি এনটিটি। একজন মানুষ অন্য একজন মানুষকে বিয়ে করে। কাজেই মানুষ এনটিটি নিজের সাথে নিজের রিলেশনশিপ তৈরি করেছে।
ডিগ্রি ২ বা বাইনারি রিলেশনশিপঃ বাইনারি রিলেশনশিপে দু’টি এনটিটি সেট/টেবিল অংশগ্রহণ করে। যেমন- ছাত্র ও শিক্ষক দুটি পৃথক এনটিটি সেট বা টেবিল। শিক্ষক ছাত্রকে শিক্ষাদান করেন। কাজেই শিক্ষক এনটিটি ছাত্র এনটিটির সাথে বাইনারি রিলেশনশিপ তৈরি করেছে।
ডিগ্রি ৩ বা টারনারি রিলেশনশিপঃ টারনারি রিলেশনশিপে তিনটি এনটিটি সেট/টেবিল অংশগ্রহণ করে। যেমন- বিক্রেতা, পণ্য ও ওয়্যারহাউজ তিনটি পৃথক এনটিটি সেট বা টেবিল। বিক্রেতা ওয়্যারহাউজে পণ্য সরবরাহ করেন। কাজেই বিক্রেতা, পণ্য ও ওয়্যারহাউজ টারনারি রিলেশনশিপ তৈরি করেছে।
ER Diagram: একটি ডেটাবেজের বিভিন্ন টেবিলের মধ্যে সম্পর্ক বুঝানোর জন্য ER Diagram ব্যবহৃত হয়। ER Diagram এ ব্যবহৃত বিভিন্ন সিম্বল ও তাদের ব্যবহার-
নিচের টেবিলগুলো দেখা যাক-
উপরের টেবিল দুটির মধ্যে রিলেশনশিপ নিচের ER diagram এর মাধ্যমে দেখানো হলঃ
রিলেশনাল ডেটাবেজ মডেলঃ রিলেশনাল ডেটাবেজ মডেল হলো আধুনিক ডেটাবেজ টেকনোলজির ভিত্তি। রিলেশনাল ডেটাবেজ মডেলে মূলত পুরো ডেটাবেজকে বিভিন্ন লজিক্যাল ইউনিটে বিভক্ত করা হয়। প্রতিটি লজিক্যাল ইউনিট হলো এক একটি টেবিল। প্রতিটি টেবিলে অনেকগুলো ফিল্ড থাকতে পারে। তবে প্রত্যেকটি টেবিলে একটি কী ফিল্ড থাকা বাঞ্ছনীয়। ডেটাবেজের টেবিলগুলো প্রাইমারি কী ও ফরেন কী এর মাধ্যমে পরস্পর সম্পর্কযুক্ত থাকে বিধায় এই মডেলকে রিলেশনাল ডেটাবেজ মডেল বলে।
নিচের চিত্রের মাধ্যমে বিভিন্ন মোবাইলের তথ্য নিয়ে তৈরি করা একটি রিলেশনাল ডেটাবেজ মডেল দেখানো হল।
কী ফিল্ডঃ ডেটাবেজ টেবিলের রেকর্ড শনাক্তকরণ, অনুসন্ধান এবং ডেটাবেজের একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপনের জন্য যে ফিল্ড ব্যবহার করা হয় তাকে বলা হয় কী ফিল্ড। কী ফিল্ডের ডেটাগুলো হবে অভিন্ন ও অদ্বিতীয়। নিচের টেবিলের “Roll” ফিল্ডটি কী ফিল্ড।
কী ফিল্ড এর প্রকারভেদ-
- ১। ক্যান্ডিডেট কী
- ২। প্রাইমারি কী
- ৩। কম্পোজিট প্রাইমারি কী
- ৪। ফরেন কী
ক্যান্ডিডেট কীঃ ক্যান্ডিডেট কী হলো টেবিলের একটি কলাম বা কলামের সেট যা কোনও ডেটাবেস রেকর্ডকে অদ্বিতীয়ভাবে সনাক্ত করতে পারে। প্রতিটি টেবিলে এক বা একাধিক ক্যান্ডিডেট কী থাকতে পারে, তবে একটি ক্যান্ডিডেট কী কে প্রাইমারি কী বলা হয়। নিচের টেবিলে “Roll” এবং “NID” কে ক্যান্ডিডেট কী বলা হয়।
প্রাইমারি কী (Primary Key): কোনো ডেটাবেজ টেবিলের যে ফিল্ডের প্রতিটি ডেটা অদ্বিতীয় (Unique) এবং যার সাহায্যে টেবিলের সবগুলো রেকর্ডকে অদ্বিতীয়ভাবে সনাক্ত করা যায় তাকে প্রাইমারি কী বলা হয়। প্রাইমারি কী এর সাহায্যে এক বা একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করে সম্পর্কযুক্ত ডেটাবেজ তৈরি করা যায় । একটি টেবিল তৈরি করার সময়ই প্রাইমারি কী নির্ধারন করা হয়। নিচের ডেটাবেজ টেবিলের Roll ফিল্ডের প্রতিটি মান অদ্বিতীয় তাই এই ফিল্ডকে প্রাইমারি কী বলা হয়।
প্রাইমারি কী – এর বৈশিষ্ট্যসমূহ হলো-
- ১। একটি টেবিলে একটির বেশি প্রাইমারি কী থাকতে পারবে না।
- ২। প্রাইমারি কী-তে একই value একাধিকবার এবং Null Value থাকতে পারে না।
- ৩। একাদিক টেবিলের মধ্যে রিলেশন তৈরি করার পর কোন টেবিলের প্রাইমারি কী পরিবর্তন করা যায় না।
কম্পোজিট প্রাইমারি কী: একাধিক ফিল্ডের সমন্বয়ে যে প্রাইমারি কী গঠন করা হয় তাকে কম্পোজিট প্রাইমারি কী বলা হয়। রিলেশনাল ডেটাবেজ মডেলে অংশগ্রহণকারী টেবিলের ক্ষেত্রে যদি এমন হয় যে, একটি টেবিলের কোন একটি ফিল্ডের প্রতিটি ডেটা অদ্বিতীয় নেই। তখন একাদিক ফিল্ডের সমন্বয়ে প্রাইমারি কী গঠন করা হয়। নিচের টেবিলে Roll এবং Section একত্রে কম্পোজিট প্রাইমারি গঠন করতে পারে।
ফরেন কী: রিলেশনাল ডেটাবেজ মডেলে কোনো একটি টেবিলের প্রাইমারি কী যদি অন্য টেবিলে ব্যবহৃত হয় তখন ঐ কী কে প্রথম টেবিলের সাপেক্ষে দ্বিতীয় টেবিলের ফরেন কী বলে। ফরেন কী এর সাহায্যে একটি টেবিলের সাথে অন্য টেবিলের সম্পর্ক স্থাপন করা যায়। যেমন- নিচের চিত্রে Subject_info টেবিলের S_id প্রাইমারি কী Teacher_info টেবিলে ব্যবহৃত হয়েছে। তাই Teacher_info টেবিলের ক্ষেত্রে S_id ফিল্ডটি ফরেন কী।
ফরেন কী -এর বৈশিষ্ট্যসমূহ হলো:
- ১। একটি টেবিলের ফরেন কী (Foreign Key) কে অবশ্যই রেফারেন্স টেবিলের (Reference table) প্রাইমারি কী অথবা ইউনিক কী হতে হবে।
- ২। ফরেন কী ফিল্ডের ভেল্যু অবশ্যই রেফারেন্স টেবিলের প্রাইমারি কী এর ভেল্যু হতে হবে।
- ৩। ডুপ্লিকেট (Duplicate) অথবা নাল (Null) ভেল্যু ইনসার্ট (Insert) করা যাবে।
হায়ারার্কিক্যাল মডেলঃ হায়ারার্কিক্যাল মডেলটি ট্রি বা গাছের মতো কাঠামোতে তথ্য সংগঠিত করে, যেখানে প্রতিটি রেকর্ডের একটি রুট রেকর্ড থাকে। চাইল্ড রেকর্ডগুলো একটি নির্দিস্ট অর্ডারে সাজানো থাকে। ডেটাবেজে ডেটা স্টোর করার জন্য সেই অর্ডারটি ফিজিক্যাল অর্ডার হিসেবে ব্যবহৃত হয়। বাস্তব-বিশ্বের অনেক সম্পর্ককে বর্ণনা করার জন্য এই মডেলটি ভাল।
এই মডেলটি প্রাথমিকভাবে আইবিএম (IBM) এর তথ্য ব্যবস্থাপনা সিস্টেমে 60 এবং 70 এর দশকে ব্যবহৃত হতো, তবে কিছু কার্য অক্ষমতার কারণে আজকাল খুব কমই এটি দেখা যায়।
নেটওয়ার্ক মডেলঃ নেটওয়ার্ক মডেলটি হায়ারার্কিক্যাল মডেলের উপর ভিত্তি করে তৈরি। এই মডেলটি সংযুক্ত রেকর্ডগুলোর মধ্যে many-to-many রিলেশনশিপের অনুমতি দেয় এবং প্রতিটি চাইল্ড রেকর্ডের একাধিক রুট রেকর্ড থাকতে পারে। গাণিতিক সেট তত্ত্বের উপর ভিত্তি করে, এই মডেলটি সম্পর্কযুক্ত রেকর্ডগুলোর সেটের সমন্বয়ে তৈরি। প্রতিটি সেট একটি পেরেন্ট বা রুট রেকর্ড এবং একাধিক চাইল্ড রেকর্ডের সমন্বয়ে তৈরি। একটি রেকর্ড একাধিক সেটের সদস্য বা চাইল্ড হতে পারে, এই মডেল জটিল রিলেশনশিপ প্রকাশ করতে পারে।
এই মডেলটি ডেটা সিস্টেম ভাষা (CODASYL) এর সম্মেলন দ্বারা আনুষ্ঠানিকভাবে সংজ্ঞায়িত হওয়ার পরে 70 এর দশকের মধ্যে সবচেয়ে জনপ্রিয় ছিল।
পাঠ মূল্যায়ন-
জ্ঞানমূলক প্রশ্নসমূহঃ
- ক। অ্যাট্রিবিউট/ফিল্ড/কলাম কী?
- ক। এনটিটি/রেকর্ড/টাপল/সারি কী?
- ক। এনটিটি সেট/ডেটা টেবিল কী?
- ক। রিলেশনাল ডেটাবেজ মডেল কী?
- ক। কী ফিল্ড কাকে বলে?
- ক। প্রাইমারি কী কাকে বলে?
- ক। কম্পোজিট প্রাইমারি কী কাকে বলে।
- ক। ক্যান্ডিডেট কী কাকে বলে?
- ক। ফরেন কী কাকে বলে?
অনুধাবনমূলক প্রশ্নসমূহঃ
- খ। ‘ফিল্ড ও রেকর্ড এক নয়’- ব্যাখ্যা কর।
- খ। ‘ফিল্ড রেকর্ডের উপর নির্ভরশীল নয়’-ব্যাখ্যা কর।
- খ। কম্পোজিট প্রাইমারি ফিল্ড কেন ব্যবহার করা হয়?
- খ। দুইটি টেবিলের প্রাইমারি কী ফিল্ড কখন একই হওয়া প্রয়োজন-ব্যাখ্যা কর।
- খ। ডেটাবেজ রিলেশনের ক্ষেত্রে প্রাইমারি কি এবং ফরেন কি এর ডেটা টাইপ একই হওয়া প্রয়োজন কেন?
- খ। প্রাইমারি কি এবং ফরেন কি এক নয় – বুঝিয়ে লেখ।
- খ। প্রাইমারি কি এর অদ্বিতীয়তা বলতে কী বোঝায়?
- খ। ডেটাবেজ রিলেশনে প্রাইমারি কি এর ভূমিকা লেখ।
সৃজনশীল প্রশ্নসমূহঃ
উদ্দীপক অনুসারে প্রশ্নের উত্তর দাওঃ
গ। Product Table এ কোন ফিল্ডটিকে প্রাইমারি কী ফিল্ড বিবেচনা করবে? বর্ণনা করো।
উদ্দীপক অনুসারে প্রশ্নের উত্তর দাওঃ
ঘ। উদ্দীপক টেবিলটির কোন ফিল্ডগুলো প্রাইমারী কী হিসেবে বিবেচনা করা যাবে? বিশ্লেষণ কর।
উদ্দীপক অনুসারে প্রশ্নের উত্তর দাওঃ
গ। উদ্দীপকের প্রথম টেবিলটির কোন ফিল্ডটি কী ফিল্ড? ব্যাখ্যা কর।
ঘ। উদ্দীপক টেবিল দুটির কোন ফিল্ডটি ফরেন কী ফিল্ড? বিশ্লেষণ কর।
বহুনির্বাচনি প্রশ্নসমূহঃ
নিচের উদ্দীপকটি পড় এবং ১ নং প্রশ্নের উত্তর দাও:
একটি কলেজের ডেটাবেজে ৫০ জন শিক্ষকের তথ্য সংরক্ষিত আছে। প্রতিটি শিক্ষকের নাম, আইডি নং, জন্ম তারিখ ও মোবাইল নম্বর সংবলিত চারটি ফিল্ড আছে।
১। উদ্দীপকে উল্লিখিত ডেটাবেজে রেকর্ডের সংখ্যা কত?
ক) ২৫ খ) ৫০ গ) ১০০ ঘ) ২০০
২। কোন ফিল্ডটি প্রাইমারি কী হতে পারে?
ক) Name খ) Address গ) Fee ঘ) Mobile No.
নিচের উদ্দীপকের আলোকে ৩ নং প্রশ্নের উত্তর দাও:
Roll | Name | Reg. No. | Result |
101 | A | 6325 | A+ |
102 | B | 6326 | A |
103 | A | 6327 | B |
৩। উদ্দীপকের যে ফিল্ডগুলো প্রাইমারি কী হতে পারে-
i. Name ii. Roll iii. Reg. No
নিচের কোনটি সঠিক?
ক) i ও ii খ) i ও iii গ) ii ও iii ঘ) i, ii ও iii
উদ্দীপকটি পড়ে ৪ নং প্রশ্নের উত্তর দাও:
Roll | Name | Date of Birth |
৪। উদ্দীপক টেবিলের ১নং ফিল্ডের বৈশিষ্ট্য হতে পারে-
i. ডুপ্লিকেট মান বিরুদ্ধ ii. ডেটা টাইপ অটো নাম্বার iii. ইন্ডেক্সিং সুবিধা সংবলিত
নিচের কোনটি সঠিক?
ক) i ও ii খ) i ও iii গ) ii ও iii ঘ) i, ii ও iii
নিচের উদ্দীপকটি পড় এবং ৫ ও ৬ নং প্রশ্নের উত্তর দাও:
৪০ জন ছাত্র এবং ৬০ জন ছাত্রীর তথ্য রয়েছে। প্রত্যেক রেকর্ডে একটি ডেটাবেজে রোল, নম্বর, জন্ম তারিখ এবং GPA নামক চারটি ফিল্ড রয়েছে।
৫। উদ্দীপকে কতটি রেকর্ড এর উল্লেখ রয়েছে?
ক) ৪ খ) ৪০ গ) ৬০ ঘ) ১০০
৬। প্রাইমারি কী হিসাবে ব্যবহৃত হতে পারে-
i. Roll ii. ID iii. GPA
নিচের কোনটি সঠিক?
ক) i ও ii খ) i ও iii গ) ii ও iii ঘ) i, ii ও iii
৭। ডেটাবেজের ভিত্তি কোনটি?
ক) ফিল্ড খ) রেকর্ড গ) টেবিল ঘ) কোয়েরি
৮। এক বা একাধিক রেকর্ড নিয়ে কি গঠিত হয়?
ক) ফিল্ড খ) টেবিল গ) ডেটাবেজ ঘ) কী ফিল্ড
৯। কোন ফিল্ডটি প্রাইমারি কী হতে পারে?
ক) নাম খ) মোবাইল গ) পরীক্ষার ফি ঘ) ঠিকানা
১০। Foreign Key এর সাথে Primary Key এর রিলেশন কিরূপ?
ক) One to One খ) One to Many গ) Many to One ঘ) Many to Many
উদ্দীপকটি পড়ে ১১ নং প্রশ্নের উত্তর দাও:
১১। উদ্দীপকে টেবিলের ফিল্ড রিলেশনে ভূমিকা রাখতে পারে-
i.E-ID ii.Name iii. Mobile
নিচের কোনটি সঠিক?
ক) i ও ii খ) i ও iii গ) ii ও iii ঘ) i, ii ও iii