MyMisPal
→ دروس SQL
الدرس 10 من 12

إنشاء الجداول والقيود

لما تصمم نظام جديد، أول شي تبنيه هو الجداول. كل عمود له نوع بيانات، وتقدر تضيف قيود تحمي البيانات من الأخطاء.

عدد صحيحINT
رقم عشري دقيق (للمبالغ)DECIMAL(10,2)
نص بطول متغيرVARCHAR(100)
تاريخDATE
SQL
CREATE TABLE suppliers (
  supplier_id INT PRIMARY KEY,
  name        VARCHAR(80) NOT NULL,
  email       VARCHAR(120) UNIQUE,
  country     VARCHAR(50) DEFAULT 'Saudi Arabia'
);

NOT NULL تمنع القيمة الفارغة، وUNIQUE تمنع التكرار، وDEFAULT تعطي قيمة افتراضية. والمفتاح الأجنبي يربط الجدول بجدول ثاني:

SQL
CREATE TABLE supplier_products (
  supplier_id INT,
  product_id  INT,
  cost        DECIMAL(10,2),
  PRIMARY KEY (supplier_id, product_id),
  FOREIGN KEY (supplier_id) REFERENCES suppliers(supplier_id),
  FOREIGN KEY (product_id)  REFERENCES products(product_id)
);
في MySQLفي MySQL ترقيم تلقائي للمفتاح: id INT AUTO_INCREMENT PRIMARY KEY. أما المحرر هنا (SQLite) فيستخدم INTEGER PRIMARY KEY AUTOINCREMENT. وكل جدول في MySQL يفضل يكون ENGINE=InnoDB عشان المفاتيح الأجنبية تشتغل.

تمارين

تمرين 1

أنشئ جدول courses فيه ثلاثة أعمدة بالترتيب: course_id رقم صحيح ومفتاح أساسي، وtitle نص ما يقبل الفراغ، وcredits رقم صحيح.

لقيت خطأ في هذي الصفحة، أو عندك فكرة تحسّن الموقع؟