Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 

Repository files navigation

تحليل بيانات منصة تواصل اجتماعي باستخدام SQL

Social Media Data Analysis Using SQL

📌 نبذة عن المشروع

هذا المشروع جزء من برنامج تحليل البيانات في أكاديمية طويق، ويهدف إلى تطبيق مهارات استعلامات 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 مقسّم إلى ثلاثة أقسام رئيسية:

القسم الأول — استعلامات أساسية (8 استعلامات)

  1. موقع كل مستخدم
  2. أعلى 10 هاشتاقات من حيث عدد المتابعين
  3. أكثر هاشتاق استخدامًا في المنشورات
  4. أقل المستخدمين نشاطًا (أقل عدد منشورات)
  5. المنشورات الأعلى من حيث عدد الإعجابات
  6. متوسط عدد المنشورات لكل مستخدم
  7. عدد مرات تسجيل الدخول لكل مستخدم
  8. المستخدمون الذين أعجبوا بكل منشور موجود في المنصة

القسم الثاني — استعلامات إضافية (8 استعلامات)

  1. المستخدمون الذين لم يكتبوا أي تعليق
  2. المستخدمون الذين علّقوا على كل منشور
  3. المستخدمون غير المتابَعين من أي أحد
  4. المستخدمون الذين لا يتابعون أحدًا
  5. المستخدمون الذين نشروا أكثر من 5 منشورات
  6. المستخدمون الذين لديهم أكثر من 40 متابع
  7. التعليقات التي تحتوي على كلمات محددة (good / beautiful)
  8. المنشورات ذات أطول كابشن

القسم الثالث — دوال النوافذ Window Functions (5 استعلامات)

  1. عدّ منشورات كل مستخدم وترقيمها حسب تاريخ الإنشاء (COUNT() OVER)
  2. ترقيم تعليقات كل منشور حسب تاريخ الإنشاء (ROW_NUMBER())
  3. مقارنة وقت الإعجاب الحالي بالسابق لكل مستخدم (LAG())
  4. ترتيب منشورات كل مستخدم حسب تاريخ الإنشاء (RANK())
  5. عرض المنشور التالي لكل مستخدم (LEAD())

🛠️ الأدوات المستخدمة

  • MySQL لكتابة وتنفيذ الاستعلامات
  • MySQL Workbench (أو أداة مشابهة) لتصميم مخطط EER
  • مفاهيم: JOIN بأنواعه، GROUP BY / HAVING، الاستعلامات الفرعية (Subqueries)، ودوال النوافذ (Window Functions)

🚀 طريقة الاستخدام

  1. إنشاء قاعدة البيانات واستيراد الجداول وفق المخطط الموضح في EER_diagram.png.
  2. تعبئة الجداول بالبيانات (Seed Data).
  3. تشغيل الاستعلامات الموجودة في socialMediaProject.sql بالترتيب أو حسب الحاجة باستخدام أي بيئة MySQL.

📂 محتويات المستودع

├── EER_diagram.png         # مخطط قاعدة البيانات
├── socialMediaProject.sql  # ملف الاستعلامات
└── README.md                # هذا الملف

🎓 الجهة المنظمة

تم إعداد هذا المشروع ضمن برنامج تحليل البيانات في أكاديمية طويق (Tuwaiq Academy).

About

This project aims to apply SQL query skills to the database of a virtual social media platform to extract analytical insights regarding user behavior, content interaction (posts, comments, likes, follows, hashtags), and general activity patterns within the platform.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors