مفهوم MySQL Unique
في قواعد البيانات، تُعتبر القيود (Constraints) وسيلة لضمان صحة وسلامة البيانات. أحد [شركة برمجة مصرية] هذه القيود هو الفريد (Unique)، والذي يُستخدم لضمان عدم [شركة برمجة مصرية] تكرار القيم في عمود أو مجموعة من الأعمدة في جدول.
ما هو MySQL Unique؟
MySQL Unique Constraint هو قيد يُستخدم لضمان أن كل القيم في عمود معين أو مجموعة أعمدة تكون فريدة. بمعنى آخر، لا يمكن أن تحتوي هذه الأعمدة على قيم مكررة. على عكس المفتاح الأساسي (Primary Key)، يمكن أن يحتوي الجدول على أكثر من قيد فريد.
كيفية استخدام MySQL Unique
يمكن تعريف قيد الفريد عند إنشاء الجدول أو إضافته إلى جدول موجود بالفعل باستخدام الأمر `ALTER TABLE`.
إنشاء قيد Unique عند إنشاء الجدول
CREATE TABLE employees (
id INT AUTO_INCREMENT PRIMARY KEY,
email VARCHAR(255) UNIQUE,
phone_number VARCHAR(15),
UNIQUE (phone_number)
);
في المثال أعلاه، يحتوي جدول `employees` على عمودين مع قيد الفريد: `email` و`phone_number`. هذا يعني أنه لا يمكن تسجيل عنوان بريد إلكتروني أو رقم هاتف مكرر.
إضافة قيد Unique إلى جدول موجود
ALTER TABLE employees
ADD CONSTRAINT unique_email UNIQUE (email),
ADD CONSTRAINT unique_phone UNIQUE (phone_number);
في هذا المثال، نضيف قيود الفريد إلى جدول `employees` الموجود بالفعل باستخدام الأمر `ALTER TABLE`.
أمثلة متعددة لاستخدام MySQL Unique
مثال 1: قيد Unique على عمود واحد
CREATE TABLE products (
product_id INT AUTO_INCREMENT PRIMARY KEY,
product_name VARCHAR(255),
sku VARCHAR(100) UNIQUE
);
في هذا المثال، قيد الفريد موجود على العمود `sku` لضمان أن كل رمز SKU للمنتجات يكون فريدًا.
مثال 2: قيد Unique على عدة أعمدة
CREATE TABLE orders (
order_id INT AUTO_INCREMENT PRIMARY KEY,
customer_id INT,
product_id INT,
order_date DATE,
UNIQUE (customer_id, product_id, order_date)
);
هنا، تم تطبيق قيد الفريد على مجموعة من الأعمدة: `customer_id`, `product_id`, و`order_date`. يضمن هذا القيد أن كل عميل يمكنه فقط طلب نفس المنتج مرة واحدة في اليوم نفسه.
مثال 3: محاولة إدخال قيم مكررة
INSERT INTO employees (email, phone_number) VALUES ('john.doe@example.com', '123-456-7890');
-- هذا الإدخال سينجح
INSERT INTO employees (email, phone_number) VALUES ('john.doe@example.com', '098-765-4321');
-- هذا الإدخال سيفشل لأن البريد الإلكتروني مكرر
INSERT INTO employees (email, phone_number) VALUES ('jane.doe@example.com', '123-456-7890');
-- هذا الإدخال سيفشل لأن رقم الهاتف مكرر
فوائد استخدام MySQL Unique
1. **ضمان تكامل البيانات**: يمنع إدخال بيانات مكررة في الأعمدة الحرجة.
2. **تحسين البحث**: باستخدام القيم الفريدة يمكن تسريع عمليات البحث والاستعلام.
3. **دعم قواعد العمل**: يساعد في فرض قواعد العمل التي تتطلب عدم تكرار القيم.
خلاصة
قيد الفريد في MySQL هو أداة قوية لضمان سلامة البيانات ومنع التكرار غير المرغوب فيه. باستخدامه بشكل صحيح، يمكنك تحسين جودة البيانات وأدائها في تطبيقاتك.
