مفردة PRIMARY KEY في القيود

مفردة PRIMARY KEY في القيود

حكم UNIQUE يُميز كل سجل في جدول قاعدة البيانات.

حكم UNIQUE وحكم PRIMARY KEY يقدمان ضمانًا للتميز في عمود أو مجموعة من الأعمدة.

PRIMARY KEY يحتوي على حكم UNIQUE تلقائيًا.

لاحظ أن كل جدول يمكن أن يحتوي على عدة حكم UNIQUE، ولكن كل جدول يمكن أن يحتوي على حكم PRIMARY KEY واحد فقط.

حكم UNIQUE في إنشاء الجدول

هذا SQL في "Persons" عند إنشاء الجدول في عمود "Id_P" يُنشأ حكم UNIQUE:

MySQL:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
UNIQUE (Id_P)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL UNIQUE,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255)
)

إذا كنت ترغب في تسمية constraint UNIQUE و تعريف constraint UNIQUE لعدة أعمدة، استخدم جملة SQL التالية:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Persons
(
Id_P int NOT NULL,
LastName varchar(255) NOT NULL,
FirstName varchar(255),
Address varchar(255),
City varchar(255),
CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)
)

محدد UNIQUE في SQL على ALTER TABLE

إذا تم إنشاء الجدول بالفعل، وإذا كنت ترغب في إنشاء constraint UNIQUE في عمود "Id_P"، استخدم الجملة SQL التالية:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD UNIQUE (Id_P)

إذا كنت ترغب في تسمية UNIQUE constraint وتعريف constraint UNIQUE لعدة أعمدة، استخدم الجملة SQL التالية:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Persons
ADD CONSTRAINT uc_PersonID UNIQUE (Id_P,LastName)

إلغاء UNIQUE constraint

إذا كنت ترغب في إلغاء UNIQUE constraint، استخدم SQL التالي:

MySQL:

ALTER TABLE Persons
DROP INDEX uc_PersonID

SQL Server / Oracle / MS Access:

ALTER TABLE Persons
DROP CONSTRAINT uc_PersonID