JSON Functions এবং Queries

Database Tutorials - এইচ২ ডাটাবেস (H2 Database) H2 Database এর JSON এবং XML সাপোর্ট |
337
337

H2 ডেটাবেজে JSON (JavaScript Object Notation) ডেটা সংরক্ষণ এবং পরিচালনা করার জন্য কিছু বিশেষ ফাংশন এবং কুয়েরি ব্যবহার করা যায়। JSON ডেটা স্টোর করার সুবিধা ডেটাবেজের মধ্যে বিভিন্ন ধরনের অ-রিলেশনাল বা নেস্টেড ডেটা ব্যবস্থাপনা করার জন্য অত্যন্ত উপকারী। H2 ডেটাবেজ JSON ডেটা টেবিলের কলামে সংরক্ষণ করতে পারে এবং JSON ডেটার উপর বিভিন্ন কার্যক্রম যেমন অনুসন্ধান (querying), ফিল্টার (filtering) এবং আপডেট (update) করা যায়।

H2 ডেটাবেজ JSON ডেটার জন্য কিছু বিশেষ ফাংশন এবং কুয়েরি সাপোর্ট করে, যা ডেটাবেজে JSON ডেটার সাথে কাজ করার সময় সাহায্য করে।


১. JSON ডেটা স্টোর করা

H2 ডেটাবেজে JSON ডেটা সংরক্ষণ করতে, আপনি সাধারণভাবে VARCHAR বা CLOB ডেটাটাইপ ব্যবহার করতে পারেন, কারণ H2 JSON ডেটা স্টোর করার জন্য কোনও নির্দিষ্ট JSON ডেটাটাইপ সরাসরি সাপোর্ট করে না। তবে, আপনি JSON ডেটা হ্যান্ডল করতে H2-তে বিশেষ JSON ফাংশন ব্যবহার করতে পারেন।

উদাহরণ:

CREATE TABLE employees (
    id INT PRIMARY KEY,
    data VARCHAR(255)
);

এখানে, data কলামটিতে JSON ডেটা স্টোর হবে।

JSON ডেটা ইনসার্ট করার উদাহরণ:

INSERT INTO employees (id, data) 
VALUES (1, '{"name": "Alice", "age": 30, "department": "HR"}');

এই কুয়েরি employees টেবিলে একটি রেকর্ড ইনসার্ট করবে যেখানে data কলামটি JSON ফরম্যাটে ডেটা স্টোর করবে।


২. JSON Functions in H2

H2 ডেটাবেজে JSON ডেটার উপর কাজ করার জন্য কিছু নির্দিষ্ট ফাংশন রয়েছে। এই ফাংশনগুলির মাধ্যমে আপনি JSON ডেটা থেকে নির্দিষ্ট তথ্য বের করতে, নতুন JSON ফাইল তৈরি করতে এবং বিভিন্ন অপারেশন করতে পারবেন।

JSON_VALUE()

JSON_VALUE() ফাংশনটি JSON ডেটার মধ্যে থেকে নির্দিষ্ট কীগুলির মান বের করতে ব্যবহৃত হয়। এটি একটি নির্দিষ্ট JSON ডেটার মধ্যে থেকে নির্দিষ্ট কীগুলির মান রিটার্ন করে।

কীভাবে কাজ করে:
SELECT JSON_VALUE(data, '$.name') AS name FROM employees;

এই কুয়েরি employees টেবিল থেকে প্রতিটি data কলামের JSON ডেটা থেকে "name" কীগুলির মান বের করবে।

JSON_OBJECT()

JSON_OBJECT() ফাংশনটি JSON অবজেক্ট তৈরি করতে ব্যবহৃত হয়। আপনি বিভিন্ন কীগুলির মান দিয়ে একটি নতুন JSON অবজেক্ট তৈরি করতে পারেন।

কীভাবে কাজ করে:
SELECT JSON_OBJECT('id', id, 'name', JSON_VALUE(data, '$.name')) AS employee_info 
FROM employees;

এটি employees টেবিল থেকে id এবং name কীগুলির মান নিয়ে একটি নতুন JSON অবজেক্ট তৈরি করবে।

JSON_ARRAY()

JSON_ARRAY() ফাংশনটি একাধিক JSON অবজেক্ট বা মানের একটি অ্যারে তৈরি করতে ব্যবহৃত হয়।

কীভাবে কাজ করে:
SELECT JSON_ARRAY('Alice', 'Bob', 'Charlie') AS names;

এটি একটি JSON অ্যারে তৈরি করবে যা "Alice", "Bob", এবং "Charlie" নামগুলো অন্তর্ভুক্ত করবে।

JSON_QUERY()

JSON_QUERY() ফাংশনটি JSON ডেটার একটি অংশ (sub-query) রিটার্ন করতে ব্যবহৃত হয়।

কীভাবে কাজ করে:
SELECT JSON_QUERY(data, '$.department') AS department FROM employees;

এটি employees টেবিলের data কলাম থেকে "department" কীগুলির মান বের করবে।


৩. JSON Queries (JSON কুয়েরি)

H2 ডেটাবেজে JSON ডেটার উপর কাজ করার জন্য আপনি SQL কুয়েরি ব্যবহার করতে পারেন। JSON ডেটা থেকে তথ্য বের করার জন্য JSON_VALUE(), JSON_QUERY(), এবং JSON_OBJECT() ফাংশনগুলি ব্যবহার করা যেতে পারে। এছাড়া, H2 ডেটাবেজ JSON ডেটার মধ্যে নির্দিষ্ট শর্ত দিয়ে ফিল্টারিং এবং অনুসন্ধান করতে সক্ষম।

JSON ডেটা অনুসন্ধান করা:

SELECT * FROM employees 
WHERE JSON_VALUE(data, '$.department') = 'HR';

এটি employees টেবিল থেকে সেই সমস্ত রেকর্ড নির্বাচন করবে যাদের data কলামের JSON ডেটার মধ্যে "department" কীগুলির মান 'HR'

JSON ডেটাতে নতুন মান আপডেট করা:

JSON ডেটার মধ্যে নতুন মান আপডেট করতে, UPDATE কুয়েরি ব্যবহার করা হয়:

UPDATE employees
SET data = JSON_SET(data, '$.age', 31)
WHERE id = 1;

এটি id = 1 এর জন্য data কলামের JSON ডেটাতে "age" কীগুলির মান 31 করে দিবে।


৪. JSON ডেটাতে অ্যারে অপারেশন

H2 ডেটাবেজ JSON অ্যারে অপারেশনও সমর্থন করে, যেমন অ্যারে থেকে নির্দিষ্ট মান বের করা এবং অ্যারে আপডেট করা।

অ্যারে থেকে মান বের করা:

SELECT JSON_ARRAY(1, 2, 3, 4, 5) AS numbers,
       JSON_VALUE(JSON_ARRAY(1, 2, 3, 4, 5), '$[2]') AS third_value;

এটি একটি JSON অ্যারে তৈরি করবে এবং তার মধ্যে থেকে তৃতীয় মান (index 2) বের করবে, অর্থাৎ "3"

অ্যারে আপডেট করা:

UPDATE employees
SET data = JSON_SET(data, '$.skills[0]', 'Java')
WHERE id = 1;

এটি id = 1 এর জন্য data কলামের JSON ডেটাতে "skills" অ্যারের প্রথম উপাদান পরিবর্তন করবে এবং সেটি 'Java' রাখবে।


৫. JSON ডেটাতে কন্ডিশনাল ফিল্টারিং

JSON ডেটার মধ্যে কন্ডিশনাল ফিল্টারিং করার জন্য WHERE ক্লজে JSON_VALUE() বা JSON_QUERY() ফাংশন ব্যবহার করা হয়।

SELECT * FROM employees 
WHERE JSON_VALUE(data, '$.age') > 25;

এটি employees টেবিলের সেই সব রেকর্ড নির্বাচন করবে যাদের data কলামের JSON ডেটাতে "age" কীগুলির মান ২৫ এর বেশি।


উপসংহার

H2 ডেটাবেজ JSON ডেটার উপর কাজ করার জন্য বিভিন্ন ফাংশন এবং কুয়েরি সাপোর্ট করে, যার মাধ্যমে আপনি JSON ডেটা স্টোর, আপডেট, অনুসন্ধান এবং প্রক্রিয়া করতে পারবেন। JSON_VALUE(), JSON_OBJECT(), JSON_ARRAY(), এবং JSON_QUERY() ফাংশনগুলো JSON ডেটার প্রক্রিয়াকরণে সহায়ক, এবং এগুলি ডেটাবেজের ভেতরে বিভিন্ন জটিল JSON ডেটা নিয়ে কাজ করতে সক্ষম করে। JSON ডেটা ব্যবস্থাপনা H2 ডেটাবেজের একটি শক্তিশালী বৈশিষ্ট্য, যা ডেভেলপারদের অ্যাপ্লিকেশন এবং ডেটাবেসের মধ্যে সহজে তথ্য বিনিময়ের সুযোগ প্রদান করে।

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

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

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

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