الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

تحميل بيانات من قاعدة البيانات (بعيدة) إلى الذاكرة (cache)

بدأه Eng. Usama El-Mokadem في 12 فبراير 2007 · 3 رد · 3,471 مشاهدة · في قواعد بيانات Microsoft Access
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

قاعدة البيانات المستخدمة للتوضيح وفى إعداد الأمثلة التالية (Microsoft Access 2003):

Caching.zip

فى هذا الموضوع سيتم توضيح طريقة:

1) استخدام نظام (Cache) خاص لرفع أداء تطبيقات قواعد البيانات

الهدف: تطبيق ذلك بطريقة سهلة، وبأقل مجهود من المبرمج.

1) استخدام نظام (Cache) خاص لرفع أداء تطبيقات قواعد البيانات

لرفع أداء تطبيق قاعدة البيانات، بالخصوص التى تعمل من خلال شبكة – و قد تقوم بتجميع البيانات من عدة قواعد بيانات موزعة – وبالتالى فسرعة الشبكة سيكون له تأثير فى أداء التطبيق، وقد تكون البيانات الموجودة فى الجدول الموجود على الشبكة زمن الثبات لها طويل (لا تتغير بسرعة)، والتطبيق يتعامل معها أكثر من مرة، وفى كل مرة يقوم بجلب نفس البيانات عبر الشبكة (دون داعى) !

لتوضيح الفكرة - لنفترض على سبيل المثال أن إدارة تعليمية مرتبطة بشبكة بالمدارس التابعة لها، وعدد المدارس كبير، وكل مدرسة لديها قاعدة بيانات (ولنفترض أنها تسمى Loacl.mdb) إحدى محتوياتها جدول (Classes) يحتوى على أسماء الفصول فى المدرسة وكود يشير إلى مشرف المنطقة الذى يشرف على هذا الفصل. أما بالنسبة للإدارة فلديها قاعدة بيانات أخرى (ولنفترض أنها تسمى Remote.mdb) تحتوى على جدول (Employees)، وهو يشير إلى بيانات المشرف. وحيث أنه يتم التبديل بين المشرفين كل فترة، فسيتم تحديث بيانات المشرفين فى الإدارة أسبوعياً (فى جدول Employees) مع ثبات رقم الـ (ID)، وبالتالى كل مدرسة يمكنها معرفة المشرفين الجدد دون الاحتياج لتحديث قاعدة بياناتها، وذلك بالاستعلام فى قاعدة بيانات الإدارة عبر الشبكة.

وبإستخدام الـ (Cache) سيتم الاستلام عن بيانات المشرف وإحضارها عبر الشكة، أول مرة فقط، ثم سيتم تخزينها فى (Caching system) داخل قاعدة البيانات، واستدعائها من الـ (Cache) بعد ذلك، عند الاحتياج إليها.

المثال يحتوى على قاعدتين بيانات (Remote.mdb) وتحتوى على جدول أسماء المشرفين، و (Local.mdb) ويحتوى على نظام إدارة الـ (Cache)، وعلى نموذجين (Classes - Cache):

1) النموذج (Classes): يقوم بعض الفصول الدراسية، وعند الانتقال لفصل جديد يقوم بالاستعلام فى الـ (Cache) عن بيانات المشرف بالدالة (GetEmployeeFromCache)، وفى حالة العثور عليها يقوم بعرضها.

Private Sub Form_Current()
	Dim EmpID As Long
	Dim pCurrentEmp As Employee
	Dim bCache As Boolean

	EmpID = Val(SupervisorID.Value)

	Set pCurrentEmp = GetEmployeeFromCache(EmpID) ' إحضار بيانات من الـكاش عند وجودها
	If Not pCurrentEmp Is Nothing Then
		Call UpdateData(pCurrentEmp)
		lblState.Caption = "Cache"
	Else
		Call ClearData
	End If
End Sub

كذلك يحتوى على الزرار (تحميل مشرف المنطقة ...) والذى يقوم بجلب البيانات من قاعدة البيانات فى حالة عدم وجودها فى الـ (Cache)، بأستخدام الدالة (GetEmployee).

2) النموذج (Cache): وهو نظام إدارة الـ(Cache)، ويسمح بتحميل البيانات دفعة واحدة إلى الـ (Cahe) أو تفريغها أو تصفحها.

ملحوظة: لمزيد من التوضيح حول استخدام الـ (Linked list):

/index.php?showtopic=118580

مثال على استخدام (Linked list) فى تطبيق قاعدة بيانات (Microsoft Access):

/index.php?showtopic=118581

وشكراً

تم تعديل هذه المشاركة بواسطة Eng. Usama El-Mokadem في 29 يناير 2008 في 09:56

Eng. Usama El-Mokadem

Nothing is impossible, the word impossible itself says that: I M - Possible

#2

الف شكر لك أخي الكريم بارك الله فيك على هذا الجهد المخلص

#3

كل الشكر والتقدير

لم أستطع تحميل الملف الرجاء تحميله مرة ثانية هناك مشكلة

#4

بسم الله الرحمن الرحيم

بارك الله فيك اخي الكريم

فعلا يوجد مشكلة في تحميل المثال

هل يمكن اعادة تحميلة مرة اخرى

تم تعديل هذه المشاركة بواسطة sx1 في 21 أبريل 2008 في 12:13

مواضيع مشابهة