انتقل إلى محتوى الدرس

Why Split Data Across Tables لماذا نقسم البيانات بالجداول

تعلّم العلاقات بين الجداول واحد لواحد وواحد لمتعدد ومتعدد لمتعدد في MySQL بأسلوب MySQL 8 الحديث مع أمثلة استعلامات SQL وتطبيقات تفاعلية.
1 صفوف تعليمية
MySQL
7 مشاهدة

شرح صفوف ومحتوى الفقرة

الصف 1 شرح توضيحي

إن تكديس بيانات العملاء مع طلباتهم وتفاصيل المنتجات داخل جدول مسطح واحد ضخم (أشبه بملف جدول بيانات تقليدي) يؤدي إلى مشاكل هندسية خطيرة:

  • التكرار المهدر للبيانات: يتكرر اسم العميل وبريده وعنوانه مع كل طلب جديد يشتريه.
  • تضارب التحديثات: عند تغيير رقم هاتف العميل في بعض الصفوف ونسيان أخرى، تتلف موثوقية البيانات.
  • الفصل العلائقي بالكيانات: عبر تقسيم كل كيان مستقل (customers، orders، products) في جدول InnoDB خاص به وربطها عبر المفتاح الأساسي PK والمفتاح الأجنبي FK، تُحفظ كل معلومة في موضع واحد موثوق.
مخطط يقارن بين علاقات الجداول واحد لمتعدد 1:N وواحد لواحد 1:1 بـ UNIQUE ومتعدد لمتعدد M:N عبر جدول الربط الوسيط في MySQL 8
SQL
CREATE TABLE customers (
  id INT UNSIGNED AUTO_INCREMENT PRIMARY KEY,
  full_name VARCHAR(100) NOT NULL,
  email VARCHAR(150) NOT NULL UNIQUE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;