16

اي الطريقتين اسرع واخف ومعتمدة اكثر للتعامل مع قواعد البيانات؟

  • NPro

غالبا ما تواجهني مواقع مثل آرابيا، واتساءل دائما كيف تعتمد هذه المواقع على حساب نقاط السمعة للعضو

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

الطريقة الثانية هي وجود جدول كامل خاص بنقاط السمعة، يحتوي على كل نقاط السمعة، وفي كل مرة يحصل فيها العضو على +1 يتم تسجيلها في هذا الجدول، وعند طلب صفحة العضو او التعليق، يتم عمل الحسابات الضرورية لاظهار النقاط المتحصل عليها.

ما رايكم؟ اي هاتين الطريقتين هي المعتمدة في الويب الحديث والتي تنصحوني باعتمادها؟


التعليق السابق

حسب ما قرأت من تعليق عبد المهيمن [1] ومحاولة فهم طريقة تفكيره وتمشيه البرمجي، اعتقد ان جدول المواضيع يحتوي على خانة تسمى عدد التعليقات، يتم اضافة +1 عند كل تعليق، لكن يتم نسيان ازالة 1 في صورة حذفه.

المشكل في هذه الطريقة هو ان تطور الموقع وتضخم عدد ال functions قد ينسيك امورا اساسية. مثلا، اذا تم حذف تعليق يحتوي على 10 تقييمات، لابد من انقاص عدد التقييمات هذه في خانة نقاط السمعة من جدول الاعضاء. هذه الامور من الصعب التفطن اليها اذا ما كبر الكود البرمجي الخاص بالموقع..

[1]

صدقت، ويزيد الأمر تعقيدا إن كنت تريد حظر التعليق، فقط وليس حذفه.

يكون معقداً إن لم تكن محترفاً و متقناً و مرتباً لعملك البرمجي .. لأنه مهما كبر العمل البرمجى فطالما هو منظم و مرتب و مكتوب بصبر وعناية و دقة .. فلن يكون من المعقد أبداً على من كتبه أن قوم بالتعديل فيه .. كمثال على ذلك :

يستخدم أحدهم دالة واحدة للحصول على بيانات عضو من قاعدة البيانات و هذه الدالة يضعها فى model إسمه users_model

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

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

أما الثانى فعليه أن يقوم بالتعديل فى كافة أنحاء الموقع و كل الأماكن البرمجية التى ذكر فيها إستعلاماته عن الأعضاء

و هكذا المبدأ فى كل أنحاء الكود