DataBase قواعد بيانات – Telegram
DataBase قواعد بيانات
2.42K subscribers
201 photos
9 videos
42 files
82 links
قواعد بيانات تمارين و امثله ..
Download Telegram
🎯 كيف يُنفّذ استعلام SQL داخل قاعدة البيانات؟
نفترض أن المستخدم كتب الاستعلام التالي:

SELECT name, age FROM users WHERE city = 'San Francisco'; 

🔍 لنرى كيف قاعدة البيانات تتعامل مع هذا الطلب خطوة بخطوة:

الخطوة 1: نظام النقل (Transport Subsystem)

أول ما يوصل الاستعلام للسيرفر، يدخل على "نظام النقل" وهو المسؤول عن:

فتح الاتصال بين المستخدم وقاعدة البيانات.

التحقق من الهوية (Authentication).

التأكد من صلاحيات المستخدم (Authorization).

🧪 مثال واقعي: تخيل أنك فتحت تطبيق البنك وسألت عن رصيدك... لازم النظام يتأكد إنك أنت فعلاً صاحب الحساب قبل ما يجاوبك.

الخطوة 2: معالج الاستعلام (Query Processor)

الآن يبدأ "عقل" قاعدة البيانات في التحليل:

🔹 المُحلّل اللغوي (Parser): يفكك الاستعلام إلى أجزائه (SELECT، FROM، WHERE...) ويتأكد ما فيه أخطاء في الكتابة.

🔹 المُحسّن (Optimizer): يتأكد من أن الجداول موجودة، ويبحث عن أفضل طريقة لتنفيذ الاستعلام بأقل تكلفة (يعني أسرع وأقل استخدام للموارد).

🧪 مثال واقعي: لو طلبت من جوجل "مطاعم بيتزا قريبة"، فهو يحاول يجيب النتائج بأقرب وأسرع طريقة بناءً على موقعك.

الخطوة 3: محرك التنفيذ (Execution Engine)

بعد ما يتم إعداد "خطة التنفيذ"، يتم إرسالها إلى هذا المحرك لتنفيذها فعلياً.

🔸 ينفّذ العمليات خطوة بخطوة.

🔸 يستدعي البيانات المطلوبة من وحدة التخزين.

🔸 يجمّع النتائج ويرجعها للمستخدم.

🧪 مثال واقعي: كأنك طلبت أوردر من مطعم، والمطبخ بدأ يجهّز الطلب قطعة قطعة ويرسله لك جاهز في النهاية.

الخطوة 4: محرك التخزين (Storage Engine)

هنا تُنفّذ الأوامر على مستوى الملفات والبيانات الفعلية:

🔸 مدير المعاملات: يضمن تنفيذ سليم وآمن.

🔸 مدير الأقفال: يمنع التعارض بين عدة مستخدمين.

🔸 مدير الذاكرة المؤقتة: يتحقق إذا البيانات جاهزة في الذاكرة أو لا.

🔸 مدير الاسترجاع: يسترجع البيانات لو حصل خطأ أو انقطع التيار.

🧪 مثال واقعي: المحاسب داخل الشركة ما يفتح أي خزنة إلا بإذن، ويتأكد ما في تعارض بين طلبين بنفس الوقت، ويحتفظ بسجل كامل للعمليات.

💬 سؤالك الآن: هل كنت تتخيل أن استعلام SQL بسيط يمر بكل هذه المراحل المعقّدة؟ 😄

#SQL #تصميم_الأنظمة #مطورون #تعلم_البرمجة #Backend #SystemDesign #Database
1
الصورة توضح 6 هياكل بيانات (Data Structures) تستخدم لتقليل استهلاك التخزين في قواعد البيانات، وخصوصًا مع البيانات الكبيرة (Big Data) أو عند الحاجة لأداء عالٍ وسرعة معالجة.
الصورة توضح 6 هياكل بيانات (Data Structures) تستخدم لتقليل استهلاك التخزين في قواعد البيانات، وخصوصًا مع البيانات الكبيرة (Big Data) أو عند الحاجة لأداء عالٍ وسرعة معالجة. دعني أشرح كل واحدة منها بالتفصيل مع أمثلة واقعية.

1. Bloom Filter

🔹 الوصف: هيكل بيانات احتمالي يستخدم لاختبار ما إذا كان عنصر معين موجودًا في مجموعة أم لا، دون الحاجة إلى تخزين العناصر نفسها.
🔹 الفائدة: تقليل عدد عمليات القراءة الباهظة من قواعد البيانات أو الأقراص.
🔹 العيب: قد يعطي نتيجة إيجابية كاذبة (false positive)، لكنه لا يعطي نتيجة سلبية كاذبة.
🔹 مثال واقعي: تخيل أن موقعًا إلكترونيًا يتحقق مما إذا كان البريد الإلكتروني موجودًا في قائمة الحظر. باستخدام Bloom Filter، يمكن التحقق من ذلك بسرعة كبيرة دون الحاجة إلى الوصول إلى قاعدة البيانات.

2. HyperLogLog

🔹 الوصف: خوارزمية لحساب عدد العناصر المميزة (unique elements) في مجموعة، ولكن بشكل تقريبي، وباستخدام ذاكرة قليلة جدًا.
🔹 الفائدة: توفير الذاكرة عند حساب عدد الزوار الفريدين (unique visitors) أو عدد المنتجات الفريدة.
🔹 مثال واقعي: موقع إخباري يريد معرفة عدد الزوار الفريدين يوميًا. بدلًا من تخزين كل IP، يمكنه استخدام HyperLogLog لتقدير العدد بدقة عالية وبذاكرة لا تتجاوز 1.5KB.

3. Cuckoo Filter

🔹 الوصف: هيكل بيانات يشبه Bloom Filter، لكنه يسمح بعمليات الإزالة (deletion) من المجموعة، ويعطي نتائج دقيقة أكثر.
🔹 الفائدة: مناسب في التطبيقات التي تحتاج إلى إضافة وحذف عناصر بشكل متكرر.
🔹 مثال واقعي: في أنظمة جدران الحماية (firewalls)، يمكن استخدام Cuckoo Filter لتخزين وتحديث قائمة عناوين IP الممنوعة بشكل ديناميكي.

4. MinHash

🔹 الوصف: تقنية لحساب تشابه المجموعات الكبيرة بطريقة تقريبية باستخدام توقيعات مختصرة (hash signatures).
🔹 الفائدة: تقارن المستندات أو البيانات الضخمة دون الحاجة إلى قراءتها بالكامل.
🔹 مثال واقعي: شركة مثل Google تستخدم MinHash للكشف عن المحتوى المكرر (duplicate content) بين صفحات الويب.

5. SkipList

🔹 الوصف: هيكل بيانات يشبه القائمة المرتبطة (Linked List) ولكن بطبقات متعددة تسمح بتسريع عمليات البحث، الإضافة، والحذف.
🔹 الفائدة: أداء مقارب لشجرة البحث الثنائية ولكن بطريقة أبسط في التنفيذ.
🔹 مثال واقعي: يستخدم في أنظمة قواعد البيانات مثل LevelDB لترتيب المفاتيح (keys) بشكل سريع أثناء الإضافة والقراءة.

6. Count-Min Sketch

🔹 الوصف: هيكل بيانات يستخدم لحساب عدد مرات تكرار العناصر في تدفق بيانات كبير (Data Stream)، لكنه يعتمد على التقريب.
🔹 الفائدة: لا يحتاج لتخزين كل العناصر لتقدير التكرار.
🔹 مثال واقعي: موقع مثل YouTube يريد معرفة عدد مرات ظهور كل فيديو في النتائج، يمكنه استخدام Count-Min Sketch بدلاً من تخزين كل نتيجة بحث.

🔍 خلاصة:

الهيكلالاستخداممميزاتBloom Filterالتحقق من وجود عنصرسريع جدًا، استهلاك ذاكرة منخفضHyperLogLogتقدير عدد العناصر الفريدةذاكرة صغيرة جدًاCuckoo Filterالتحقق مع دعم الحذفنتائج أدق من BloomMinHashمقارنة مجموعات كبيرةمثالي للتشابهSkipListعمليات بحث مرتبةسريع وسهل التنفيذCount-Min Sketchتقدير التكرارفعال مع تدفقات البيانات

ما الهيكل الإضافي الذي يمكن إضافته؟

Trie (Radix Tree)
🔹 يستخدم لتخزين وتجميع النصوص أو الكلمات بسرعة، مثل القواميس، أو نظام الإكمال التلقائي.
4
رمز الكائن العلائقي و الكائن الضعيف
انواع المفاتيح : ( سيتم انزال الترجمة عند التفرغ لذلك )


Entity keys: Refers to an attribute that uniquely defines an entity in an entity set. Entity keys can be super, candidate or primary.

Super key: A set of attributes (one or more) that together define an entity in an entity set.

Candidate key: A minimal super key, meaning it has the least possible number of attributes to still be a super key.

An entity set may have more than one candidate key.

Primary key: A candidate key chosen by the database designer to uniquely identify the entity set.

Foreign key: Identifies the relationship between entities
رمز العلاقة الضعيفة و العلاقة الاعتيادية
رموز وصف نوع الارتباطات العلائقية
رمز وصف الزامية وجود العلاقة بين الكائنين

اما الزامية ( mandatory ) او اختيارية ( optional )
تعددية عناصر الارتباطات العلائقية
رموز الربط بين التعددية والالزامية
قاعدة بيانات لعبة جماعية اونلاين
قاعدة بيانات لمدرسة القسم التعليمي فقط
قاعدة بيانات شركة مقاولة اعمال و مشاريع
قاعدة بيانات شركة اتصالات

وحدة المكالمات و الشكاوي
قاعدة بيانات مكتبة صغيرة
قاعدة بيانات فندق
وحدة النزلاء