تعلم قواعد البيانات من أجل تحليل البيانات: SQL وNoSQL من الصفر حتى الاحتراف

لو ناوي تدخل مجال تحليل البيانات Data Analysis، فتعلم قواعد البيانات من أهم الخطوات اللي لازم تكون موجودة في خطتك. السبب بسيط: البيانات اللي بيشتغل عليها محلل البيانات داخل الشركات مش بتكون دايمًا ملف Excel جاهز، لكنها غالبًا موجودة داخل قواعد بيانات فيها آلاف أو ملايين السجلات.

هنا بيظهر دور SQL، لأنها بتسمحلك توصل للبيانات المطلوبة، تعمل Filter، تجمع الأرقام، تربط أكتر من جدول ببعض، وتستخرج المعلومات اللي محتاجها للتحليل.

وبجانب قواعد البيانات العلائقية، ظهر نوع آخر هو NoSQL، واللي بيستخدم طرق مختلفة لتخزين البيانات ويشمل أنظمة معروفة زي MongoDB.

ولو أنت مبتدئ تمامًا، ممكن تبدأ بموديول Query relational data من Microsoft Learn، وهو تدريب مجاني للمبتدئين يشرح مفهوم SQL واستخدامها في Query وInsert وUpdate وDelete داخل قواعد البيانات العلائقية. (learn.microsoft.com)

كيف تتعلم SQL وNoSQL لاستخدامهما في تحليل البيانات؟

ابدأ بقواعد البيانات العلائقية وأوامر SQL الأساسية

قواعد البيانات العلائقية Relational Databases بتنظم البيانات داخل Tables مكونة من Rows وColumns.

مثلًا، متجر إلكتروني ممكن يكون عنده:

Customers Table

Products Table

Orders Table

Payments Table

في جدول Customers ممكن تلاقي:

Customer_ID
Name
Email
City

وفي Orders:

Order_ID
Customer_ID
Order_Date
Amount

العلاقة بينهم ممكن تتم من خلال Customer_ID.

وهنا لازم تفهم مفهومين مهمين جدًا:

Primary Key

قيمة مميزة لكل Record داخل الجدول.

و:

Foreign Key

قيمة بتستخدم لربط جدول بجدول آخر.

ومن أشهر أنظمة قواعد البيانات العلائقية:

MySQL

PostgreSQL

Microsoft SQL Server

Oracle

لكن كمحلل بيانات، الأهم في البداية مش اختيار Database معينة، وإنما تعلم SQL نفسها.

ابدأ بالأمر:

SELECT

وده بيستخدم لاسترجاع البيانات.

بعدها:

WHERE

لتصفية النتائج.

ثم:

ORDER BY

لترتيب النتائج.

و:

GROUP BY

لتجميع البيانات.

وبعدها Functions مهمة جدًا زي:

COUNT

SUM

AVG

MIN

MAX

مثلًا لو عندك بيانات مبيعات، ممكن تسأل:

ما إجمالي المبيعات؟

متوسط قيمة الطلب كام؟

ما أعلى منتج مبيعًا؟

عدد الطلبات في كل مدينة؟

المبيعات في كل شهر؟

بعدها لازم تتعلم JOINs.

ودي من أهم مهارات SQL لمحلل البيانات؛ لأن البيانات غالبًا موزعة على أكتر من جدول.

ركز على:

INNER JOIN

LEFT JOIN

RIGHT JOIN

وبعد ما ترتاح مع الأساسيات، انتقل إلى:

Subqueries

CTEs

CASE

Window Functions

وممكن تطبق بالتوازي على كورس SQL على STJ، وهو الرابط الموجود في المحتوى الأصلي ويغطي أساسيات قواعد البيانات والاستعلامات والتصفية والتجميع.

 

 

 

 

تعلم NoSQL وMongoDB بعد إتقان SQL

بعد ما تبني أساس قوي في SQL، تقدر تبدأ تتعرف على NoSQL.

NoSQL مش معناها نوع واحد من قواعد البيانات، لكنها مجموعة من النماذج المختلفة.

منها:

Document Databases

Key-Value Databases

Graph Databases

Column-Family Databases

وأشهر مثال للمبتدئين هو MongoDB.

MongoDB بتعتمد على Document Model، والبيانات فيها بتكون في Documents بدل Rows بالشكل التقليدي.

لو عندك بيانات مستخدم، ممكن الـDocument يحتوي على:

Name

Email

Phone

Preferences

Orders

وبيكون شكل البيانات مرن أكتر من بعض قواعد SQL التقليدية.

وده مفيد في تطبيقات معينة بتتغير فيها بنية البيانات بشكل مستمر.

لكن مهم جدًا متفهمش إن NoSQL بديل “أفضل” من SQL.

الاختيار بيعتمد على المشروع.

SQL مناسبة جدًا لو عندك:

علاقات واضحة بين البيانات.

احتياج قوي للاتساق.

أنظمة مالية أو إدارية.

تقارير وتحليلات Business.

أما NoSQL ممكن تكون مناسبة أكتر لما تكون البيانات:

كبيرة جدًا.

مرنة أو متغيرة.

غير علائقية بطبيعتها.

مستخدمة في تطبيقات حديثة بتحتاج Scalability عالية.

ولو عايز تبدأ MongoDB من المصدر الرسمي، تقدر تدخل على Introduction to MongoDB من MongoDB University، واللي بيغطي Atlas وCRUD وAggregation وIndexing وData Modeling وTransactions. (learn.mongodb.com)

MongoDB University نفسها بتوفر حاليًا عدد من الكورسات والـSkills المجانية، منها CRUD Operations وAggregation Fundamentals وData Modeling. (learn.mongodb.com)

ولو عايز كورس عربي، تقدر تبدأ من كورس MongoDB على STJ، واللي بيتناول إنشاء قواعد البيانات والمجموعات والبحث والتصفية والتعديل والحذف.

كيف تستخدم قواعد البيانات للحصول على وظيفة Data Analyst؟

ابنِ مشاريع تجمع SQL مع Excel وPython وPower BI

لو هدفك وظيفة Data Analyst، متقفش عند تعلم Commands.

لازم تعمل Projects.

ابدأ مثلًا بمشروع متجر إلكتروني.

اعمل Tables:

Customers

Products

Orders

Order Details

بعدها حاول تجاوب باستخدام SQL:

ما إجمالي الإيرادات؟

ما أعلى 10 منتجات؟

مين العملاء الأعلى إنفاقًا؟

ما متوسط Order Value؟

أي شهر حقق أعلى Sales؟

أي مدينة فيها أكبر عدد من العملاء؟

بعدها اعمل JOIN بين Customers وOrders.

ثم استخدم GROUP BY لتحليل الأداء حسب المدينة.

وبعد كده استخدم Window Functions علشان تعمل Ranking للمنتجات أو العملاء.

المشروع الثاني ممكن يكون HR Database.

اعمل بيانات فيها:

Employees

Departments

Salaries

Attendance

واستخرج:

متوسط المرتب في كل Department.

عدد الموظفين.

أعلى مرتب.

نسبة الغياب.

الموظفين اللي راتبهم أعلى من متوسط القسم.

بعدها تقدر تاخد نتيجة SQL وتدخلها على Excel أو Power BI.

وده قريب من الـWorkflow الحقيقي:

Database → SQL → Data Cleaning → Analysis → Visualization → Insights

والنص الأصلي نفسه بيشرح التكامل ده بين SQL وPython وPower BI وExcel.

بعد استخراج البيانات باستخدام SQL، ممكن تستخدم Python وPandas في تنظيف وتحليل أكثر تقدمًا.

وبعدين Power BI لعمل Dashboard.

مثلاً Dashboard فيها:

Revenue

Orders

Top Products

Top Customers

Monthly Trend

Region Performance

وده أقوى بكتير في الـPortfolio من إنك تقول فقط:

“I know SQL.”

في كل مشروع اعرض:

Business Problem

Database Design

SQL Queries

Analysis

Dashboard

Insights

Recommendations

علشان تبين إنك مش حافظ Syntax بس، لكن بتعرف تستخدم البيانات لحل مشكلة.

أسئلة إنترفيو SQL وDatabase المتوقعة

لو بتقدم على Junior Data Analyst أو BI Analyst، غالبًا SQL هتكون جزء مهم من الإنترفيو.

من أشهر الأسئلة:

What is the difference between WHERE and HAVING?

WHERE بتستخدم لتصفية Rows قبل التجميع.

HAVING غالبًا بتستخدم لتصفية النتائج بعد GROUP BY.

سؤال:

What is the difference between INNER JOIN and LEFT JOIN?

INNER JOIN بيرجع الـRecords اللي ليها Match في الجدولين.

LEFT JOIN بيرجع كل Records من الجدول الأول، حتى لو مفيش Match في الجدول الثاني.

ومن الأسئلة المهمة:

What is a Primary Key?

قول:

“A primary key uniquely identifies each record in a table.”

وممكن تتسأل:

What is a Foreign Key?

“A foreign key is used to create a relationship between two tables.”

وسؤال:

What does GROUP BY do?

بتستخدم لتجميع Rows لها قيمة مشتركة علشان تقدر تطبق Aggregation زي SUM أو COUNT أو AVG.

وممكن يطلب منك Query عملية.

مثلًا:

“Find total sales for each product.”

أو:

“Return the top five customers by revenue.”

أو:

“Show departments with an average salary greater than 20,000.”

وبعدها ممكن يرفع مستوى السؤال ويسألك:

What is a CTE?

أو:

What are Window Functions?

أو:

What is the difference between ROW_NUMBER, RANK and DENSE_RANK?

علشان كده بعد الأساسيات لازم تتدرب على مسائل حقيقية، مش مشاهدة فيديوهات فقط.

ولو اتسألت:

SQL or NoSQL: which one is better?

متقولش واحدة أفضل.

الإجابة الأقوى:

“It depends on the use case. Relational databases are useful when the data has structured relationships and consistency requirements, while NoSQL databases can be useful when data structures are more flexible or the system needs different scaling patterns.”

ولو كتبت MongoDB في الـCV، ممكن تتسأل:

What is a document in MongoDB?

What is a collection?

What are CRUD operations?

What is aggregation?

What is the difference between relational and document databases?

وتقدر تتدرب على المفاهيم دي من MongoDB University، واللي بتوفر حاليًا تدريبات مجانية وSkill Badges في موضوعات MongoDB المختلفة. (learn.mongodb.com)

أما لو هدفك الأساسي Data Analyst، فالترتيب العملي الأفضل غالبًا يكون:

Excel → SQL → Statistics → Power BI → Python → Projects → NoSQL عند الحاجة

متبدأش MongoDB قبل ما تكون فاهم SQL كويس، لأن SQL أقرب بصورة مباشرة للمهام اليومية في كثير من وظائف تحليل البيانات.

والأهم إنك متقيسش تقدمك بعدد أوامر SQL اللي حفظتها، لكن بقدرتك على النظر إلى Database وفهم العلاقات بين الجداول، وكتابة Query تجيب الإجابة اللي محتاجها، وبعدها تحويل النتائج إلى Insight مفيدة للشركة.

لما توصل للمرحلة دي، تكون قواعد البيانات تحولت من موضوع تقني بتدرسه إلى واحدة من أهم الأدوات اللي تعتمد عليها فعليًا في شغلك كمحلل بيانات.