تخطَّ إلى المحتوى

نموذج البيانات

قاعدة البيانات هي PostgreSQL 16. يعتمد المخطط على ما تتقنه هذه القاعدة: طوابع زمنية بمنطقة زمنية، وقيود CHECK على القيم المهنية، وفهارس جزئية، وjsonb للإعدادات. القواعد تعيش في القاعدة نفسها، لا في الكود فقط. المرجع عمودًا بعمود موجود في مرجع الجداول.

مخطط مجال الكتالوج: المجالات، المواضيع الفرعية، المنتجات، التركيب، المحتويات
  • themes → sub_themes: التصنيف ذو المستويين.
  • products: كل ما يُباع، مع نوعه ومجاله وموضوعه الفرعي الاختياري وسعره ونافذته الترويجية.
  • product_compose: الشجرة الانعكاسية أصل → فرع، مرتّبة. يمكن أن يكون للفرع عدة أصول؛ ترفض القاعدة الإشارة الذاتية، ويرفض الكود الحلقات غير المباشرة.
  • product_contents: مقاطع المنتج، مرتّبة، مع مفتاح تخزينها الخاص وعلامة المقتطف المجاني.
  • product_prerequisites: منتج يتطلب منتجًا آخر، وفق قاعدة. علاقة مستقلة عن التركيب.
مخطط مجال حقوق الوصول: الحسابات، الحقوق، الأجهزة، التقدم
  • users: المتعلمون والمديرون؛ بريد إلكتروني أو هاتف؛ دور وحالة ولغة.
  • otp_challenges: رموز الدخول المعلّقة، مجزّأة (hash)، مع مهلة انتهاء وعدّاد للمحاولات.
  • devices و**personal_access_tokens**: جهاز واحد، رمز وصول واحد.
  • access_rights: حق الوصول، على مستوى المنتج، مع مصدره. يميّز الملف بين DROIT_ACCES وDROIT_ACCES_SOURCE؛ أما المنصة فتجمعهما اليوم في جدول واحد، بسطر لكل مصدر — وسيأتي الفصل بينهما مع الطلبات والاستردادات.

ما يظهر على المخطط وليس بعد في القاعدة: التقدم (الدفعة L5)، والطلبات والسلة (الدفعة L7)، والاشتراكات (بحسب ADR-0004)، والشهادات (الدفعة L14).

  • settings: إعداد واحد في كل سطر، منمّط، مع تبويبه وتسميته ونص مساعدته؛ القيمة بصيغة jsonb ليبقى العدد الصحيح عددًا صحيحًا. المجموعة الكاملة محفوظة في الذاكرة المؤقتة، وتُبطَل عند كل كتابة.
الموضوع الاصطلاح
المفاتيح أعداد صحيحة ذاتية الزيادة؛ معرّفات URL (slug) فريدة لكل ما له صفحة
المحتوى أعمدة تنتهي باللاحقة _ar؛ لا ترجمة للمحتوى في القاعدة
المبالغ أعداد صحيحة بالسنتيم، مع العملة وفق ISO 4217 إلى جانبها
التواريخ timestamptz؛ promo_starts_at / promo_ends_at، granted_at / expires_at / revoked_at
القيم المهنية قيود CHECK مسمّاة {table}_{colonne}_allowed
الحذف متسلسل لكل ما يتبع منتجًا أو حسابًا؛ تفريغ للإشارات الاختيارية