কম্পিউটার টিউটোরিয়াল

SQL Server-এ চেক কনস্ট্রেইন্ট (Check Constraints)

SQL Server-এ চেক কনস্ট্রেইন্ট কী, এর কাজ কী এবং কীভাবে ব্যবহার করতে হয়? এই নিবন্ধে সেগুলোর উত্তর দেওয়া হয়েছে।

SQL Server-এ চেক কনস্ট্রেইন্ট কী?

SQL Server-এ (Transact-SQL) চেক কনস্ট্রেইন্ট টেবিলের প্রতিটি সারির জন্য শর্ত সংজ্ঞায়িত করার অনুমতি দেয়।

নোট

  1. চেক কনস্ট্রেইন্ট SQL View-এ ডিফাইন করা যায় না।
  2. টেবিলের চেক কনস্ট্রেইন্ট অবশ্যই সেই টেবিলের কলামকে রেফারেন্স করবে, অন্য টেবিলের কলামকে রেফারেন্স করতে পারবে না।
  3. চেক কনস্ট্রেইন্ট সাবকোয়েরি ব্যবহার করতে পারবে না।
  4. চেক কনস্ট্রেইন্ট CREATE TABLE বা ALTER TABLE কমান্ড দিয়ে ডিফাইন করা যায়।

CREATE TABLE কমান্ড দিয়ে চেক কনস্ট্রেইন্ট তৈরি

সিনট্যাক্স

CREATE TABLE table_name
(
    column1 datatype [ NULL | NOT NULL ],
    column2 datatype [ NULL | NOT NULL ],
    ...
    CONSTRAINT constraint_name
    CHECK [ NOT FOR REPLICATION ] (condition column_name)
);

table_name - চেক কনস্ট্রেইন্ট তৈরি করতে চাওয়া টেবিলের নাম

constraint_name - চেক বাধার জন্য দিতে চাওয়া নাম

column_name - চেক কনস্ট্রেইন্ট যেটি টেবিল কলামে প্রয়োগ হবে

condition - যে শর্তটি পূরণ করতে হবে

উদাহরণ

CREATE TABLE nhanvien
(
    id_nhanvien INT NOT NULL,
    ho VARCHAR(50) NOT NULL,
    ten VARCHAR(50),
    luong MONEY,
    CONSTRAINT id_nhanvien_kiemtra
    CHECK (id_nhanvien BETWEEN 1 AND 10000)
);

এই উদাহরণে, CREATE TABLE স্টেটমেন্ট টেবিলে id_nhanvien_kiemtra নামক একটি চেক কনস্ট্রেইন্ট তৈরি করে। এই কনস্ট্রেইন্ট নিশ্চিত করবে যে id_nhanvien ইনফরমেশন ফিল্ডে ১ থেকে ১০০০০ এর মাঝপথে একটি মান থাকে।

এখানো একটি উদাহরণ:

CREATE TABLE nhanvien
(
    id_nhanvien INT NOT NULL,
    ho VARCHAR(50) NOT NULL,
    ten VARCHAR(50),
    luong MONEY,
    CONSTRAINT luong_kiemtra
    CHECK (luong > 0)
);

এই উদাহরণে টেবিলে একটি চেক কনস্ট্রেইন্ট তৈরি করা হয়েছে যা নিশ্চিত করে বেতন শূন্য থেকে বড় হবে।

ALTER TABLE কমান্ড দিয়ে চেক কনস্ট্রেইন্ট তৈরি

সিনট্যাক্স

ALTER TABLE table_name
ADD CONSTRAINT constraint_name
CHECK (condition column_name);

table_name - চেক কনস্ট্রেইন্ট যোগ করতে চাওয়া টেবিলের নাম

constraint_name - চেক বাধার জন্য সেট করা নাম

column_name - চেক কনস্ট্রেইন্ট যেটি টেবিল কলামে প্রয়োগ হবে

condition - চেক কনস্ট্রেইন্ট যে শর্ত পূরণ করতে হবে

উদাহরণ

SQL Server-এ ALTER TABLE কমান্ড ব্যবহার করে চেক কনস্ট্রেইন্ট তৈরির একটি উদাহরণ:

ALTER TABLE nhanvien
ADD CONSTRAINT ho_kiemtra
CHECK (ho IN ('Smith', 'Anderson', 'Jonas'));

ho_kiemtra চেক কনস্ট্রেইন্ট বিদ্যমান টেবিলে তৈরি হয়েছে, যা নিশ্চিত করে কর্মীর উপনাম শুধু Smith, Anderson বা Jonas হবে।

চেক কনস্ট্রেইন্ট ডিলিট করা

সিনট্যাক্স

ALTER TABLE table_name
DROP CONSTRAINT constraint_name;

table_name - চেক কনস্ট্রেইন্ট ডিলিট করতে চাওয়া টেবিলের নাম

constraint_name - ডিলিট করতে চাওয়া চেক বাধার নাম

উদাহরণ

ALTER TABLE nhanvien
DROP CONSTRAINT ho_kiemtra;

এই কমান্ড টেবিল থেকে ho_kiemtra কনস্ট্রেইন্ট মুছে ফেলবে।

চেক কনস্ট্রেইন্ট সক্রিয় করা (Enable)

সিনট্যাক্স

ALTER TABLE table_name
WITH CHECK CHECK CONSTRAINT constraint_name;

table_name - চেক কনস্ট্রেইন্ট পুনরায় সক্রিয় করতে চাওয়া টেবিলের নাম

constraint_name - সক্রিয় করতে চাওয়া চেক কনস্ট্রেইন্টের নাম

উদাহরণ

ALTER TABLE nhanvien
WITH CHECK CHECK CONSTRAINT luong_kiemtra;

এই উদাহরণে টেবিলে luong_kiemtra চেক কনস্ট্রেইন্ট পুনরায় সক্রিয় করা হয়েছে।

চেক কনস্ট্রেইন্ট নিষ্ক্রিয় করা (Disable)

সিনট্যাক্স

ALTER TABLE table_name
NOCHECK CONSTRAINT constraint_name;

table_name - চেক কনস্ট্রেইন্ট নিষ্ক্রিয় করতে চাওয়া টেবিলের নাম

constraint_name - নিষ্ক্রিয় করতে চাওয়া চেক কনস্ট্রেইন্টের নাম

উদাহরণ

ALTER TABLE nhanvien
NOCHECK CONSTRAINT luong_kiemtra;

এই উদাহরণে টেবিলে luong_kiemtra চেক কনস্ট্রেইন্ট নিষ্ক্রিয় করা হয়েছে।

  1. SQL Server-এ PIVOT ক্লজ

  2. SQL Server-এ SELECT INTO কমান্ড

  3. MS SQL Server কী?

  4. Microsoft SQL Server-এ ডেটাবেসের মৌলিক অপারেশন