تحليل بيانات الرحلات الجوية وأسباب التأخير باستخدام SQL و Python

تفاصيل العمل

المشكلة: البيانات الخام موزعة على عدة جداول (الرحلات، شركات الطيران، المطارات، الطائرات، الطقس)، ولا تجيب وحدها عن أي سؤال. المطلوب هو ربطها واستخراج إجابات واضحة لأسئلة الإدارة، مثل: أي شركة تتأخر أكثر؟ ومتى يحدث التأخير؟ وهل الطقس هو السبب؟

الحل: بنيت قاعدة بيانات علاقية بخمسة جداول مترابطة بمفاتيح أساسية وأجنبية، وحمّلت فيها بيانات حقيقية لـ 336,776 رحلة من مطارات نيويورك، ثم كتبت 8 استعلامات SQL تربط الجداول وتجيب عن الأسئلة مباشرة.

أبرز النتائج:

أكثر الشركات تأخرًا: Frontier بمتوسط 21.9 دقيقة، بينما تصل طيران ألاسكا مبكرة بمتوسط 9.9 دقيقة.

التأخير يتراكم خلال اليوم: من 0.7 دقيقة الساعة 5 صباحًا إلى 24.8 دقيقة الساعة 7 مساءً.

الضباب يضاعف التأخير: 29.7 دقيقة عند ضعف الرؤية مقابل 11 دقيقة في الجو الصافي.

أسوأ يوم في السنة: 8 مارس، بمتوسط تأخير 83.5 دقيقة وإلغاء 180 رحلة.

عمر الطائرة لا يفسر التأخير: الطائرات الأقدم من 20 سنة لم تكن أسوأ.

التقنيات: ربط الجداول (JOIN)، تجميع البيانات (GROUP BY)، تصنيفات CASE، استعلامات CTE، ودوال النوافذ (Window Functions).

الأدوات: SQL، Python، pandas، SQLite، DBeaver

ملاحظة: مشروع تطبيقي على بيانات عامة حقيقية (nycflights13 من مكتب إحصاءات النقل الأمريكي)، وليس عملًا لعميل.

ملفات مرفقة

بطاقة العمل