তথ্য ও যোগাযোগ প্রযুক্তি • ডেটাবেজ ম্যানেজমেন্ট সিস্টেম

তথ্য ও যোগাযোগ প্রযুক্তি প্রশ্ন

একটি স্কুলের student টেবিলে নিচের তিনটি রেকর্ড আছে।

nameclassrollsection
Sabbir Ahmed95morning
Sabbir Ahmed812day
Mim64day

ডেটা এন্ট্রি অপারেটর জুবায়ের নবম শ্রেণির Sabbir Ahmed-এর রেকর্ডটি ভুলক্রমে যোগ হয়েছে ভেবে মুছে ফেলার জন্য লিখল: DELETE FROM student WHERE name = 'Sabbir Ahmed'; এছাড়া Mim আসলে সপ্তম শ্রেণির শিক্ষার্থী, কিন্তু টেবিলে ভুলে ষষ্ঠ শ্রেণি লেখা হয়েছে।

  1. ক)

    UPDATE কুয়েরি কী?

    (1)
  2. খ)

    DELETE কুয়েরিতে শর্ত লেখার সময় সতর্কতা অবলম্বন করতে হয় কেন? ব্যাখ্যা করো।

    (2)
  3. গ)

    Mim-এর তথ্য সংশোধনের জন্য উদ্দীপকের টেবিলে কী কুয়েরি লিখতে হবে তা লেখো এবং কুয়েরির প্রতিটি অংশের কাজ ব্যাখ্যা করো।

    (3)
  4. ঘ)

    জুবায়েরের লেখা DELETE কুয়েরিটি চালালে টেবিলে কী ঘটবে? সে যা চেয়েছিল তা করতে সঠিক কুয়েরি কী হবে? বিশ্লেষণ করো।

    (4)

উত্তর ও ব্যাখ্যা

  1. ক)

    AI-তৈরি নমুনা উত্তর টেবিলের কোনো রেকর্ড বা রেকর্ডের কলামের মান পরিবর্তন বা হালনাগাদ করার জন্য যে SQL কুয়েরি ব্যবহার করা হয়, তাকে UPDATE কুয়েরি বলে।

  2. খ)

    AI-তৈরি নমুনা উত্তর DELETE FROM কুয়েরি WHERE-এর শর্ত অনুযায়ী মেলে এমন সবগুলো রেকর্ড মুছে ফেলে। শর্ত যদি নির্দিষ্ট করে একটি রেকর্ডকে চিহ্নিত না করে, তবে একই শর্তে মেলে এমন অন্য রেকর্ডও মুছে যাবে। যেমন, শুধু নাম দিয়ে মুছলে একই নামের সব শিক্ষার্থীর রেকর্ড চলে যায়। মুছে ফেলা ডেটা সহজে ফেরত পাওয়া যায় না। তাই নাম, শ্রেণি, রোল ও শাখার মতো একাধিক শর্ত জুড়ে সতর্কভাবে কুয়েরি লিখতে হয়।

  3. গ)

    AI-তৈরি নমুনা উত্তর Mim-এর রেকর্ড মুছে নতুন করে না দিয়ে UPDATE কুয়েরি দিয়ে সংশোধন করতে হবে। কুয়েরি:
    UPDATE student SET class = 7 WHERE name = 'Mim';
    কুয়েরির অংশগুলোর কাজ:

    • UPDATE student: student নামের টেবিলের ডেটা পরিবর্তন করা হবে বোঝায়।
    • SET class = 7: class কলামের নতুন মান 7 নির্ধারণ করে। একাধিক কলাম পরিবর্তন করতে হলে কমা দিয়ে আলাদা করে লিখতে হয়।
    • WHERE name = 'Mim': কোন রেকর্ডে পরিবর্তন হবে সেই শর্ত দেয়। এটি না দিলে টেবিলের সব রেকর্ডের class 7 হয়ে যেত।
      এই কুয়েরি চালালে শুধু Mim-এর শ্রেণি 6-এর জায়গায় 7 হবে।
  4. ঘ)

    AI-তৈরি নমুনা উত্তর জুবায়েরের কুয়েরিতে শুধু name = 'Sabbir Ahmed' শর্ত আছে। DELETE কুয়েরি শর্তে মেলে এমন সবগুলো রেকর্ড মুছে ফেলে। টেবিলে Sabbir Ahmed নামে দুটি রেকর্ড আছে (নবম শ্রেণি রোল 5 এবং অষ্টম শ্রেণি রোল 12)। তাই কুয়েরিটি চালালে দুটি রেকর্ডই মুছে যাবে। অথচ জুবায়ের চেয়েছিল শুধু নবম শ্রেণির রেকর্ডটি মুছতে। ফলে অষ্টম শ্রেণির একজন প্রকৃত শিক্ষার্থীর তথ্য ভুলভাবে হারিয়ে যাবে। চালানোর পর টেবিলে শুধু Mim-এর রেকর্ডটি থাকবে।
    সঠিক কুয়েরিতে নামের সাথে আরও শর্ত জুড়ে রেকর্ডটিকে অনন্যভাবে চিহ্নিত করতে হবে:
    DELETE FROM student WHERE name = 'Sabbir Ahmed' AND class = 9 AND roll = 5 AND section = 'morning';
    এখানে সব শর্ত AND দিয়ে যুক্ত থাকায় কেবল নবম শ্রেণি, রোল 5, morning শাখার Sabbir Ahmed-এর রেকর্ডটি মুছবে এবং অষ্টম শ্রেণির রেকর্ড অক্ষত থাকবে।
    অতএব, জুবায়েরের কুয়েরিটি ঝুঁকিপূর্ণ ছিল এবং শর্ত বাড়িয়ে নির্দিষ্ট করে লেখাই নিরাপদ পদ্ধতি।

আরও প্রশ্ন অনুশীলন করতে অ্যাপে যাও