SQL UNIQUE Constraint என்றால் என்ன?
UNIQUE கட்டுப்பாடு ஒரு நெடுவரிசையில் உள்ள அனைத்து மதிப்புகளும் வெவ்வேறாக இருப்பதை உறுதி செய்கிறது.
UNIQUE மற்றும் PRIMARY KEY கட்டுப்பாடுகள் இரண்டும் ஒரு நெடுவரிசை அல்லது நெடுவரிசைகளின் தொகுப்பிற்கு தனித்துவத்தை உறுதி செய்கின்றன.
ஒரு PRIMARY KEY கட்டுப்பாடு தானாகவே UNIQUE கட்டுப்பாட்டைக் கொண்டுள்ளது.
இருப்பினும், ஒரு அட்டவணைக்கு பல UNIQUE கட்டுப்பாடுகள் இருக்கலாம், ஆனால் ஒரு அட்டவணைக்கு ஒரே ஒரு PRIMARY KEY கட்டுப்பாடு மட்டுமே இருக்க முடியும்.
முக்கியமான குறிப்பு:
UNIQUE கட்டுப்பாடு NULL மதிப்புகளை அனுமதிக்கிறது, ஆனால் PRIMARY KEY கட்டுப்பாடு NULL மதிப்புகளை அனுமதிக்காது.
CREATE TABLE-ல் SQL UNIQUE Constraint
"Persons" அட்டவணை உருவாக்கப்படும் போது "ID" நெடுவரிசையில் UNIQUE கட்டுப்பாட்டை உருவாக்க பின்வரும் SQL பயன்படுத்தப்படுகிறது:
SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int
);
MySQL:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
UNIQUE (ID)
);
UNIQUE கட்டுப்பாட்டிற்கு பெயரிடுதல் மற்றும் பல நெடுவரிசைகளில் வரையறுத்தல்
UNIQUE கட்டுப்பாட்டிற்கு பெயரிடவும், பல நெடுவரிசைகளில் UNIQUE கட்டுப்பாட்டை வரையறுக்கவும், பின்வரும் SQL தொடரியலைப் பயன்படுத்தவும்:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Persons (
ID int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Age int,
CONSTRAINT UC_Person UNIQUE (ID,LastName)
);
ALTER TABLE-ல் SQL UNIQUE Constraint
அட்டவணை ஏற்கனவே உருவாக்கப்பட்ட பிறகு "ID" நெடுவரிசையில் UNIQUE கட்டுப்பாட்டை உருவாக்க, பின்வரும் SQL-ஐப் பயன்படுத்தவும்:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD UNIQUE (ID);
UNIQUE கட்டுப்பாட்டிற்கு பெயரிடுதல் மற்றும் பல நெடுவரிசைகளில் வரையறுத்தல்
UNIQUE கட்டுப்பாட்டிற்கு பெயரிடவும், பல நெடுவரிசைகளில் UNIQUE கட்டுப்பாட்டை வரையறுக்கவும், பின்வரும் SQL தொடரியலைப் பயன்படுத்தவும்:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID,LastName);
UNIQUE கட்டுப்பாட்டை நீக்குதல்
UNIQUE கட்டுப்பாட்டை நீக்க, பின்வரும் SQL-ஐப் பயன்படுத்தவும்:
MySQL:
ALTER TABLE Persons
DROP INDEX UC_Person;
SQL Server / Oracle / MS Access:
ALTER TABLE Persons
DROP CONSTRAINT UC_Person;
UNIQUE vs PRIMARY KEY
UNIQUE Constraint
- பல UNIQUE கட்டுப்பாடுகள் இருக்கலாம்
- NULL மதிப்புகளை அனுமதிக்கிறது
- தனித்துவத்தை உறுதி செய்கிறது
- க்ளஸ்டர்ட் இன்டெக்ஸ் அல்ல
PRIMARY KEY
- ஒரே ஒரு PRIMARY KEY மட்டுமே
- NULL மதிப்புகளை அனுமதிக்காது
- தனித்துவத்தை உறுதி செய்கிறது
- க்ளஸ்டர்ட் இன்டெக்ஸ் ஆகும்
நடைமுறை உதாரணங்கள்
மின்னஞ்சல் முகவரிகள்
ஒவ்வொரு பயனருக்கும் தனித்துவமான மின்னஞ்சல் முகவரி
CREATE TABLE Users (
UserID int PRIMARY KEY,
Email varchar(255) UNIQUE,
UserName varchar(255)
);
பயனர் பெயர்கள்
தனித்துவமான பயனர் பெயர்கள்
CREATE TABLE Users (
UserID int PRIMARY KEY,
Username varchar(50) UNIQUE NOT NULL,
Password varchar(255)
);
தயாரிப்பு குறியீடுகள்
தனித்துவமான தயாரிப்பு SKU குறியீடுகள்
CREATE TABLE Products (
ProductID int PRIMARY KEY,
SKU varchar(20) UNIQUE NOT NULL,
ProductName varchar(255)
);