تقييم الموضوع :
  • 1 أصوات - بمعدل 4
  • 1
  • 2
  • 3
  • 4
  • 5
[نقاش] ما الفائدة من تخزين الملفات في قاعدة البيانات ؟
#1
السلام عليكم

كما هو معلوم أن بعض المشاريع تحتاج فيها ملفات من نوع صورة او ملف pdf او غيرها من الملفات

أرى في بعض المواضيع بعض الأخوة يسأل عن تخزين الصورة أو الملف في قاعدة البيانات فأردت من هذا النقاش هو  معرفة ما هي فائدة هذه الطريقة ولماذا لا يتم حفظ الملفات في مجلدات في نفس مسار المشروع ؟

يعني اعمل مجلد للصور ومجلد لملفات الوورد ومجلد لملفات pdf وهكذا ؟

لماذا الإصرار من البعض في تخزين الملفات في القاعدة ؟

هل مثل عمل هذا النوع من الطرق يؤثر على القاعدة وهل يكبر حجم ال قاعدة بسرعة أم يتم حفظ الملفات بطريقة مضغوطة ؟

وهل طريقة استرجاع الملفات يأخذ وقت طويل ملقارنة بحفظها في مجلد ؟

مجموعة من الاستفسارات أردت أن نستخرج منها ما هو أفضل في عملية الحفظ.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة: أبوبكر سويدان , أبوبكر سويدان
#2
وعليكم السلام ورحمة الله وبركاته

بالنسبة لي افضل التعامل مع الملفات في مجلدات ولكن هذا الموضوع له عيوب
من اهم العيوب انك عند عمل باك اب لقاعدة البيانات يجب عليك ايضا ان تعمل حفظ لهذه المجلدات في نفس مكان النسخة الاحتياطية

وكذلك فستكون البيانات عرضة للتلف فمثلا تخيل لو ان مستخدم ذكي قام بحذف مجلد الصور ؟؟؟


وكذلك فان الكود سيكبر لانك تتعامل مع اكثر من عنصر (قاعدة بيانات - مجلد صور - مجلد نصوص) وهكذا  مما يصعب عملية الصيانة ومتابعة الكود
الرد }}}
#3
أخي أحمد
بخصوص مسألة الحفظ الأحتياطي فكما انك تعمل نسخة احتياطية للقاعدة عن طريق الشفرة أو عن طريق برنامج رديف فباستطاعتك نسخ المجلدات وليس في هذا مشكلة على الإطلاق ( يعني العمل هو نفسه ).

أما بخصوص مجلد الصور وانه باستطاعت بعض المستخدمين للوصول له فكذلك القاعدة يمكن الوصول لها ( في بعض الأحيان )، لكن السؤال المهم من وجهة نظري هنا هل يمكن بطريقة ما وضع المجلدات على الشبكة ووضع صلاحيات لها بحيث لا يمكن الحذف فقط يمكن القراءة والتعديل ؟
وإن كان التعديل صعب على المجلد الرئيسي للصور فيمكن عمل ألتفات على المجلد وذلك بعمل مجلد آخر يعمل على نسخ اي صورة داخل المجلد من خلال برنامج يعمل بالخلفية يقول بنقل الصور من مجلد يمكن الإضافة له إلى مجلد لا يمكن الإضافة له وبذلك نتغلب على المشكلة أو العقبة ( هل من حل آخر ).


أما بخصوص كتابة أسطر البرنامج فمن الطبيعي يكون هنالك متغيرات تتعامل مع المجلدات وبذلك يكون عدد أسطر البرنامج اكثر ولا اظن أن هذه مشكلة ؟

بصراحة طرحك وردك على الموضوع ونقاشك معي من الجولة الأولى ولد لدي فكرة لم تخطر لي على بال من قبل إلا حينما أردت نقاش النقاط التي طرحتها علي.

فأشكرك على التحاور واتمنى من الجميع طرح ما عندهم من أفكار والإجابة على تساؤلات الموضوع.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:
#4
السلام عليكم ورحمة الله وبركاته

اعتقد من وجهة نظري أن تخزين الصور في قاعدة البيانات  له بعض الفوائد

أهم هذه الفوائد الأمان

فتخيل معي أخي الكريم لو كنا نصمم برنامج حسابات

ومن ضمن إمكانيات هذا البرنامج أنه يحتفظ لك بصور الشيكات أو الكمبيالات أو إيصالات الأمانة

فإذا وضعت هذه الملفات في مجلد فستصبح في متناول الجميع

أو حتى إذا قمت بعمل نسخة احتياطية على اسطوانة أو فلاش ميموري لقاعدة البيانات + مجلد الصور فقد تقع هذه الملفات في يد أحد العابثيين

أما إذا وضعت هذه الصور بقاعدة بيانات لها كلمة سر قوية وصلاحيات للوصول لها

أيضا تشفيير  النسخة الاحتياطية من قاعدة البيانات بعد أخذها

اعتقد أن هذا سيساعد على زيادة نسبة الأمان لهذا النوع من صور المستندات الهامة
الرد }}}
تم الشكر بواسطة: عبد الله
#5
أخي حسام

وعليكم السلام ورحمة الله وبركاته

أنت تقول أن وضع الملفات في مجلد ستكون في متناول الجميع كيف يكون هذا ؟ إلا إن كان المجلد متاح على الشبكة للجميع وهذا خطأ ! يجب وضع صلاحيات للمجلدات على الشبكة بحيث لا يمكن الوصول لها إلا من خلال بعض المستخدمين الذي يحق لهم الإطلاع على المجلد.

لكن في النهاية أتفق معك أن أسهل الحلول هو وضعها في قاعدة البيانات وحفظها برقم سري قوي وكذلك تشفير القاعدة و لكن مع الوقت ألا تتفق معي أن عملية أخذ النسخة الأحتياطية ستكون عبئ كبير خاصة مع انتفاخ القاعدة من الصور ؟

طيب فلنفكر في حل آخر ، ألا يمكن حفظ الصور في مجلد وتشفيرها ( تساؤل ) هل التشفير مقتصر على ملف قاعدة البيانات ؟

سؤال آخر اتمنى الكل يشاركنا فيه، هل الأفضل وضع ملف قاعدة بيانات للنصوص وملف قاعدة بيانات آخر للصور ؟ هل هذه الطريقة مجدية من حيث سرعة الإستعلام وغيرها ( خاصة مع الملفات الكبيرة ) ؟
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة: Hossam 2005
#6
موضوع تخزين الصور في قاعدة البيانات ربما سبب ذلك مشكلة في الأداء حسب طريقة التعامل مع قاعدة البيانات لنفرض أنه لديك قاعدة بيانات تحتوي على 15000 اسم مثلا ولنفترض أننا سنخزن صورهم الشخصية فإن كانت الصورة بحدود 50 كيلو بايت مثلا يعني ذلك 732 ميغا وإن كبرت الصورة أو زاد العدد زاد الحجم فإن كان البرنامج موزعا على شبكة ولديك عدد من مستخدمي البرنامج يقومون بالبحث والاستعلام في نفس الوقت فربما سيؤدي هذا الوضع إلى بطء ملحوظ في التعامل مع قاعدة البيانات وكان الحل الأسرع لكفاءة العمل في هذه الحالة وقتها هو تخزين رابط ملف الصورة في قاعدة البيانات وتخزين الصور في مجلد
بالنسبة لموضوع النسخ الاحتياطي أصبح هناك عبئ إضافي على المكلف بمهام النسخ الاحتياطي وهو تذكر النسخ الاحتياطي لمجلد الصور إضافة لقاعدة البيانات ويبرز أحد الحلول هنا استخدام مهمة مجدولة لعمل نسخة احتياطية من قاعدة البيانات وعمل برنامج صغير لنسخ مجلدات الصور احتياطيا مع مهمة مجدولة له الآخر
يبقى موضوع الآمان فالوصول للمجلدات عبر الشبكة يجب أن يكون محميا أولا بجدار ناري قوي مع إعدادات مناسبة للبرامج والمستخدمين للعمل إضافة إلى صلاحيات الوصول للمجلدات حسب الحاجة ولنفرض أننا قمنا بعمل برنامج قواعد البيانات بتقنية asp .net اصبح لدينا خيار إضافي للتحكم بالوصول للمجلدات فلم يعد من الضروري أن يكون لمستخدم البرنامج صلاحيات للوصول إلى مجلدات المخدم بالأساس فالصلاحيات هي للبرنامج تمنح للمستخدم احتياجاته من تخزين وقراءة من خلال IIS الذي يعتبر هنا واجهة أمان إضافية دون حق وصول فعلي له للملفات على المخدم
بالنسبة لتشفير الصور عند تخزينها في مجلد هناك فكرة قمت بتجريبها منذ فترة وهي عمل خدمة ويندوز تراقب الملفات في مجلد فعند تخزين ملف جديد تقوم بتشفيره تلقائيا وبهذا تضمن أن الخدمة تشفر أي ملف فور تخزينه أو تعديله مباشرة والاحتياجات الأساسية لهذه الخدمة هو خوارزمية تشفير مناسبة و FileSystemWatcher ولن يصعب على المبرمج تفكيك تشفير الملف فور قراءته
الرد }}}
تم الشكر بواسطة: عبد الله
#7
ما شاء الله إضافة مميزة للموضوع أخي سامر ،،،

بخصوص النقطة الأخيرة التي ذكرتها وهي تشفير الملفات فور تخزينه ، إن كان لا مانع لديك وكان وقتك يسمح بهذا وهو أن تضع لنا مثال لكيفية عمال مثل هذا الأمر، لأنه في غاية الأهمية لبعض من يريد أن يحتاط من هذه الناحية، الفائدة في التشفير هي من تلاعب الصبيان وبعض ممن يتلقفون ما ليس لهم الحق فيه، وإلا فالمعلوم أن المبرمج المتخصص يستطيع فك بعض أنواع الملفات ( وهذا تجده نادر في بعض المؤسسات والجهات والشركات ) خاصة في وطننا العربي.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:
#8
تفضل السورس كود في المرفقات

ومن اجل الشرح توجه لموقع كتب وحمل كتابي دروس في الفيجول بايزيك دوت نيت وانتقل للموضوع الموجود في الصفحة 75

رابط الكتاب http://kutub.info/library/book/3527


الملفات المرفقة
.rar   AutoFileEncryptor.rar (الحجم : 75.33 ك ب / التحميلات : 97)
الرد }}}
تم الشكر بواسطة: عبد الله
#9
بصراحة أخي سامر فإن إشارتك للكتاب في الموضوع لفتني لفوائد كثيرة ما كنت لأحصل عليها إلا أن يشاء الله.

أشكرك جزيل الشكر على الكتاب وعلى الملف المرفق الغني بالمعلومات، وبارك الله فيك.
قال رسول الله صلى الله عليه وسلم ( من قال لا إله إلا الله دخل الجنة ) حديث صحيح.
قال رسول الله صلى الله عليه وسلم ( كلمتان خفيفتان على اللسان ثقيلتان في الميزان حبيبتان للرحمن : سبحان الله وبحمده سبحان الله العظيم ) حديث صحيح.
الرد }}}
تم الشكر بواسطة:


المواضيع المحتمل أن تكون متشابهة .
الموضوع : الكاتب الردود : المشاهدات : آخر رد
  هل من الممكن العمل على قاعدة بيانات اكسل على الفيجوال بيسك خالد كامل1 4 83 24-03-24, 02:00 AM
آخر رد: خالد كامل1
  [VB.NET] حل مشكلة الاتصال بقواعد البيانات access loay775 2 158 25-02-24, 06:29 AM
آخر رد: loay775
  انشاء قاعدة بيانات من ملف سكربت strongriseman 5 500 17-02-24, 02:57 PM
آخر رد: strongriseman
  سؤال عن عملية حذف سجل من قاعدة البيانات assuhimi 3 249 11-02-24, 08:43 PM
آخر رد: assuhimi
  فلترة datagridview بدون قاعدة بيانات صالح عبدالله 3 295 02-02-24, 04:07 PM
آخر رد: صالح عبدالله
  [VB.NET] منع تكرار البيانات في عند الادخال مبرمج صغير 1 2 255 24-01-24, 05:18 PM
آخر رد: مبرمج صغير 1
Photo [كود] مطلوب كود يستخدم الأوامر فقط لتحديث قاعدة بيانات بـ vb.net AhmedEissa 4 638 18-01-24, 11:40 PM
آخر رد: العتيق
  [VB.NET] مساعدة في استدعاء البيانات معينه من form الأول إلى form 2 بدون التعديل loay775 2 275 18-01-24, 05:04 PM
آخر رد: loay775
  [VB.NET] إعادة استدعاء البيانات من قاعدة بيانات اكسس والاهم الصورة مبرمج صغير 1 1 273 13-01-24, 01:17 PM
آخر رد: مبرمج صغير 1
  [VB.NET] إضافة أو حذف حقل فى قاعدة بيانات باستخدام كود VB.net AmeenRashed 21 1,198 30-12-23, 03:47 PM
آخر رد: Taha Okla

التنقل السريع :


يقوم بقرائة الموضوع: بالاضافة الى ( 1 ) ضيف كريم