ICT ( DATABASE MANAGEMENT SYSTEM ) ( 02 )
Part - 02
রিলেশনাল ডাটাবেজ
রিলেশনাল ডেটাবেজ হলো এমন একটি ডেটাবেজ যেখানে তথ্য টেবিল আকারে সংরক্ষিত থাকে এবং একাধিক টেবিলের মধ্যে সম্পর্ক স্থাপন করা যায়। প্রতিটি টেবিল একটি নির্দিষ্ট বিষয়ের উপর ভিত্তি করে বিভিন্ন ধরনের তথ্য ধারণ করে।
রিলেশনাল ডেটাবেজর মূল ধারণা:
- টেবিল (Table): ডেটা সংরক্ষণের মূল কাঠামো। একটি টেবিলে থাকে রেকর্ড (সারি) ও ফিল্ড (কলাম)।
- প্রাইমারি কি (Primary Key): একটি টেবিলের প্রতিটি রেকর্ডকে আলাদা চিহ্নিত করার জন্য ব্যবহৃত একটি বা একাধিক কলাম।
- ফরেন কি (Foreign Key): একটি টেবিলের মধ্যে অন্য টেবিলের সাথে সম্পর্ক স্থাপন করতে ব্যবহৃত হয়।
- রিলেশন (Relation): বিভিন্ন টেবিলের মধ্যে সংযোগ বা সম্পর্ক।
প্রথম ব্লগে আমরা টেবিল, প্রাইমারি কি ও ফরেন কি নিয়ে আলোচনা করেছি। আজকে আমরা ডেটাবেজ রিলেশন নিয়ে আলোচনা করবো।
রিলেশনের গুরুত্বপূর্ণ ধরন:
- ওয়ান-টু-ওয়ান (One-to-One Relationship)
- ওয়ান-টু-মেনি (One-to-Many Relationship)
- মেনি-টু-মেনি (Many-to-Many Relationship)
১. ওয়ান-টু-ওয়ান সম্পর্ক (One-to-One Relationship):
একটি টেবিলের একটি রেকর্ড অন্য একটি টেবিলের কেবলমাত্র একটি রেকর্ডের সাথে সম্পর্কিত থাকে।
**উদাহরণ: একজন ব্যক্তি এবং তার NID card মধ্যে সম্পর্ক।
- একটি ব্যক্তির শুধুমাত্র একটি NID card থাকতে পারে।
- একটি NID card শুধুমাত্র একজন ব্যক্তির হতে পারে।
যেমন বাংলাদেশের প্রত্যেকটি মানুষের জন্য শুধুমাত্র একটি করে NID কার্ড আছে.আবার একইভাবে একটি NID কার্ড শুধুমাত্র একজন ব্যক্তির জন্যই রয়েছে.
২. ওয়ান-টু- মেনি (One-to-Many Relationship)
one-to-many সম্পর্ক হলো যেখানে একটি টেবিলের একটি রেকর্ড অন্য একটি টেবিলের একাধিক রেকর্ডের সাথে সম্পর্কিত থাকে।
**উদাহরণ:** একজন লেখক এবং তার লেখা বইগুলোর মধ্যে সম্পর্ক।
- একজন লেখক অনেকগুলো বই লিখতে পারেন।
- কিন্তু প্রতিটি বই শুধুমাত্র একজন লেখকের দ্বারা লিখিত হয়।
এখানে টেবিলের মধ্যে আমরা দেখতে পাই একটি লেখক একাধিক বই লিখতে পারে এবং একটি বই শুধুমাত্র একজন লেখক দ্বারা লিখিত যেমন Author table- এ authorID (1), name( hasan ) বুক টেবিলে BookID ( 101 - english grammer and 102 - Math guide ) দুইটি বই লিখেছে। এভাবে এদের মধ্যে ওয়ান টু মেনি সম্পর্ক বিদ্যমান।
৩. মেনি-টু-মেনি (Many-to-Many Relationship)
একটি টেবিলের একাধিক রেকর্ড অন্য টেবিলের একাধিক রেকর্ডের সাথে সম্পর্কিত থাকতে পারে।
**উদাহরণ:** ছাত্র এবং কোর্সের মধ্যে সম্পর্ক।
- একজন ছাত্র একাধিক কোর্সে অংশগ্রহণ করতে পারে।
- একটি কোর্সে একাধিক ছাত্র অংশগ্রহণ করতে পারে।
এখানে একজন ছাত্র একাধিক কোর্স কিনতে পারে আবার একি কোর্স একাধিক ছাত্র কিনতে পারে আমরা Enrollment- টেবিলে দেখতে পারি একাধিক ছাত্র একাধিক কোর্স ইনরোল করেছে আবার একাধিক কোর্স একাধিক ছাত্র দ্বারা কেনা হয়েছে । এভাবে এখানে মেনি-টু-মেনি রিলেশন বিদ্যমান।
ডাটাবেজের ডাটা টাইপ:
প্রধান ডাটা টাইপগুলো হলো:
১. টেক্সট (Text): স্ট্রিং বা অক্ষরের ডেটা সংরক্ষণ করতে ব্যবহৃত হয়।
উদাহরণ: Name - "Alice", "Bangladesh"
২. নাম্বার (Number): সংখ্যা সংরক্ষণ করতে ব্যবহৃত হয়।
উদাহরণ: Age - 25, Salary - 50000
৩. ডেট এবং টাইম (Date & Time): তারিখ এবং সময় সংরক্ষণ করতে ব্যবহৃত হয়।
উদাহরণ: BirthDate - 2024-12-15, LoginTime - 10:30:00
৪. বুলিয়ান (Boolean): True/False বা হ্যাঁ/না জাতীয় মান সংরক্ষণ করতে ব্যবহৃত হয়।
উদাহরণ: IsActive - true, IsPaid - false
৫. নাল (Null): ডেটা অনুপস্থিত থাকলে সেটি NULL হিসেবে সংরক্ষণ করা হয়।
উদাহরণ: MiddleName - NULL (যদি কোনো মাধ্যমিক নাম না থাকে)। ex:
frist_Name : Sabbir
middle_Name: NULL ( if there is no middle name in the database it will be a null value)
last_Name: Chowdhury
Summary (Note)
রিলেশনাল ডেটাবেজ:
- ডেটা টেবিল আকারে সংরক্ষণ করা হয়।
- টেবিলগুলোর মধ্যে সম্পর্ক স্থাপন করা যায়।
রিলেশনের ধরন:
- ওয়ান-টু-ওয়ান: একটি রেকর্ড অন্য একটি রেকর্ডের সাথে সম্পর্কিত।
- ওয়ান-টু-মেনি: একটি রেকর্ড অনেক রেকর্ডের সাথে সম্পর্কিত।
- মেনি-টু-মেনি: একাধিক রেকর্ড অন্য একাধিক রেকর্ডের সাথে সম্পর্কিত।
ডেটা টাইপ:
- টেক্সট: অক্ষরভিত্তিক ডেটা।
- নাম্বার: সংখ্যাভিত্তিক ডেটা।
- ডেট ও টাইম: তারিখ এবং সময়।
- বুলিয়ান: হ্যাঁ/না বা সত্য/মিথ্যা।
- নাল: ডেটা অনুপস্থিত থাকলে।
Blog 01: https://database-management-system-ict.blogspot.com/2024/12/blog-post.html
সাব্বির
ফুলস্ট্যাক ওয়েব ডেভেলপার
01726740854




Comments
Post a Comment