هذا المشروع جزء من برنامج تحليل البيانات في أكاديمية طويق، ويهدف إلى تطبيق مهارات استعلامات SQL على قاعدة بيانات لمنصة تواصل اجتماعي افتراضية، بغرض استخراج رؤى تحليلية حول سلوك المستخدمين، تفاعلهم مع المحتوى (منشورات، تعليقات، إعجابات، متابعات، هاشتاقات)، وأنماط النشاط العامة داخل المنصة.
تم بناء قاعدة البيانات بالاعتماد على مخطط علاقات الكيانات (EER Diagram) المرفق، وكتابة الاستعلامات باستخدام MySQL.
تتكون قاعدة البيانات من 13 جدولاً رئيسياً:
| الجدول | الوصف |
|---|---|
users |
بيانات المستخدمين (الاسم، البايو، البريد الإلكتروني، صورة البروفايل) |
post |
المنشورات (الكابشن، الموقع، تاريخ الإنشاء) |
photos |
الصور المرتبطة بالمنشورات |
videos |
الفيديوهات المرتبطة بالمنشورات |
comments |
التعليقات على المنشورات |
comment_likes |
إعجابات التعليقات |
post_likes |
إعجابات المنشورات |
hashtags |
الهاشتاقات |
post_tags |
ربط المنشورات بالهاشتاقات |
hashtag_follow |
متابعة المستخدمين للهاشتاقات |
follows |
علاقات المتابعة بين المستخدمين |
bookmarks |
المنشورات المحفوظة من قبل المستخدمين |
login |
سجل تسجيل دخول المستخدمين |
📎 مخطط الـ EER الكامل موجود في الملف EER_diagram.png.
ملف socialMediaProject.sql مقسّم إلى ثلاثة أقسام رئيسية:
- موقع كل مستخدم
- أعلى 10 هاشتاقات من حيث عدد المتابعين
- أكثر هاشتاق استخدامًا في المنشورات
- أقل المستخدمين نشاطًا (أقل عدد منشورات)
- المنشورات الأعلى من حيث عدد الإعجابات
- متوسط عدد المنشورات لكل مستخدم
- عدد مرات تسجيل الدخول لكل مستخدم
- المستخدمون الذين أعجبوا بكل منشور موجود في المنصة
- المستخدمون الذين لم يكتبوا أي تعليق
- المستخدمون الذين علّقوا على كل منشور
- المستخدمون غير المتابَعين من أي أحد
- المستخدمون الذين لا يتابعون أحدًا
- المستخدمون الذين نشروا أكثر من 5 منشورات
- المستخدمون الذين لديهم أكثر من 40 متابع
- التعليقات التي تحتوي على كلمات محددة (good / beautiful)
- المنشورات ذات أطول كابشن
- عدّ منشورات كل مستخدم وترقيمها حسب تاريخ الإنشاء (
COUNT() OVER) - ترقيم تعليقات كل منشور حسب تاريخ الإنشاء (
ROW_NUMBER()) - مقارنة وقت الإعجاب الحالي بالسابق لكل مستخدم (
LAG()) - ترتيب منشورات كل مستخدم حسب تاريخ الإنشاء (
RANK()) - عرض المنشور التالي لكل مستخدم (
LEAD())
- MySQL لكتابة وتنفيذ الاستعلامات
- MySQL Workbench (أو أداة مشابهة) لتصميم مخطط EER
- مفاهيم:
JOINبأنواعه،GROUP BY/HAVING، الاستعلامات الفرعية (Subqueries)، ودوال النوافذ (Window Functions)
- إنشاء قاعدة البيانات واستيراد الجداول وفق المخطط الموضح في
EER_diagram.png. - تعبئة الجداول بالبيانات (Seed Data).
- تشغيل الاستعلامات الموجودة في
socialMediaProject.sqlبالترتيب أو حسب الحاجة باستخدام أي بيئة MySQL.
├── EER_diagram.png # مخطط قاعدة البيانات
├── socialMediaProject.sql # ملف الاستعلامات
└── README.md # هذا الملف
تم إعداد هذا المشروع ضمن برنامج تحليل البيانات في أكاديمية طويق (Tuwaiq Academy).