7.3 SQL - UNIQUE

القيد SQL UNIQUE

القيد UNIQUE يُستخدم في SQL لضمان عدم تكرار القيم في عمود (أو مجموعة أعمدة) داخل الجدول.

كل قيمة في العمود يجب أن تكون فريدة.



✅ الفرق بين UNIQUE و PRIMARY KEY

  • الـ PRIMARY KEY يحتوي ضمنيًا على قيد UNIQUE و NOT NULL.
  • يمكن أن يحتوي الجدول على قيد UNIQUE أكثر من مرة، لكن مفتاح أساسي واحد فقط.


✅ الصيغة (Syntax):

🔸 عند إنشاء الجدول:


CREATE TABLE Persons (
  ID int NOT NULL UNIQUE,
  LastName varchar(255) NOT NULL,
  FirstName varchar(255),
  Age int
);

🔸 قيد UNIQUE على أكثر من عمود:


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:


ALTER TABLE Persons
ADD UNIQUE (ID);

ALTER TABLE Persons
ADD CONSTRAINT UC_Person UNIQUE (ID, LastName);


🗑 حذف قيد UNIQUE

حسب نظام إدارة قاعدة البيانات:

  • MySQL:

ALTER TABLE Persons
DROP INDEX UC_Person;
  • SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT UC_Person;


💡 ملاحظات:

  • يفضل دائمًا تسمية القيد (`CONSTRAINT`) لتسهيل تعديله أو حذفه لاحقًا.
  • إذا لم يتم تسمية القيد، يقوم نظام إدارة قاعدة البيانات بتوليد اسم تلقائي.
  • قيد UNIQUE لا يسمح بالتكرار لكنه يسمح بالقيم NULL (إلا إذا تم دمجه مع NOT NULL).

تعليقات

المشاركات الشائعة من هذه المدونة

HTML - Text Formatting تنسيقات النص

1.1 SQL Introduction

Entity Framework - مقدمة عن Entity Framework