🗄️ شرح SQL وقواعد البيانات

القيود (Constraints)

ما هي القيود؟

القيود (Constraints) قواعد تفرضها على الأعمدة لمنع البيانات الخاطئة من الدخول أصلًا.

NOT NULL

يمنع ترك العمود فارغًا:

CREATE TABLE users (
  name VARCHAR(100) NOT NULL,
  email VARCHAR(150) NOT NULL
);

UNIQUE

يمنع تكرار القيمة (مثل البريد الإلكتروني):

CREATE TABLE users (
  email VARCHAR(150) UNIQUE
);

DEFAULT

قيمة افتراضية عند عدم إدخال شيء:

CREATE TABLE users (
  is_active BOOLEAN DEFAULT TRUE,
  created_at DATETIME DEFAULT CURRENT_TIMESTAMP
);

CHECK

يفرض شرطًا على القيمة:

CREATE TABLE products (
  price DECIMAL(10,2) CHECK (price >= 0),
  age INT CHECK (age BETWEEN 0 AND 120)
);

دمج القيود

CREATE TABLE accounts (
  id INT PRIMARY KEY,
  username VARCHAR(50) NOT NULL UNIQUE,
  balance DECIMAL(10,2) DEFAULT 0 CHECK (balance >= 0)
);

💡 القيود تحمي قاعدة البيانات حتى لو احتوى كود التطبيق على خطأ — خط دفاع أخير مهم.

🎯 التالي: المفاتيح الأساسية والأجنبية والعلاقات.