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

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

একটি স্কুলের শিক্ষক এসকিউলাইটে school.db ডেটাবেজে student নামে একটি টেবিল তৈরি করেছেন, যার কলামগুলো name, class, roll ও section। টেবিলে এখন নিচের ডেটা আছে।

nameclassrollsection
Ayesha Siddika91morning
Rakib Hasan92morning
Nusrat Jahan81day
Imran Hossain103day

একজন নতুন শিক্ষার্থী Farhana Akter নবম শ্রেণির day শাখায় ভর্তি হয়েছে, তার রোল নম্বর 5। শিক্ষক টেবিলটি থেকে শুধু প্রত্যেক শিক্ষার্থীর নাম ও শাখা দেখতে চান।

  1. ক)

    টেবিলে ডেটা রাখার জন্য কোন কুয়েরি ব্যবহার করা হয়?

    (1)
  2. খ)

    SELECT * FROM student; কুয়েরিতে * চিহ্নটি কী নির্দেশ করে? ব্যাখ্যা করো।

    (2)
  3. গ)

    উদ্দীপকের নতুন শিক্ষার্থীর তথ্য student টেবিলে রাখার জন্য কুয়েরি লেখো এবং কুয়েরির বিভিন্ন অংশ ব্যাখ্যা করো।

    (3)
  4. ঘ)

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

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর টেবিলে ডেটা রাখার জন্য INSERT কুয়েরি ব্যবহার করা হয়।

  2. খ)

    AI-তৈরি নমুনা উত্তর SELECT কুয়েরিতে কলামের নামের জায়গায় * চিহ্ন ব্যবহার করলে এটি টেবিলের সবগুলো কলাম নির্দেশ করে। তাই SELECT * FROM student; কুয়েরি দিলে student টেবিলের সবগুলো কলামের (name, class, roll, section) সব রো-এর ডেটা দেখা যায়। নির্দিষ্ট কলাম দেখতে চাইলে * এর জায়গায় কলামের নামগুলো কমা দিয়ে পৃথক করে লিখতে হয়।

  3. গ)

    AI-তৈরি নমুনা উত্তর INSERT কুয়েরির নিয়ম হলো: INSERT INTO টেবিলের নাম (কলামের নামগুলো) VALUES (কলামের ডেটাগুলো);
    উদ্দীপক অনুযায়ী কুয়েরি:
    INSERT INTO student (name, class, roll, section) VALUES ('Farhana Akter', 9, 5, 'day');
    ব্যাখ্যা: INSERT INTO এর পরে টেবিলের নাম student লেখা হয়েছে। প্রথম বন্ধনীতে কলামগুলোর নাম দেওয়া হয়েছে এবং VALUES এর পরের বন্ধনীতে একই ক্রমে ডেটা দেওয়া হয়েছে। name ও section টেক্সট টাইপ বলে এদের মান একক উদ্ধৃতি চিহ্নের ভেতরে লেখা হয়েছে, আর class ও roll পূর্ণসংখ্যা বলে সরাসরি লেখা হয়েছে। এ কুয়েরি চালালে টেবিলে নতুন একটি রো যুক্ত হবে।

  4. ঘ)

    AI-তৈরি নমুনা উত্তর নির্দিষ্ট কলাম দেখার জন্য SELECT কুয়েরিতে কলামের নামগুলো কমা দিয়ে পৃথক করে লিখতে হয়। তাই শিক্ষকের কুয়েরি হবে:
    SELECT name, section FROM student;
    নতুন শিক্ষার্থী যুক্ত করার পর টেবিলে পাঁচটি রো আছে। কুয়েরিটির আউটপুট হবে:

    namesection
    Ayesha Siddikamorning
    Rakib Hasanmorning
    Nusrat Jahanday
    Imran Hossainday
    Farhana Akterday

    এখানে class ও roll কলামের ডেটা আসবে না, কারণ কুয়েরিতে শুধু name ও section কলাম চাওয়া হয়েছে। SELECT * FROM student; দিলে চারটি কলামই আসত।
    এসকিউলাইট কমান্ড লাইনে আউটপুট সুন্দর করে দেখতে কুয়েরির আগে নিচের দুটি কমান্ড দিতে হবে:
    sqlite> .mode column
    sqlite> .headers on
    .mode column কমান্ডটি আউটপুটকে কলামের আকারে সাজিয়ে দেখায় এবং .headers on কমান্ডটি আউটপুটের উপরে কলামের নাম (name, section) দেখায়। ফলে কোন ডেটা কোন কলামের তা সহজে বোঝা যায়।

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