SQL Databases • المستوى الأول • الدرس 1
العودة لفهرس المستوىمقدمة إلى قواعد البيانات وإنشاء الجداول (CREATE TABLE)
أهداف الدرس
- فهم الهيكل الأساسي لقواعد البيانات العلاقلية (الجداول، الصفوف، والأعمدة).
- كتابة استعلام
CREATE TABLEوتحديد المفاتيح الأساسيةPRIMARY KEY. - استخدام القيود (Constraints):
NOT NULL,UNIQUE, وDEFAULT. - ربط الجداول ببعضها باستخدام
REFERENCES(المفاتيح الأجنبية).
1. ما هي لغة SQL؟
تُعد SQL (Structured Query Language) اللغة القياسية لإدارة واستعلام البيانات داخل أنظمة قواعد البيانات العلاقلية مثل PostgreSQL و MySQL.
sql
-- مثال: جدول بسيط للأصناف
CREATE TABLE categories (
id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL UNIQUE,
description TEXT,
is_active BOOLEAN DEFAULT TRUE,
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
-- عرض هيكل الجدول
-- SELECT * FROM categories;2. أنواع البيانات (Data Types) والقيود (Constraints)
أنواع البيانات الشائعة
SERIAL— عدد تلقائي متزايدINT— عدد صحيحVARCHAR(n)— نص بحد أقصى nTEXT— نص طويل بلا حدBOOLEAN— TRUE / FALSETIMESTAMP— تاريخ ووقت
القيود (Constraints)
PRIMARY KEY— مفتاح فريد أساسيNOT NULL— لا يقبل قيمة فارغةUNIQUE— قيمة فريدةDEFAULT x— قيمة افتراضيةREFERENCES t(c)— مفتاح أجنبي
3. الفرق بين PRIMARY KEY و FOREIGN KEY
PRIMARY KEY
معرّف فريد لكل صف داخل جدوله نفسه. لا يمكن تكراره ولا أن يكون فارغاً.
id SERIAL PRIMARY KEY
FOREIGN KEY
حقل يشير إلى المفتاح الأساسي في جدول آخر — ينشئ علاقة بين الجدولين.
user_id INT REFERENCES users(id)
التطبيق العملي المباشر
تحدي الدرس الأول: توسيع جداول قاعدة البيانات
قم بالتعديل على الكود بداخل المحرر أدناه لتطبيق المتطلبات التالية:
- أضف حقلاً جديداً
city VARCHAR(50)لجدولusers. - أضف حقلاً
is_active BOOLEAN DEFAULT TRUEلجدولusers. - احتفظ بجميع الحقول الأصلية:
id,name,email,age,created_at. - أنشئ جدولاً ثانياً
postsيحتوي على:id SERIAL PRIMARY KEY،user_id INT REFERENCES users(id)،title VARCHAR(200) NOT NULL،content TEXT،published_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP. - اضغط "تشغيل الكود" لرؤية رسالة نجاح إنشاء الجدول.
⏳ جارٍ تحميل المحرر التفاعلي...