08-07-24, 02:46 PM
(آخر تعديل لهذه المشاركة : 08-07-24, 02:47 PM {2} بواسطة salamandal.)
(07-07-24, 08:14 PM)Taha Okla كتب : في الـ SQLite النسخ الاحتياطي من ضمن أكواد الكائن نفسه أو ضمن عمل نسخة أخرى من خلال النسخ واللصق هي ليست بذات الجدوى المرجوة منها..اخ طه هي فكرة جميلة
وذلك لأنه :
- عندما تضيف أي بيانات إلى أي قاعدة بيانات : فإنه حتماً سيزداد حجم قاعدة الباينات (وهذا معروف للكل).
- لكن عند مسح أي بيانات : تبقى قاعدة البيانات بنفس الحجم ولا ينخفض حجمها بحجم الداتا الممسوحة منها.
- هنا يأتي دور النسخ الاحتياطي الأساسي : حيث أنه ينسخ البيانات الموجودة فقط، ويتجاهل ما تم مسحه،
بالتالي يعطي حجم داتا حقيقي.
- هناك ببعض قواعد البيانات مثل الاكسس مثلاً ميزة ضغط وإصلاح قاعدة البيانات : بالتالي يتخلص من الحجوم الظاهرة والغير مستخدمة.
- لكن هذه الميزة غير موجودة في SQLite .
- بالتالي الحل الأمثل لها لتستفيد من عمل نسخة إحتياطي فعليه هو :
أن تنشئ فعلياً قاعدة بيانات لها نفس جداول القاعدة الأساسية.
ثم من خلال أكواد الـ SQL أن تعمل نسخ بيانات من كل جدول في القاعدة الأساسية إلى الجدول المقابل له في القاعدة الإحتياطية.
ومن سلبية هذا الأمر أنه يأخذ وقت فعلي بحجم البيانات،
ولكن الميزة تظهر في النهاية أنه يعطي قاعدة بيانات حقيقة الحجم..
ولكن اعتقد اني وجدت عند تصفح قواعد البيانات بمتصفحها الخاص sqlite browser اجد من ضمن الادوات التي يتيحها ضمن القوائم التي يتضمنها خاصية ضغط القاعدة وهي تضغط القاعدة بشكل فعلي وتنقص حجمها ايضا على نحو شبيه بقواعد بيانات اكسس
لذلك خمنت ان وجود مثل هذه الخاصية بالكود ممكن جدا
