AudioVideo
EP06 - Data Access - Part 1 - ORMs
About this episode
في الجزء الأول من موضوع الوصول إلى البيانات، يناقش محمد الشريف وأحمد الملط الخيارات الشائعة للتعامل مع قواعد البيانات وكيف تؤثر على تصميم النظام وقابليته للتوسع. تبدأ الحلقة بموازنة استخدام الإجراءات المخزنة مقابل SQL الديناميكي: العزل والأمان والتحكم في العقود من جهة، ومخاطر خلط منطق الأعمال بكود قاعدة البيانات وصعوبة الاختبار وإدارة الإصدارات من جهة أخرى. ثم تنتقل المناقشة إلى طبقات التطبيق وفصل المسؤوليات بين طبقة الوصول للبيانات ومنطق الأعمال وواجهة العرض، قبل تقديم أنماط مثل Connected وDisconnected وActive Record. وتختتم الحلقة بتمهيد لمشكلة المواءمة بين نموذج الكائنات والجداول العلائقية، ولماذا ظهرت أدوات ORM وما التحديات العملية المرتبطة بها.
Episode notes
• مقارنة الإجراءات المخزنة وSQL الديناميكي في تصميم الوصول إلى البيانات
• استخدام الإجراءات المخزنة كعقد يعزل التطبيق عن تفاصيل الجداول والعلاقات
• تقييد صلاحيات التطبيق على الجداول وإتاحة إجراءات محددة لتحسين الأمان
• مخاطر وضع منطق الأعمال داخل الإجراءات المخزنة، بما فيها الاختبار وإدارة الإصدارات
• مرونة SQL الديناميكي مقابل مخاطر الاستعلامات غير المحسّنة وخلطها بمنطق الأعمال
• فصل المسؤوليات في تطبيق متعدد الطبقات: الوصول للبيانات ومنطق الأعمال وواجهة العرض
• نماذج الوصول المتصل والمنفصل للبيانات، ودور Connections وCommands وData Readers
• بناء طبقة وصول عامة قابلة لإعادة الاستخدام ودعم أكثر من محرك قواعد بيانات
• نمط Active Record والفجوة بين الجداول العلائقية ونموذج الكائنات
• تمهيد لأدوات ORM وتحديات المواءمة والأداء والكود المُولّد