تصميم قاعدة بيانات مطعم متكاملة باستخدام PostgreSQL (Restaurant Database Design)

تفاصيل العمل

مشروع هندسي متكامل لتصميم وتنفيذ قاعدة بيانات علائقية (Relational Database) لنظام حجز الطاولات وإدارة الطلبات في مطعم (Single-location Restaurant)، مدعومة بقواعد عمل متقدمة (Business Rules) وطبقة تقارير شاملة باستخدام PostgreSQL.

دورة التصميم الهندسي للمشروع:تمرير المشروع بجميع مراحل تصميم قواعد البيانات القياسية:التصميم المفاهيمي (Conceptual Design - ER Model): تحديد الكيانات الأساسية (العملاء، الموظفين، الطاولات، الحجوزات، الطلبات، وعناصر القائمة) وتحديد العلاقات والـ Cardinality بدقة.

التصميم المنطقي (Logical Design): تحويل النموذج المفاهيمي إلى مخطط علائقي (Relational Schema) مع حل العلاقات المزدوجة (M:N) وإنشاء الجداول الوسيطة (Junction Tables) مع المفاتيح الأساسية والأجنبية.

التصميم الفيزيائي (Physical Schema - DDL): كتابة أوامر SQL الفعلية لبناء الجداول وتطبيق قيود البيانات (Constraints, Primary/Foreign Keys, Check Constraints).

المميزات وقواعد العمل المتقدمة (Triggers & Business Logic):تم تطبيق قواعد عمل معقدة لا يمكن تنفيذها بالطرق العادية واعتمدت على PL/pgSQL Triggers لتأمين سلامة البيانات:التحقق من سعة الطاولة (Capacity Check): منع إتمام الحجز إذا كان عدد الأفراد (Party Size) أكبر من سعة الطاولة المخصصة

. منع التعارض والحجوزات المزدوجة (Double-Booking Prevention): فحص التداخل الزمني للطاولات لمنع حجز نفس الطاولة في نفس الوقت.

التحقق التلقائي من المخزون (Stock Validation & Auto-Decrement): التحقق من توفر العناصر في المخزن قبل إضافتها للطلب، وخصم الكمية تلقائياً.

حساب الفواتير تلقائياً (Automatic Bill Calculation): تفعيل حساب إجمالي الفاتورة وتخزينه تلقائياً عند إغلاق الطلب بناءً على الأسعار والكميات.

التقارير وواجهات العرض (Views):تم إنشاء Views مخصصة لتلبية احتياجات الإدارة وفريق العمل، وتشمل:جدول وحركة الحجوزات اليومية (Today's Schedule).

سجل حجوزات العملاء وتتبع العملاء الأكثر إلغاءً للحجوزات (Flagged Customers).

تقارير الإيرادات اليومية المجمعة (Revenue).

أصناف القائمة والأقسام الأكثر طلباً ومبيعاً (Most Ordered Items).