عبدالله الناصري نشر 9 نوفمبر 2017 أرسل تقرير نشر 9 نوفمبر 2017 السلام عليكم ورحمة الله وبركاته يتفق الجميع معي أن هناك تقنيات كثيرة للتعامل مع قواعد البيانات من حيث اضافة البيانات واستدعائها او التعديل عليها وايضا حذفها ...الخ سؤالي : انا استخدم جمل sql (insert, update,delete,search) من داخل لغة البرمجة كـ code behind الكثير ينصح بعدم استخدام مثل هذه الطريقة للأسباب التالية : 1- التعامل مع قواعد البيانات من خلال شيفرات لغة البرمجة تعتبر طريقة قديمة ولكنها تؤدي الغرض 2- طريقة البرمجة بهذه الطريقة ضعيفة الأداء ! 3- طريقة البرمجة بهذه الطريقة تسبب تعليقات في النظام (اذا كان عدد المستخدمين للنظام كثيرون) 4- لا يمكن بناء تطبيقات كبيرة بهذه الطريقة لصعوبة التعديل على الكود وغير ذلك هل من توضيح حول هذه المسألة كوني معتمد في أغلب مشاريعي على هذه الطريقة والتي هي استخدام جمل sql بداخل الكود البرمجة بمعنى آخر (برمجة اجرائية) وشكرا لكم اقتباس
0 Hussam Barbour نشر 9 نوفمبر 2017 أرسل تقرير نشر 9 نوفمبر 2017 أولا ماهي اللغة التي تستخدمها في برامجك ؟ ثانيا الأسباب الأربعة التي ذكرتها اعتقد أنه الأول والرابع فقط هو صحيح و أما الثاني والثالث فلا اعتقد أن الطريقة التقليدية في أوامر قواعد البيانات تسببها اقتباس
0 عبدالله الناصري نشر 10 نوفمبر 2017 الكاتب أرسل تقرير نشر 10 نوفمبر 2017 بتاريخ 15 ساعات قال Hussam Barbour: أولا ماهي اللغة التي تستخدمها في برامجك ؟ ثانيا الأسباب الأربعة التي ذكرتها اعتقد أنه الأول والرابع فقط هو صحيح و أما الثاني والثالث فلا اعتقد أن الطريقة التقليدية في أوامر قواعد البيانات تسببها asp net c sharp sql server اقتباس
0 Hussam Barbour نشر 10 نوفمبر 2017 أرسل تقرير نشر 10 نوفمبر 2017 للأسف ليس لدي الخبرة في asp.net ولكن حاول أن تتعلم طريقة البرمجة الكائنية اقتباس
0 الحسين السليماني نشر 27 نوفمبر 2017 أرسل تقرير نشر 27 نوفمبر 2017 عليكم السلام إن كنت تستعمل تقنيات مايكروسوفت فأنصحك بتعمل تقنية LINQ To SQL او Entity Framework فهي توفر عليك الوقت والحماية خصوصا ان كانت قاعدة البيانات كبيرة. اقتباس
0 محمد المري2 نشر 21 يناير 2018 أرسل تقرير نشر 21 يناير 2018 بتاريخ On 11/9/2017 at 14:43 قال عبدالله الناصري: السلام عليكم ورحمة الله وبركاته يتفق الجميع معي أن هناك تقنيات كثيرة للتعامل مع قواعد البيانات من حيث اضافة البيانات واستدعائها او التعديل عليها وايضا حذفها ...الخ سؤالي : انا استخدم جمل sql (insert, update,delete,search) من داخل لغة البرمجة كـ code behind الكثير ينصح بعدم استخدام مثل هذه الطريقة للأسباب التالية : 1- التعامل مع قواعد البيانات من خلال شيفرات لغة البرمجة تعتبر طريقة قديمة ولكنها تؤدي الغرض 2- طريقة البرمجة بهذه الطريقة ضعيفة الأداء ! 3- طريقة البرمجة بهذه الطريقة تسبب تعليقات في النظام (اذا كان عدد المستخدمين للنظام كثيرون) 4- لا يمكن بناء تطبيقات كبيرة بهذه الطريقة لصعوبة التعديل على الكود وغير ذلك هل من توضيح حول هذه المسألة كوني معتمد في أغلب مشاريعي على هذه الطريقة والتي هي استخدام جمل sql بداخل الكود البرمجة بمعنى آخر (برمجة اجرائية) وشكرا لكم في لغات البرمجة عموماً يٌفضل دائماً العزل بين أوامر قواعد البيانات و دوال البرنامج نفسه. وهذا فقط لأجل تفادي أي تعديلات مستقبلية قد تطرأ على أوامر قواعد البيانات . مثال لتوضيح الفكرة: برنامج يقوم بعمل أمر استعلام لجدول يحمل 4 أعمدة ويظهرها للمستخدم. وبعد عدة أشهر تم إضافة 3 أعمدة جديدة للجدول ولابد ان تظهر في البرنامج. فستحتاج إلى إضافة الأعمدة الجديدة في البرنامج وعمل re-compile للبرنامج من جديد. وهذا الأمر سيتكرر في كل مره يتم التغيير في هيكلة الجدول المتصل بالبرنامج. قس على ذلك حجم قاعدة البيانات والبرنامج, فكلما كبر البرنامج او قاعدة البيانات كلما اصبح هنالك صعوبة بالتحكم فيها. فلو تم فرزها كلن على حده اصبح التحكم فيها اسهل وافضل. اضف إلى ذلك عند دمج لغات البرمجة أو تقنيات اخرى يتوجب على المبرمج أن يحاول جاهداً بتفادي التكرار فيها وفرز التقنيات المدمجة معه والاستفادة من خصائصها. فمثلاً لو كان هنالك دمج بين C# و SQL Server. من الافضل دائماً ان تستخدم الـ C# للأمور التي لايمكن عملها على الـ SQL Server. لتتمكن من الوصول إلى افضل أداء وتحكم ممكنين. مثال: لديك ملفات بصيغ مختلفه بها بيانات لا يمكن للـ SQL Server تحويلها إلى جداول. فقمت بإستخدام C# لقرائتها وتحويلها إلى جداول داخل البرنامج ثم بعد ذلك إضافتها الى جداول مخصصة قمت بإضافتها في قاعدة البيانات. من بعد إضافتها هنا ينتهي دور الـ C# ويأتي دور الـ SQL Server بالإستفادة من خصائصة مثل Stored Procedure, Trigger وغيرها لإكمال معالجة البيانات بحسب رغبتك .. وهذا الأمر مفيد للمبرمج والسبب أن لكل تقنية لها أدواتها الخاصة التي تساعد المبرمج الحصول على افضل نتائج ممكنة. على سبيل المثال اداة Execution Plan في الـ SQL Server تساعد على تسهيل رفع اداء ال Query بحيث يمكن للمبرمج معرفة أي جزء من الـ Query استهلاكه أعلى والتي يتوجب التعديل عليه للحصول على افضل اداء ممكن. إذا حاولت عمل الـ Query في الـ C# لن تتمكن من معرفة اداء الـ Query التي قمت بعملها. وذلك لأن الـ C# سيكون متصل بالـ SQL Server وفقط سيقوم بإعطاء الـ Query وبقية المعالجة ستكون داخل الـ SQL Server والـ C# سيكون في وضع الإنتظار طيلة فترة المعالجة. حين انتهاء الـ SQL Server من الـ Query سيظهر النتائج وسيقرأها الـ C# وهنا يعود الأمر مرة اخرى الى الـ C# ليكمل تنفيذ بقية الكود. اقتباس
السؤال
عبدالله الناصري
السلام عليكم ورحمة الله وبركاته
يتفق الجميع معي أن هناك تقنيات كثيرة للتعامل مع قواعد البيانات من حيث اضافة البيانات واستدعائها او التعديل عليها وايضا حذفها ...الخ
سؤالي :
انا استخدم جمل sql (insert, update,delete,search) من داخل لغة البرمجة كـ code behind
الكثير ينصح بعدم استخدام مثل هذه الطريقة للأسباب التالية :
1- التعامل مع قواعد البيانات من خلال شيفرات لغة البرمجة تعتبر طريقة قديمة ولكنها تؤدي الغرض
2- طريقة البرمجة بهذه الطريقة ضعيفة الأداء !
3- طريقة البرمجة بهذه الطريقة تسبب تعليقات في النظام (اذا كان عدد المستخدمين للنظام كثيرون)
4- لا يمكن بناء تطبيقات كبيرة بهذه الطريقة لصعوبة التعديل على الكود
وغير ذلك
هل من توضيح حول هذه المسألة كوني معتمد في أغلب مشاريعي على هذه الطريقة والتي هي استخدام جمل sql بداخل الكود البرمجة بمعنى آخر (برمجة اجرائية)
وشكرا لكم
5 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.