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

RDBMS-এ ইউনিক কী (Unique Key) এবং প্রাইমারি কীর পার্থক্য

অনেক ডেভেলপার প্রাইমারি কী (Primary Key) এবং ইউনিক কী (Unique Key) একই জিনিস বলে মনে করেন, কিন্তু এই দুটির গুরুত্বপূর্ণ পার্থক্য রয়েছে।

তুলনামূলক তালিকা

দিক Primary Key Unique Key
উদ্দেশ্য (Usage) টেবিলের প্রতিটি রোকে ইউনিকভাবে আইডেন্টিফাই করা একটি কলামে ডুপ্লিকেট ভ্যালু প্রতিরোধ করা
NULL ভ্যালু অনুমোদিত নয় (NOT NULL বাধ্যতামূলক) অনুমোদিত (একটি NULL ভ্যালু অনুমোদিত, কিছু DB-এ একাধিক)
সংখ্যা (Volume) টেবিলে শুধু একটি প্রাইমারি কী থাকতে পারে টেবিলে একাধিক ইউনিক কী থাকতে পারে
ডুপ্লিকেশন ইউনিক + নন-নাল (ডুপ্লিকেট ও নাল উভয়ই নেই) ডুপ্লিকেট নেই, কিন্তু নাল থাকতে পারে
মডিফিকেশন সাধারণত আপডেট করা যাবে না (Immutable) আপডেট করা যায় (বিজনেস লজিক অনুযায়ী)
ইন্ডেক্স অটোমেটিকলি ক্লাস্টারড/নন-ক্লাস্টারড ইন্ডেক্স বানায় অটোমেটিকলি নন-ক্লাস্টারড ইন্ডেক্স বানায়
ফরেন কী রেফারেন্স ফরেন কী রেফারেন্স করতে পারে ফরেন কী রেফারেন্স করতে পারে (Unique Constraint রেফারেন্সযোগ্য)

SQL উদাহরণ

CREATE TABLE Employee (
  Emp_ID INT PRIMARY KEY,           -- Primary Key: NOT NULL, UNIQUE, One per table
  Email VARCHAR(100) UNIQUE,        -- Unique Key: NULL allowed, Multiple allowed
  Phone VARCHAR(15) UNIQUE,         -- Another Unique Key
  SSN VARCHAR(20) UNIQUE,           -- Another Unique Key
  Name VARCHAR(100) NOT NULL
);

কিয়ারেবার সিনট্যাক্স

-- Primary Key
PRIMARY KEY (col1, col2)           -- Table level
col INT PRIMARY KEY                -- Column level

-- Unique Key
UNIQUE (col1, col2)                -- Table level (Composite Unique)
col VARCHAR(50) UNIQUE             -- Column level

কখন কী ব্যবহার করবেন?

  • Primary Key: মেইন আইডেন্টিফায়ার (ID, Code), ফরেন কী রেফারেন্স, ক্লাস্টারড ইন্ডেক্স।
  • Unique Key: বিজনেস 룰 এনফোর্স (ইমেইল, ফোন, এসএসএন, ইউজারনেম), অল্টারনেটিভ লুকআপ পাথ।

সারসংক্ষেপ

Primary Key = Entity Identity (কোনো রোকে চিহ্নিত করতে) | Unique Key = Data Integrity (ডুপ্লিকেট রোধ করতে)। একটি টেবিলে একটা প্রাইমারি কী, একাধিক ইউনিক কী থাকতে পারে।

  1. RDBMS-এ কম্পোজিট কী (Composite Key) কী?

  2. RDBMS-এর ভবিষ্যৎ (Future of RDBMS)

  3. RDBMS টার্মিনোলজি (Database, Table, Column, Row, Keys)

  4. RDBMS-এ ফরেন কী (Foreign Key) কী এবং কীভাবে কাজ করে