2. Outlines
مقدمة
تاريخ
؟ADO.NET ماهي
الولوج المتصل وغير المتصل
.NET مزودات البيانات في
ADO.NET أهم أصناف
سيناريو العمل
Provider كائنات المزوّد
كائنات المستهلك
05 2 تشرين الثاني، 14
3. مقدمة
قواعد المعطيات أحد أهم العناصر في معظم النظم المعلوماتية
قلب أي عمل برمجي هو البيانات.
طريقة جديدة للوصول للبيانات . ADO.NET
هو مجموعة من الصفوف التي تؤمن لنا الاتصال بقاعدة : Providers
المعطيات وتنفيذ الاستعلامات وترد لنا النتيجة.
05 3 تشرين الثاني، 14
4. لمحة مختصرة عن تاريخ الوصول إلى البيانات
مكتباته الخاصة من التوابع DBMS المشكلة سابقا كانت في أن لكل
.Sybase SQL Server يستخدم واجهة IBM DB و 2 OCI تستخدم واجهة Oracle: مثلاً
إذا أرادت الشركة تغيير نظام قاعدة البيانات فأن عليها إعادة كتابة التطبيق من البداية!
لكن مشكلته صعوبة التعامل معه كونه يعتمد على ODBC تم حل المشكلة السابقة بواسطة
. COM
05 4 تشرين الثاني، 14
5. الولوج المتصل وغير المتصل إلى قاعدة المعطييات
الولوج المتصل
. )ADO.NET قبل ( ADO طريقة قديمة كانت متبعة في
يتم فتح اتصال مع مخدم قاعدة المعطيات ويبقى هذا الإتصال مفتوحا طيلة
فترى العمل , مما يؤدي إلى استهلاك عالي للموارد , وقد يكون المخدم
مشغولاً بمعالجة اتصالات أخرى .
05 5 تشرين الثاني، 14
6. الولوج المتصل وغير المتصل إلى قاعدة المعطييات
الولوج الغير متصل
نقوم بفتح إ تصال مع مخدم قاعدة المعطيات لطلب استعلام معين , ADO.NET في
. Data set في بنية معطيات تسُمى RAM ثم نقوم بتخزين المعطيات في الذاكرة
ستتم العملية كما ADO.NET إذا أردت تعديل سجل موظف باستخدام
يلي :
اتصالاً مع قاعدة المعطيات ADO.NET 1. يؤسس
2. سيتم استخراج البيانات التي تريد العمل معها من قاعدة المعطيات لتصُبح على ذاكرة
-DataSet وتحديداً في RAM الجهاز المحلي–في ال
3. الآن يمكننا معالجة هذه البيانات للفترة التي نرغبها دون أن نحجز
اتصال اوعندما نكون جاهزين لتخزين البيانات المُعدّلة نتصل مع مخدم
قاعدة المعطيات لفترة قصيرة من الوقت لإجراء التعديلات.
05 6 تشرين الثاني، 14
7. ؟ADO.NET ماهي
والتي تمُكّننا من .NET Framework هو مجموعة من الأصناف المُدمجة مع :ADO.NET
.NET FrameWork الوصول إلى البيانات من خلال اللغات التي يدعمها
System.Data.dll ضمن المُجمعة ADO.NET توجد أصناف
هو توفير وصول بسيط للبيانات العلائقية . ويتم ذلك من خلال ADO.NET الهدف الرئيسي ل
أصناف سهلة تمثل الجداول والأعمدة والحقول في قواعد البيانات العلائقية .
ضمن DataBase وهو عبارة عن : Dataset الصنف ADO.NET يقدم
الذاكرة )محطة مؤقتة للعمل ريثما يتم تعديل نسخة الذاكرة مع نسخة قاعدة(
05 7 تشرين الثاني، 14
8. .NET مزودات البيانات في
هو طبقة مجردة أو وسيطة بين التطبيقو نظام إدارة قواعد : Provider مزود البيانات
. DBMS المعطيات
يحوي مجموعة من التوابع الخاصة :Provider
DataBase بالوصول إلى المعطيات الموجودة في
التطبيق DB
05 8 تشرين الثاني، 14
9. .NET مزودات البيانات في
.NET ومزود بيانات DataSet الكائن :ADO.NET هناك قسمان رئيسيان لكائنات
من عدد من مكونات البيانات الخاصة التي تسمح لنا بالوصول Provider يتألف مزود البيانات
للبيانات وبالتواصل مع مصادر البيانات كلاً على حده وهي كالتالي :
موجودة ضمن فضاء الأسماء Access ويستخدم مع قواعد بيانات : OLEDB -1 مزود البيانات
System.Data.OleDb.
موجودة ضمن فضاء SQL Server يستخدم مع قواعد بيانات : SqlClient -2 مزود بيانات
System.Data.SqlClient. الأسماء
مزود عام لجميع أنظمة قواعد المعطيات )يمكن استخدامه للاتصال مع : ODBC -3 مزود بيانات
.System.Data.Odbc مثلا (موجودة ضمن فضاء الأسماء Oracle قاعدة معطيات
05 9 تشرين الثاني، 14
10. ADO.NET أهم أصناف
تنقسم إلى قسمين :
وهي كالتالي: Provider كائنات مزود البيانات
.NET Consumer Object كائنات المستهلك
Connection كائن التصال
Command كائن الأمر
CommandBuilder مُن الأوامر
DataReader قار البيانات
DataAdapter مُكي البيانات
05 10 تشرين الثاني، 14
11. سيناريو العطمل
يكون التعامل مع عملية القراءة والكتابة وفقا للسيناريو
التالي :
Connection 1. فتح اتصال مع مصدر البيانات من خلال الكائن
. DataSet 2. نقل البيانات من مصدر البيانات ووضعها ضمن
. )DataSet ( 3. قراءة البيانات ومعالجتها من خلال كائنات المستهلك
4. نقل التحديثات التي طرأت على البيانات في الذاكرة إلى مصدر البيانات من خلال
كائنات المزوّد.
بينما الخطوة )DB( الخطوة الثالثة لا تحتاج إلى اتصال مباشر مع مصدر البيانات
. )DB( الرابعة تحتاج إلى اتصال مع مصدر البيانات
05 11 تشرين الثاني، 14
12. Provider كائنات المزوّد
وهي كالتالي : .NET هذه الكائنات مُعرّفة في كل مزود من مزودات
Connection كائن التصال
يؤمن لنا الاتصال بقاعدة معطيات سواء كانت على الجهاز المحلي أو على مخدم على
الشبكة لذلك قد نحتاج إلى اسم المخدم واسم قاعدة المعطيات وكلمة سر مستخدم مدير قاعدة المعطيات .
DBMS والذي يتم تنفيذه داخل Query SQL يمثل : Command كائن الأمر
CommandBuilder كائن مُن الأوامر
الأبسط من حيث الستخدام و الأسرع من حيث الوصول :DataReader كائن قار البيانات
من مصدر البيانات . Forword-Only لقراءة البيانات وب كل أمامي فقط
يستخدم هذا الكائن لتأدية عمليات عديدة محددة وموجهة : DataAdapter كائن مُكي البيانات
. DataSet لمصدر البيانات. مثل ملئ وتحديث مجموعة البيانات
05 12 تشرين الثاني، 14
13. Consumer Object كائنات المستهلك
هذه الكائنات تتعامل مع جميع المزودات وهي :
: DataSet كائن مجموعة البيانات
يمثل قاعدة معطيات في الذاكرة , مجموعة من الجداول المرتبطة ببعضها البعض والتي يُشار إليها
كوحدة واحدة في التطبيق.
يعمل في نمط عدم التصال
. DataTable كائن الجدول
. DataColumn كائن العمود
. DataRow كائن السطر
. DataRelation كائن العلاقة
05 13 تشرين الثاني، 14
14. الربط مع قاعدة المعطييات
.)NorthWind( سنستخدم في جميع الأمثلة قاعدة معطيات معروفة ومشهورة
05 14 تشرين الثاني، 14
15. الوصول إلى جدول ضمن قاعدة المعطييات وقراءة محتوياته باستخدام قارئ البيانات
ID Name Age
13156131511 Hammood 22
5161251251 Nizar 23
5612456135 Motaz 23
9808112951 Saeed 23
05 15 تشرين الثاني، 14
16. Data set ملئ وتحديث تحديث
Adapter.Fill(ds,”Customers”)
2- Query Result
1- SqL Query
DataSet
In RAM DataAdapter DB
Adapter.Update(ds,”Customers”)
Find Updated Rows Reflect Changes
05 16 تشرين الثاني، 14
19. ADO.NET في XML دعم
Person Table
ID Name Age
1315613151
Hammoo
22
1
d
5161251251 Nizar 23
561245613
Motaz 23
5
98081129
51
Saeed 23
05 19 تشرين الثاني، 14
20. Constraint التعطامل مع القيود
روط التكامل: هي مجموعة من ال روط التي نقوم بتعريفها ضمن
الجدول من أجل الحفاظ على صيغة نطامية للمعلومات .
.Allow Null, Foreign Key,Primary Key , Unique
. EnforceConstraints الخاصية
05 20 تشرين الثاني، 14
21. Transactions التعطامل مع المناقلات
: ACID المناقلة :هي مجموعة من التعليمات البرمجية والتي تحقق الخاصية
Atomicity
مجموعة التعليمات هي عبارة عن كتلة واحدة فإما أن يتم تنفيذها كاملة )تنفيذ جميع التعليمات( أو أن ل يتم تنفيذ أياا من هذه التعليمات .
Coherence
العلاقات المنطقية بين المعطيات تبقى دللتها صحيحة بعد نجاح المناقلة أو فشلها.
Isolation
لا تتعلق نتيجة المناقلة بنتيجة مناقلة أخرى تتم على التوازي
Durability
نتيجة المناقلة لا يمكن أن تتغير بعد انتهائها.
05 21 تشرين الثاني، 14
22. Stored Procedures الإجراءات المخزنة
الإجراء المُخزن :هو قسم من الشيفرة يتم تخزينه ضمن قاعدة المعطيات
نفسها أي تعمل في جانب المخدّم .
يمكن لأي شخص أن يقوم باستدعاء الإجراء مخزن للقيام بعملية إضافة أو
حذف أو تعديل سجل ضمن جدول معين مثلاً .
. SqL تنفيذ الإجراءات المخزنة أكثر فاعلية من تنفذ استعلامات
يعامل كما يعامل أي إجراء عادي .
05 22 تشرين الثاني، 14
23. كتابة إجراء خمخزن في قاعدة البيانات
إضافة منتج إلى جدول المنتجات ويأخذ متحولات تمُثل قيم جميع الأعمدة
)Auto Generated( كبارمترات ماعدا رقم المنتج لأنه يتم توليده تلقائي اا
ويرد رقم المنتج.
05 23 تشرين الثاني، 14
24. Trigger القادح
ما هو القادح ؟
عند DBMS مجموعة من التعليمات المُخزنة داخل في قاعدة المعطيات التي يُنفذها آلي اانظام إدارة قواعد المعطيات
على جدول معين ضمن قاعدة المعطيات. )insert,update,delete,…( حدوث حدث معين
متى يتم تنفيذ القادح ؟
حدث معين )أحداث القادح Instead of أو عوضاا عن After أو بعد Before قبل "Firing" يتم تنفيذ القادح
)DDL أو DML هي عمليات
لماذا يستخدم القادح ؟
- يكون القادح ذو أهمية كبيرة في حال كنا نريد مراقبة أي عمليات أو أي تغييرات تتم على جدول معين والقيام بعمليات قبل
أو بعد أو عوض ااهذا الحدث.
05 24 تشرين الثاني، 14