Functions এবং তাদের ব্যবহার

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) Stored Procedures এবং Functions |
211
211

Functions হল ডেটাবেজে ব্যবহৃত প্রোগ্রামেবল কোডের ব্লক যা নির্দিষ্ট কাজ সম্পাদন করে এবং নির্দিষ্ট ফলাফল প্রদান করে। H2 ডেটাবেজে, ফাংশনগুলি ব্যবহৃত হয় ডেটাবেজ অপারেশনের মধ্যে পুনরাবৃত্তি কাজে ব্যবহৃত অ্যালগোরিদমগুলিকে সহজ ও কার্যকরীভাবে পরিচালনা করার জন্য। ফাংশন সাধারণত কিছু ইনপুট গ্রহণ করে এবং একটি আউটপুট প্রদান করে।

H2 ডেটাবেজে ফাংশন দুটি প্রধানভাবে ব্যবহার করা হয়:

  1. Built-in Functions: H2 ডেটাবেজের মধ্যে পূর্বনির্ধারিত ফাংশন যা ডেটাবেজের মধ্যে বিভিন্ন ধরনের কাজ সম্পাদন করতে সাহায্য করে।
  2. User-defined Functions (UDFs): ব্যবহারকারী নিজে যেগুলি তৈরি করেন, যাতে বিশেষ উদ্দেশ্য পূরণের জন্য ডেটাবেজে কাস্টম ফাংশন ব্যবহার করা যায়।

১. Built-in Functions (পূর্বনির্ধারিত ফাংশন)

H2 ডেটাবেজে কিছু পূর্বনির্ধারিত ফাংশন রয়েছে, যেগুলি বিভিন্ন ডেটাবেজ অপারেশন সহজতর করতে ব্যবহৃত হয়। এই ফাংশনগুলি সাধারণত SQL কুয়েরি অথবা স্টোরড প্রোসিডিউরের মধ্যে ব্যবহার করা হয়।

সাধারণ Built-in Functions:

  • String Functions:
    • CONCAT(str1, str2): দুটি স্ট্রিং একত্রিত করে।

      SELECT CONCAT('Hello ', 'World');
      -- Output: Hello World
      
    • UPPER(str): স্ট্রিংকে বড় অক্ষরে রূপান্তরিত করে।

      SELECT UPPER('hello');
      -- Output: HELLO
      
    • LOWER(str): স্ট্রিংকে ছোট অক্ষরে রূপান্তরিত করে।

      SELECT LOWER('HELLO');
      -- Output: hello
      
  • Mathematical Functions:
    • ABS(x): একটি সংখ্যার পরম মান প্রদান করে।

      SELECT ABS(-5);
      -- Output: 5
      
    • ROUND(x, d): একটি সংখ্যাকে নির্দিষ্ট দশমিক স্থানে রাউন্ড করে।

      SELECT ROUND(123.456, 2);
      -- Output: 123.46
      
    • CEIL(x): একটি সংখ্যা সর্বনিম্ন পূর্ণসংখ্যায় রাউন্ড করে।

      SELECT CEIL(4.3);
      -- Output: 5
      
    • FLOOR(x): একটি সংখ্যা সর্বোচ্চ পূর্ণসংখ্যায় রাউন্ড করে।

      SELECT FLOOR(4.7);
      -- Output: 4
      
  • Date and Time Functions:
    • CURRENT_DATE: বর্তমান তারিখ প্রদান করে।

      SELECT CURRENT_DATE;
      -- Output: 2024-11-27
      
    • CURRENT_TIMESTAMP: বর্তমান তারিখ এবং সময় প্রদান করে।

      SELECT CURRENT_TIMESTAMP;
      -- Output: 2024-11-27 12:30:45
      
    • DATEADD(interval, value, date): একটি নির্দিষ্ট তারিখের সাথে নির্দিষ্ট সময় যোগ করে।

      SELECT DATEADD('DAY', 5, '2024-11-27');
      -- Output: 2024-12-02
      

২. User-defined Functions (UDFs)

User-defined Functions (UDFs) হলো এমন ফাংশন যা ব্যবহারকারী নিজের প্রয়োজন অনুযায়ী তৈরি করতে পারেন। H2 ডেটাবেজে আপনি CREATE FUNCTION কমান্ড ব্যবহার করে একটি ফাংশন তৈরি করতে পারেন। ব্যবহারকারীরা নির্দিষ্ট কাজে ফাংশনগুলো কাস্টমাইজ করে ডেটাবেজের সঙ্গে একীভূত করতে পারেন।

UDF তৈরির উদাহরণ:

ধরা যাক, একটি ফাংশন তৈরি করতে চান যা দুটি পূর্ণসংখ্যার যোগফল প্রদান করবে।

CREATE FUNCTION add_numbers(num1 INT, num2 INT) 
RETURNS INT AS 
BEGIN 
  RETURN num1 + num2; 
END;

এই ফাংশনটি দুটি পূর্ণসংখ্যার ইনপুট নেবে এবং তাদের যোগফল প্রদান করবে।

UDF ব্যবহার:

একবার ফাংশন তৈরি হলে, আপনি এটি SQL কুয়েরিতে ব্যবহার করতে পারবেন যেমন:

SELECT add_numbers(5, 10);
-- Output: 15

এখানে, add_numbers(5, 10) ফাংশনটি 5 এবং 10 এর যোগফল প্রদান করবে।


৩. ফাংশন ব্যবহারের সুবিধা

  • পুনঃব্যবহারযোগ্যতা: ফাংশন একবার তৈরি হলে, তা একাধিক কুয়েরি এবং অপারেশনে পুনরায় ব্যবহার করা যায়, যা ডেভেলপমেন্টের সময় সাশ্রয়ী।
  • কোডের সাদৃশ্য: একই ধরনের কাজ বারবার কোড না লিখে ফাংশন ব্যবহার করে কোডকে আরও পরিষ্কার এবং সহজ করা যায়।
  • ডেটাবেজ অপারেশন সহজ করা: জটিল অপারেশন বা অ্যালগোরিদম ডেটাবেজ লজিকের মধ্যে সরাসরি ফাংশন ব্যবহার করে সহজভাবে সম্পন্ন করা যায়।

৪. Functions এবং তাদের সীমাবদ্ধতা

  • সম্পূর্ণ ফাংশনালিটি: H2 ডেটাবেজের মধ্যে কিছু নির্দিষ্ট ধরনের ফাংশন যেমন স্টোরড প্রোসিডিউর এবং ট্রিগার সাপোর্টের সীমাবদ্ধতা থাকতে পারে।
  • পারফরম্যান্স: অনেক ফাংশনাল অপারেশন প্রয়োগ করলে ডেটাবেজের পারফরম্যান্স কিছুটা কমতে পারে, বিশেষত যখন বড় ডেটাসেটের উপর কাজ করা হয়।
  • Complexity: জটিল কাস্টম ফাংশন তৈরিতে আরো বেশি সময় এবং পরিশ্রমের প্রয়োজন হতে পারে।

উপসংহার

H2 ডেটাবেজে Functions শক্তিশালী টুল হিসেবে কাজ করে, যা আপনাকে কাস্টম কোড ব্লক তৈরি করতে এবং ডেটাবেজ অপারেশনকে আরও কার্যকরী ও পুনরায় ব্যবহারযোগ্য করে তোলে। Built-in Functions দিয়ে সাধারণ কাজগুলো দ্রুত সমাধান করা সম্ভব, আর User-defined Functions (UDFs) ব্যবহার করে আপনি ডেটাবেজে আরো কাস্টম কার্যক্ষমতা যোগ করতে পারেন।

common.content_added_by
টপ রেটেড অ্যাপ

স্যাট অ্যাকাডেমী অ্যাপ

আমাদের অল-ইন-ওয়ান মোবাইল অ্যাপের মাধ্যমে সীমাহীন শেখার সুযোগ উপভোগ করুন।

ভিডিও
লাইভ ক্লাস
এক্সাম
ডাউনলোড করুন
Promotion