U3F1ZWV6ZTU0OTkzNjM2MzYxMDU0X0ZyZWUzNDY5NDc0MTE2Mzc3Ng==

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

الجزء السابع تابع تقنيات الربط مع قواعد البيانات


طيب نواصل الجزء السابق وكان إتكلمنا عن ظهور تقنية الـ ADO.NET وطرحنا سؤال في الجزء  السابق عن قواعد البيانات العلائقية.
قبل ما نبدأ في الموضوع نجاوب على السؤال ونأخذ معلومة مفيدة : قواعد البيانات العلائقية دي ممكن أشبه بـ "شجرة العائلة" المقصود بيها الداتابيز بتحتوي على مجموعة جداول مترابطة مع بعضها البعض وفق تحليل معين وبتكون مترابطة مع بعضها البعض في شكل علاقات ممكن نقول كمثال البياناتفي جدول مربوطة مع بيانات في جدول آخر One to One وبيانات في جدول مربوط مع أكثر من بيانات في جدول أخرOne to Manyوبرضو عندناMany to Manyالعلاقة المتشعبةمثلاً زي أكثر من بيانات في جدول الأول مربوط مع أكثر من بيانات في الجدول الأخر ... ودي طبعاً البنقوم بإنشاء جدول إضافي محايد مهمته فقط يربط بين بيانات الجدولين المتشعبين ديل ودا علم قائم بذاته حنخصص ليهو سلسلة مقالات متخصصة بإذن الله ... وطبعاً دا سبب التسمية بقواعد البيانات العلائقية


🙂
طبعاً تقنيةADO.NET دي بتدعم التعامل مع قواعد البيانات العلائقية والغير علائقية برضو بمرونة أكثر من الـ ADO ... وتستطيع تقنية الـADO.NET الوصول إلى معظم قواعد البيانات الموجودة Oracle, SQL Server, MySQL, Access, MangoDB, MariaDB, بكل سهولة ومرونة وقوة أكثر من التقنيات الظهرت السابقة.

دا برجع لعدم الإستسلام في العقبة البتواجهك نعتقد أنو السبب الرئيسي لنجاح الـ ADO.NET هي تجارب مايكروسوفت مع تقنيات الـ DAO و RDO و ADO ودا أدى تقنية الـ ADO.NET.
طبعاً تقنية الـ ADO.NET برضو بتستطيع الوصول والتعامل مع ملفات الـ XML بجانب التعامل  مع قواعد البيانات.

وتحتوي الـ ADO.NET على مجموعة من الأدوات البساعد المبرمج في تطوير برمجياته ومنها
- الـ Connection دا كلاس خاص بالتعامل مع إتصالات قواعد البيانات.
- الـ Command دا كلاس خاص بالتعامل مع تمرير أوامر SQLL إلى قاعدة البيانات ويستخدم مع أوامر الـ DML و DDL و DCL و TCL بجانب أوامر Backup و Restore.
- الـ DataAdapter دا المسؤول عن جلب البيانات من قاعدة البيانات بإستخدام Selectt مباشرة بدون الحوجة لإستخدام الـ Command وتحضر البيانات في شكل جدول Table.
- الـ DataReader دي المسؤولة عن جلب البيانات من قاعدة البيانات أيضا بإستخدام الـ  Select ولكن تتطلب الإستعانة بالـ Command لتنفيذ الأمر وتحضر البيانات في شكل مصفوفة Array وتستخدم غالباً في أكواد الـ Login وإحضار البيانات البسيطة التي نحتاج إليها في البرمجيات.

طبعاً الكلاسات السابقة دي مسميات عامة فقط ... مثلا في SQL Server بنستدعي مكتبة System.Data.SqlClient ونكتب SqlConnection وSqlCommand وهكذا بينما في مكتبة System.Data.OracleClient بنكتب OracleConnection و OracleCommand وفي الربط مع الأكسس بننادي مكتبة System.Data.OleDb وبنكتب OleDbConnection و OleDbComand ولكن ما يميز مكتبة الـ OLEDB أنها ممكن تتعامل مع Access و SQL Server و Oracle.
وبرضو في مكتبة تم تطويرها لقواعد بيانات MySql وهي System.Data.MySqll ويتم إستدعاها بنفس الطريقة MySqlConnection و MySqlCommand بالطريقة دي.

أما الكلاسات عامة قاعدة في مكتبة System.Data وبتتعامل مع جميع مكتبات الربط مع قواعد البيانات زي
- الـ DataSet دي كلاس ممكن نقول عليهو"قاعدة بيانات إفتراضية" في الذاكرة في البرنامج لإجراء التعديلات عليها مؤقتاً قبل إرسال التعديلات النهائية إلى قاعدة البيانات Database ممكن كمقال بتستخدمها الـ DataAdapter في تخزين البيانات في شكل جدول تم جلبه من قاعدة البيانات ... ومن خلال أداة الـ DataGridView نقوم بعرض البيانات من خلال الـ DataSet وليس الـ DataBase مباشرة.
- الـ DataTable دي "جدول إفتراضي" في الذاكرة ويكون داخل الـ DataSett زي ما قلنا أنو DataAdapter فوق تقوم بإنشاء نسخة من البيانات في شكل Table التم جلبها من قاعدة البيانات وتخزينها داخل الـ DataSet.
طبعاً في وضعين مستخدمين في الـ ADO.NET
 - الوضع المنفصل : هو الوضع الذي يقوم بفتح الإتصال مع قاعدة البيانات وجلب البيانات وإغلاق الإتصال بقاعدة البيانات وإجراء جميع العمليات في الذاكرة داخل الـ DataSet وبعد الإنتهاء يقوم البرنامج بالإتصال بقاعدة البيانات مجدداً وعمل التحديثات الجديدة في البيانات وإغلاق الإتصال مرة أخرى.
- الوضع المتصل : هو الوضع الذي يقوم بفتح الإتصال مع إبقاءه فاتح وإجراء جميع العمليات  Live في قاعدة البيانات وبعد الإنتهاء يقوم البرنامج بإغلاق الإتصال .... وطريقة الوضع المتصل فعالة جداً في حال تريد جلب بيانات ضخمة وليس لديك مساحة ذاكرة كافية لجلب هذه البيانات ... ستعمل بها في الوضع المتصل.
في حالات بنحتاج للوضع الأول وبعض الحالات نحتاج لإستخدام الوضع الثاني ... كلاهما لهما إستخداماتهم في تطوير المشاريع البرمجية.
طبعاً مايكروسوفت طورت تقنية الـ ADO.NET بشكل أفضل وأكثر فاعلية وقدموا الـ LINQ To SQLوهي إحدى التقنيات المضمنة في ADO.NETTحنتكلم عنها في جزء قادم بالتفصيل بإذن الله.
شاركونا بإجاباتكم وأرائكم حول هذا الموضوع
نتمنى لكم قضاء أطيب الأوقات.
يمكنك قراءة الدرس الثامن بالضغط هنا
تعليقات
ليست هناك تعليقات
إرسال تعليق

إرسال تعليق

الاسمبريد إلكترونيرسالة