Database Tutorials Primary Key, Foreign Key এবং Constraints গাইড ও নোট

3.3k

ডেটাবেস ডিজাইন ও ম্যানেজমেন্টে Primary Key, Foreign Key, এবং Constraints অত্যন্ত গুরুত্বপূর্ণ ভূমিকা পালন করে। এগুলো ডেটাবেসের তথ্যের সঠিকতা, এক্সেস কন্ট্রোল, এবং সম্পর্ক নির্ধারণে সাহায্য করে। নিচে এইগুলির বিস্তারিত আলোচনা করা হলো:


1. Primary Key

Primary Key হলো একটি টেবিলের এমন একটি কলাম বা কলামের সংমিশ্রণ, যা প্রতিটি রেকর্ডের জন্য অনন্য (unique) হতে হবে। এটি টেবিলের মধ্যে কোন ডুপ্লিকেট বা নাল (NULL) মান থাকতে দেয় না এবং প্রতিটি রেকর্ডকে সুনির্দিষ্টভাবে চিহ্নিত করে।

বৈশিষ্ট্য:

  • অনন্য (Unique): একটি টেবিলের প্রতিটি রেকর্ডের জন্য Primary Key কলাম বা কলামগুলির মান অনন্য হতে হবে।
  • NULL নয়: Primary Key কলামে NULL মান থাকতে পারে না।
  • একটি টেবিলের জন্য একমাত্র Primary Key থাকতে পারে

উদাহরণ:

CREATE TABLE students (
    student_id SERIAL PRIMARY KEY,
    first_name VARCHAR(50),
    last_name VARCHAR(50)
);

এখানে student_id হলো Primary Key, যা প্রতিটি শিক্ষার্থীকে অনন্যভাবে চিহ্নিত করবে।


2. Foreign Key

Foreign Key হলো একটি কলাম বা কলামগুলির সংমিশ্রণ যা অন্য একটি টেবিলের Primary Key বা Unique Key এর সাথে সম্পর্কিত থাকে। Foreign Key সম্পর্কিত টেবিলের মধ্যে সম্পর্ক নির্ধারণ করতে সাহায্য করে। এটি ডেটাবেসের মধ্যে Referential Integrity বজায় রাখে, যা নিশ্চিত করে যে, কোনো রেকর্ডের জন্য সম্পর্কিত ডেটা অন্য টেবিলে থাকতে হবে।

বৈশিষ্ট্য:

  • ডেটা সম্পর্ক: Foreign Key ডেটাবেসের দুইটি টেবিলের মধ্যে সম্পর্ক নির্ধারণ করে।
  • সীমাবদ্ধতা: Foreign Key সম্পর্কিত টেবিলে থাকা মান অন্য টেবিলের মধ্যে থাকা ডেটার সাথে সম্পর্কিত থাকতে হবে।
  • আপডেট/ডিলিট কনফিগারেশন: Foreign Key ডিলিট বা আপডেটের জন্য কিছু নির্দিষ্ট আচরণ থাকতে পারে, যেমন ON DELETE CASCADE, ON UPDATE RESTRICT ইত্যাদি।

উদাহরণ:

CREATE TABLE courses (
    course_id SERIAL PRIMARY KEY,
    course_name VARCHAR(100)
);

CREATE TABLE enrollments (
    enrollment_id SERIAL PRIMARY KEY,
    student_id INT,
    course_id INT,
    FOREIGN KEY (course_id) REFERENCES courses(course_id)
);

এখানে enrollments টেবিলে course_id একটি Foreign Key, যা courses টেবিলের course_id এর সাথে সম্পর্কিত।


3. Constraints

Constraints হলো ডেটাবেসে ডেটা সঠিক, এক্সেসযোগ্য এবং নিরাপদ রাখতে ব্যবহৃত নিয়মাবলী বা শর্ত। এগুলি ডেটাবেসে বিভিন্ন শর্ত নির্ধারণ করে, যেমন কোন মান কিভাবে ইনপুট হতে পারে, রেকর্ড আপডেট করা যাবে কিনা, এবং সম্পর্ক কিভাবে হবে।

প্রধান Types of Constraints:

  1. NOT NULL:
    • এই কনস্ট্রেইন্টের মাধ্যমে একটি কলামে NULL মান দেওয়া যাবে না।
    • উদাহরণ:

      CREATE TABLE students (
          student_id INT NOT NULL,
          first_name VARCHAR(50) NOT NULL,
          last_name VARCHAR(50)
      );
      
  2. UNIQUE:
    • এই কনস্ট্রেইন্টের মাধ্যমে একটি কলামের প্রতিটি মান অনন্য হতে হবে, অর্থাৎ ডুপ্লিকেট মানের অনুমতি নেই।
    • উদাহরণ:

      CREATE TABLE students (
          student_id INT UNIQUE,
          first_name VARCHAR(50),
          last_name VARCHAR(50)
      );
      
  3. CHECK:

    • CHECK কনস্ট্রেইন্টের মাধ্যমে একটি কলামের মান নির্দিষ্ট শর্ত পূর্ণ করতে হবে।
    • উদাহরণ:

      CREATE TABLE employees (
          employee_id INT PRIMARY KEY,
          salary DECIMAL CHECK (salary >= 0)
      );
      

    এখানে salary কলামে মান শুধুমাত্র 0 বা তার বেশি হতে পারবে।

  4. DEFAULT:

    • এই কনস্ট্রেইন্টের মাধ্যমে একটি কলামে মান ইনপুট না দেওয়া হলে একটি ডিফল্ট মান নির্ধারণ করা হয়।
    • উদাহরণ:

      CREATE TABLE students (
          student_id INT PRIMARY KEY,
          enrollment_date DATE DEFAULT CURRENT_DATE
      );
      

    এখানে enrollment_date কলামে যদি কোন মান না দেওয়া হয়, তবে ডিফল্টভাবে বর্তমান তারিখ রাখা হবে।

  5. PRIMARY KEY:
    • PRIMARY KEY কনস্ট্রেইন্ট একটি কলাম বা কলামগুলিকে নির্দিষ্ট করে যা প্রতিটি রেকর্ডের জন্য অনন্য হবে এবং NULL মান থাকতে পারবে না।
  6. FOREIGN KEY:
    • FOREIGN KEY কনস্ট্রেইন্ট দুটি টেবিলের মধ্যে সম্পর্ক স্থাপন করে, এবং নিশ্চিত করে যে একটি টেবিলের মান অন্য টেবিলের মানের সাথে মেলে।

সারাংশ

  • Primary Key: একটি টেবিলের প্রতিটি রেকর্ডের জন্য অনন্য এবং NULL নয় এমন একটি কলাম বা কলামগুলির সমষ্টি।
  • Foreign Key: এক টেবিলের কলাম যা অন্য একটি টেবিলের Primary Key বা Unique Key এর সাথে সম্পর্ক স্থাপন করে।
  • Constraints: ডেটাবেসের বিভিন্ন শর্ত বা নিয়মাবলী যা ডেটার সঠিকতা এবং এক্সেস কন্ট্রোল নিশ্চিত করে। এতে NOT NULL, UNIQUE, CHECK, DEFAULT ইত্যাদি অন্তর্ভুক্ত রয়েছে।

এই তিনটি উপাদান ডেটাবেস ডিজাইনে অত্যন্ত গুরুত্বপূর্ণ, কারণ এগুলি ডেটা সঠিকতা, নিরাপত্তা এবং সম্পর্ক নির্ধারণে সহায়তা করে।

Content added By
Promotion

Are you sure to start over?

Loading...