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

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

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

  1. ক)

    DDL-এর পূর্ণরূপ কী?

    (1)
  2. খ)

    এসকিউএল-কে ডিক্লারেটিভ প্রোগ্রামিং ভাষা বলা হয় কেন? ব্যাখ্যা করো।

    (2)
  3. গ)

    উদ্দীপকে তানভীরের করা কাজগুলোকে ডিডিএল ও ডিএমএল-এ ভাগ করে ব্যাখ্যা করো।

    (3)
  4. ঘ)

    তানভীরের ভাইয়ের মন্তব্যটির যথার্থতা বিশ্লেষণ করো। প্রোগ্রামিং জগতের বাইরের মানুষের জন্য এসকিউএল কেন সুবিধাজনক তা মূল্যায়ন করো।

    (4)

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

  1. ক)

    AI-তৈরি নমুনা উত্তর DDL-এর পূর্ণরূপ Data Definition Language (ডাটা ডেফিনেশন ল্যাঙ্গুয়েজ)।

  2. খ)

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

  3. গ)

    AI-তৈরি নমুনা উত্তর এসকিউএল-কে প্রধানত ডাটা ডেফিনেশন ল্যাঙ্গুয়েজ (DDL) ও ডাটা ম্যানিপুলেশন ল্যাঙ্গুয়েজ (DML)-এ ভাগ করা যায়।
    ডিডিএল: টেবিল তৈরি করা, টেবিল মুছে ফেলা, ইনডেক্স তৈরি করা ইত্যাদি কাজ ডিডিএল দিয়ে করা হয়। উদ্দীপকে products টেবিল তৈরি করা (CREATE TABLE) এবং পুরোনো টেবিল মুছে ফেলা (DROP TABLE) ডিডিএল-এর কাজ, কারণ এখানে ডেটাবেজের কাঠামো তৈরি ও মুছে ফেলা হয়েছে।
    ডিএমএল: টেবিলের ডেটার উপর ডেটা পড়া, পরিবর্তন করা, মুছে ফেলা ইত্যাদি কুয়েরি চালানো হয় ডিএমএল দিয়ে। উদ্দীপকে টেবিলে পণ্যের তথ্য রাখা (INSERT) এবং পণ্যের দাম দেখা (SELECT) ডিএমএল-এর কাজ, কারণ এগুলো টেবিলের ভেতরের ডেটা নিয়ে কাজ করে।

  4. ঘ)

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

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