أجهزة الكمبيوترقواعد البيانات

"مطبات" DML-فريق تحديث الخلية

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

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

بإيجاز عن DML-البيانات (إدراج)

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

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

عبارة التحديث

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

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

ما الشيء قيل في نظرية ...

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

لتجنب هذا، في بنية قاعدة بيانات MySQL خاص - إدراج * تحديث، الذي إدراج أو تحديث لا يمكن أن يؤديها بشكل مستقل عن بعضها البعض. هذا هو عندما يكون الجدول إدخال شرط معين سيتم تحديثها. إذا، لن يتم العثور على بيانات الظروف في الاعتبار، الخلية خادم قادر على أداء طلب تحميل البيانات.

تحديث البيانات عندما تكون هناك التكرارات

عنصرا هاما من هذا الإدخال - طلب إلى نظام إدارة قواعد البيانات MySQL - «على تكرار مفتاح التحديث» البادئة. بناء الجملة الكامل من الاستعلام كما يلي: «تضاف إلى TEST_TABLE (employer_id، الاسم) القيم ( 1، 'أبراموف') على مفتاح مكررة تحديث LAST_MODIFIED = NOW (). ".

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

في الواقع مشاكل ...

النظر في المثال أعلاه للعمل موظفي التسجيل عند المدخل، حيث أن المشكلة تكمن في استخدام samouvelichivayuschihsya (السيارات _ الزيادة) الحقول، والتي تستخدم عادة لملء قيم المفتاح الأساسي (الابتدائي مفتاح _). إذا كنت تستخدم تحديث قيادة الخلية في التصميم مع إدراج السيارات _ الزيادة، مجال يتزايد باستمرار.

وبالمثل، كل شيء يحدث عند استخدام البناء الاستبدال في حالة الكشف عن مكررة. وزاد "لصناعة السيارات في زيادة" القيمة حتى في حال عدم الحاجة إليه. وبسبب هذا، تنشأ مشاكل القيم تمرير تجاوز أو نطاقات، والتي تؤدي بعد ذلك إلى خلل في أنظمة إدارة قواعد البيانات.

الأرجح المشكلة

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

PHP - نداء إلى قاعدة في كثير من الأحيان القيام بها. لذلك، لتحقيق أقصى قدر من هوامش، الذي يعرف بأنه AUTO_INCREMENT، يحدث بسرعة، وتحليل الصعوبات التي واجهتها لإنشاء الأسباب فقط لن تنجح.

لذلك، يتم تشجيع المطورين لتكون منتبهة لاستخدام التصميم على مفتاح مكرر في تحديث قيادة الخلية. إختار - الاستعلامات عند الوصول سوف خادم قاعدة البيانات يعمل بدون خطأ ولكن إضافة سجلات جديدة إلى قاعدة البيانات محفوف حالات غير سارة في الصدارة في المستقبل إلى مشاكل خطيرة. بدلا من ذلك، فمن المستحسن لحقول زيادة تلقائية في البداية الاختيار لسجلاتها، ومن ثم عقد بها وتحديثها.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 ar.unansea.com. Theme powered by WordPress.