কম্পিউটার

কিভাবে MySQL সীমাবদ্ধতা মোকাবেলা করে?


মাইএসকিউএল কীভাবে সীমাবদ্ধতার সাথে কাজ করে তা আমাদের বুঝতে দিন −

MySQL আমাদের লেনদেন সংক্রান্ত টেবিলের সাথে কাজ করতে সাহায্য করে (যা রোলব্যাকের অনুমতি দেয়) এবং অ-লেনদেনযোগ্য টেবিলের সাথে (যা রোলব্যাকের অনুমতি দেয় না)। এই কারণেই অন্যান্য ডিবিএমএসের তুলনায় মাইএসকিউএল-এ সীমাবদ্ধতাগুলি পরিচালনা করা আলাদা। অ-লেনদেনযোগ্য ডাটাবেসে, অনেক সারি সন্নিবেশ বা আপডেট করার সময় যদি একটি ত্রুটি ঘটে, তবে এটি রোল ব্যাক করা যাবে না। এই মামলাটি সঠিকভাবে পরিচালনা করতে হবে।

MySQL সার্ভার প্রশ্নগুলির জন্য একটি ত্রুটি তৈরি করে যা এটি একটি বিবৃতি পার্স করার সময় ত্রুটি হিসাবে শনাক্ত করে যা কার্যকর করা দরকার৷ একবার ত্রুটি সনাক্ত করা হলে, এটি বিবৃতি কার্যকর করার সময় ত্রুটিগুলি থেকে পুনরুদ্ধার করার চেষ্টা করে। এটি এখন পর্যন্ত সমস্ত বিবৃতির জন্য করা হয়নি৷

MySQL হয় বিবৃতিটিকে মাঝখানে থামাতে পারে বা এটি থেকে পুনরুদ্ধার করতে পারে এবং যখন একটি ত্রুটি ঘটে তখন চালিয়ে যেতে পারে। ডিফল্টরূপে, সার্ভার এটি থেকে পুনরুদ্ধার করে এবং চলতে থাকে।

বিদেশী কীগুলি সারণী জুড়ে ডেটা ক্রস-রেফারেন্স করার অনুমতি দেয় এবং বিদেশী কী সীমাবদ্ধতাগুলি নিশ্চিত করতে সাহায্য করে যে এই স্প্রেড-আউট ডেটা সামঞ্জস্যপূর্ণ থাকে৷

বিদেশী কী রেফারেন্স

MySQL REATE TABLE এবং ALTER TABLE স্টেটমেন্টে ON UPDATE এবং ON DELETE বিদেশী কী রেফারেন্স সমর্থন করে৷

রেফারেন্সিয়াল অ্যাকশন

উপলভ্য রেফারেন্সিয়াল অ্যাকশনগুলি হল- সীমাবদ্ধ, ক্যাসকেড, সেট নাল, এবং কোনও অ্যাকশন নেই৷

NO ACTION হল ডিফল্ট রেফারেন্সিয়াল অ্যাকশন৷

ENUM

একটি ENUM মান অবশ্যই একটি হতে হবে যা কলামের সংজ্ঞাতে তালিকাভুক্ত, বা অভ্যন্তরীণ সাংখ্যিক সমতুল্য। মানটি একটি ত্রুটির মান (0 বা খালি স্ট্রিং) হতে পারে না৷ ENUM('a','b','c') হিসাবে সংজ্ঞায়িত একটি কলামের জন্য 'a', 'b', বা ' ছাড়া অন্য মানগুলি c', যেমন '', 'd', বা 'ax' অবৈধ বলে বিবেচিত হয় এবং প্রত্যাখ্যাত হয়।


  1. জাভা দিয়ে একটি মাইএসকিউএল ডাটাবেসে ডেটা কীভাবে আপডেট করবেন?

  2. জাভা দিয়ে একটি মাইএসকিউএল ডাটাবেসের ডেটা কীভাবে মুছবেন?

  3. পিএইচপি এবং মাইএসকিউএল-এ 'বুলিয়ান' মানগুলি কীভাবে মোকাবেলা করবেন?

  4. কিভাবে JDBC এর সাথে MySQL এ ব্যাকস্ল্যাশ এড়াতে হয়?