الفرق بين SQL و NoSQL؟ 🤔
خلال رحلتك في عالم البرمجة، أكيد سمعت عن قواعد البيانات (Database) وعرفت إن فيه نوعين مشهورين: SQL و NoSQL، بس إيه الفرق بينهم؟
- بتستخدم جداول (Tables) زي الإكسل كده، كل جدول فيه أعمدة وصفوف، وبيكون فيه علاقات بين الجداول.
- بتستخدم لغة SQL (Structured Query Language) عشان تعمل استعلامات على البيانات (SELECT, INSERT, UPDATE, DELETE).
- مثالية للبيانات المنظمة والمترابطة، زي الحسابات البنكية، بيانات الموظفين، والمخازن.
- أمثلة عليها: MySQL, PostgreSQL, SQL Server, Oracle.
———
لو عندك جدول اسمه Users، ممكن تجيب كل المستخدمين اللي أعمارهم فوق 25 سنة بكود زي ده:
———
- ملهاش جداول ثابتة زي SQL، بتستخدم طرق تخزين مختلفة زي المستندات (Documents)، الـ (Key-Value)، الـ (Wide-Column)، أو الرسوم البيانية (Graph).
- مش بتحتاج مخطط ثابت (Schema-less)، يعني ممكن تخزن بيانات غير متناسقة بدون مشاكل.
- مناسبة للبيانات اللي بتتغير باستمرار والأنظمة اللي بتحتاج سرعة عالية وقابلية توسع كبيرة، زي مواقع التواصل الاجتماعي وأنظمة التحليل الفوري.
- أمثلة عليها: MongoDB (بتستخدم الـ Documents)، Redis (بتستخدم Key-Value)، Cassandra (بتستخدم Wide-Column).
———
في MongoDB، لو عندك مجموعة (Collection) اسمها Users، وعاوز تجيب المستخدمين اللي أعمارهم فوق 25 سنة، هتستخدم استعلام زي ده:
———
✅ الـ SQL مناسب لو عندك بيانات مترابطة وعاوز تضمن التكامل بينها.
✅ الـ NoSQL مناسب لو عندك بيانات غير منظمة، أو بتحتاج تتوسع بسرعة، أو عندك عمليات قراءة وكتابة ضخمة.
———
#دقيقة_برمجة
خلال رحلتك في عالم البرمجة، أكيد سمعت عن قواعد البيانات (Database) وعرفت إن فيه نوعين مشهورين: SQL و NoSQL، بس إيه الفرق بينهم؟
📌 الـ SQL - قواعد بيانات علائقية (Relational Databases)
- بتستخدم جداول (Tables) زي الإكسل كده، كل جدول فيه أعمدة وصفوف، وبيكون فيه علاقات بين الجداول.
- بتستخدم لغة SQL (Structured Query Language) عشان تعمل استعلامات على البيانات (SELECT, INSERT, UPDATE, DELETE).
- مثالية للبيانات المنظمة والمترابطة، زي الحسابات البنكية، بيانات الموظفين، والمخازن.
- أمثلة عليها: MySQL, PostgreSQL, SQL Server, Oracle.
———
📍 مثال سريع:
لو عندك جدول اسمه Users، ممكن تجيب كل المستخدمين اللي أعمارهم فوق 25 سنة بكود زي ده:
SELECT * FROM Users WHERE age > 25;
———
📌 الـ NoSQL - قواعد بيانات غير علائقية (Non-Relational Databases)
- ملهاش جداول ثابتة زي SQL، بتستخدم طرق تخزين مختلفة زي المستندات (Documents)، الـ (Key-Value)، الـ (Wide-Column)، أو الرسوم البيانية (Graph).
- مش بتحتاج مخطط ثابت (Schema-less)، يعني ممكن تخزن بيانات غير متناسقة بدون مشاكل.
- مناسبة للبيانات اللي بتتغير باستمرار والأنظمة اللي بتحتاج سرعة عالية وقابلية توسع كبيرة، زي مواقع التواصل الاجتماعي وأنظمة التحليل الفوري.
- أمثلة عليها: MongoDB (بتستخدم الـ Documents)، Redis (بتستخدم Key-Value)، Cassandra (بتستخدم Wide-Column).
———
📍 مثال سريع:
في MongoDB، لو عندك مجموعة (Collection) اسمها Users، وعاوز تجيب المستخدمين اللي أعمارهم فوق 25 سنة، هتستخدم استعلام زي ده:
db.Users.find({ "age": { $gt: 25 } })
———
أستخدم أي واحد في المشروع؟ 🤔
✅ الـ SQL مناسب لو عندك بيانات مترابطة وعاوز تضمن التكامل بينها.
✅ الـ NoSQL مناسب لو عندك بيانات غير منظمة، أو بتحتاج تتوسع بسرعة، أو عندك عمليات قراءة وكتابة ضخمة.
———
#دقيقة_برمجة
❤4👍2
الفرق بين GET و POST في HTTP 🤔
لما تيجي تتعامل مع الـ APIs، هتقابل نوعين من الـ HTTP Requests مهمين جدًا: GET و POST. طيب إيه الفرق بينهم؟
- بيستخدم لما تحب تجيب بيانات من السيرفر، زي لما تفتح موقع وتشوف البيانات اللي عليه.
- البيانات اللي بتبعتها للسيرفر بتكون في الـ URL نفسه كـ Query Parameters، يعني لو عندك حاجة زي:
https://example.com/users?id=5
ده معناه إنك بتطلب بيانات المستخدم اللي الـ ID بتاعه 5.
- مش آمن لو بتبعت بيانات حساسة زي الباسورد، لأن البيانات بتظهر في الرابط.
- ممكن يتخزن في الكاش (Cache)، فلو عملت نفس الطلب تاني ممكن السيرفر يرد بنفس النتيجة من غير ما يعالج الطلب من جديد.
———
- بيستخدم لما تحب تبعت بيانات للسيرفر عشان تسجّل مستخدم، تبعت بيانات من Form، أو تضيف حاجة جديدة في قواعد البيانات (Database).
- البيانات بتتبعت داخل الـ (Body)، مش في الـ URL، فده بيكون أكثر أمانًا مقارنةً بـ GET.
- مش بيتخزن في الكاش، لأن كل مرة بتبعت فيها بيانات جديدة بيتم معالجتها.
- ممكن يبعت بيانات ضخمة، عكس GET اللي بيكون محدود بحجم الـ URL.
———
- لو عايز تجيب بيانات بس بدون ما تغير أي حاجة في السيرفر استخدم GET
- لو عايز تبعت بيانات أو تعمل تعديل أو تضيف حاجة جديدة استخدم POST
———
يعني مثلًا:
🔹 لو بتبحث في جوجل، ده GET لأنك بتطلب بيانات بس.
🔹 لو بتسجّل دخول في موقع، ده POST لأنك بتبعت بيانات حساسة (الإيميل والباسورد).
———
#دقيقة_برمجة
لما تيجي تتعامل مع الـ APIs، هتقابل نوعين من الـ HTTP Requests مهمين جدًا: GET و POST. طيب إيه الفرق بينهم؟
📌 الـ GET Request
- بيستخدم لما تحب تجيب بيانات من السيرفر، زي لما تفتح موقع وتشوف البيانات اللي عليه.
- البيانات اللي بتبعتها للسيرفر بتكون في الـ URL نفسه كـ Query Parameters، يعني لو عندك حاجة زي:
https://example.com/users?id=5
ده معناه إنك بتطلب بيانات المستخدم اللي الـ ID بتاعه 5.
- مش آمن لو بتبعت بيانات حساسة زي الباسورد، لأن البيانات بتظهر في الرابط.
- ممكن يتخزن في الكاش (Cache)، فلو عملت نفس الطلب تاني ممكن السيرفر يرد بنفس النتيجة من غير ما يعالج الطلب من جديد.
———
📌 الـ POST Request
- بيستخدم لما تحب تبعت بيانات للسيرفر عشان تسجّل مستخدم، تبعت بيانات من Form، أو تضيف حاجة جديدة في قواعد البيانات (Database).
- البيانات بتتبعت داخل الـ (Body)، مش في الـ URL، فده بيكون أكثر أمانًا مقارنةً بـ GET.
- مش بيتخزن في الكاش، لأن كل مرة بتبعت فيها بيانات جديدة بيتم معالجتها.
- ممكن يبعت بيانات ضخمة، عكس GET اللي بيكون محدود بحجم الـ URL.
———
💡 امتى تستخدم كل واحد فيهم؟
- لو عايز تجيب بيانات بس بدون ما تغير أي حاجة في السيرفر استخدم GET
- لو عايز تبعت بيانات أو تعمل تعديل أو تضيف حاجة جديدة استخدم POST
———
يعني مثلًا:
🔹 لو بتبحث في جوجل، ده GET لأنك بتطلب بيانات بس.
🔹 لو بتسجّل دخول في موقع، ده POST لأنك بتبعت بيانات حساسة (الإيميل والباسورد).
———
#دقيقة_برمجة
❤6👍3
DevMeetsDevs 🔥
Unlock your creativity with these incredible websites—your next project’s inspiration starts here!
https://devmeetsdevs.com
❤4