JSON (JavaScript Object Notation) হল একটি সাধারণ এবং জনপ্রিয় ডেটা বিনিময় ফর্ম্যাট যা মানুষের পঠনযোগ্য এবং মেশিন-ও পড়তে সহজ। এটি মূলত JavaScript এ ব্যবহৃত হলেও, বর্তমানে অন্যান্য প্রোগ্রামিং ভাষাতেও ব্যাপকভাবে ব্যবহৃত হচ্ছে, যেমন PL/SQL, Python, Java, C#, ইত্যাদি।
PL/SQL এর মাধ্যমে JSON ডেটা ম্যানেজমেন্ট এর সুবিধা হল, আপনি JSON ডেটা সংগ্রহ, প্রক্রিয়া এবং স্টোর করতে পারেন, এবং Oracle Database-এ সেই JSON ডেটার সাথে কাজ করতে পারবেন।
Oracle 12c সংস্করণ থেকে JSON ডেটা সরাসরি Oracle Database-এ সংরক্ষণ ও পরিচালনা করা সম্ভব হয়েছে। এর ফলে, JSON ফাইল বা স্ট্রিং ডেটাকে SQL এবং PL/SQL এর মাধ্যমে স্টোর, রিট্রিভ, আপডেট এবং ডিলিট করা সম্ভব।
PL/SQL এ JSON ডেটা ম্যানেজমেন্টের মূল ফিচারসমূহ:
- JSON ডেটা টাইপ:
- Oracle Database 12c এবং পরবর্তী সংস্করণগুলো JSON ডেটা স্টোর করার জন্য নির্দিষ্ট ডেটা টাইপ সরবরাহ করে, যেমন
JSONটাইপ।
- Oracle Database 12c এবং পরবর্তী সংস্করণগুলো JSON ডেটা স্টোর করার জন্য নির্দিষ্ট ডেটা টাইপ সরবরাহ করে, যেমন
- JSON_OBJECT এবং JSON_ARRAY:
JSON_OBJECTএবংJSON_ARRAYফাংশনগুলি JSON ডেটা তৈরি করতে এবং সেগুলোকে ফরম্যাট করতে ব্যবহার করা হয়।
- JSON ডেটা রিট্রিভাল:
- PL/SQL এ JSON ডেটা রিট্রিভ করতে
JSON_TABLE,JSON_VALUE,JSON_QUERY, ইত্যাদি ফাংশন ব্যবহার করা যায়।
- PL/SQL এ JSON ডেটা রিট্রিভ করতে
- JSON ডেটার সাথে SQL Queries:
- আপনি JSON ডেটার উপর SQL কোয়েরি চালাতে পারেন, যেমন JSON এর নির্দিষ্ট পদের মান বের করা বা JSON ডেটা ফিল্টার করা।
- JSON স্টোর করা:
- JSON ডেটা টেবিলের কলাম হিসেবে সংরক্ষণ করা যায়।
PL/SQL দিয়ে JSON ডেটা পরিচালনা করার কিছু প্রাথমিক উদাহরণ:
১. JSON ডেটা তৈরি করা (JSON_OBJECT)
DECLARE
json_data VARCHAR2(4000);
BEGIN
-- JSON_OBJECT ব্যবহার করে JSON ডেটা তৈরি
json_data := JSON_OBJECT('id' VALUE 101, 'name' VALUE 'John Doe', 'age' VALUE 30);
DBMS_OUTPUT.PUT_LINE('JSON Data: ' || json_data);
END;
এখানে, আমরা একটি JSON অবজেক্ট তৈরি করেছি, যেখানে id, name, এবং age নামক তিনটি অ্যাট্রিবিউট রয়েছে। এই JSON ডেটা json_data ভেরিয়েবলে সংরক্ষিত হবে।
২. JSON_ARRAY তৈরি করা
DECLARE
json_array VARCHAR2(4000);
BEGIN
-- JSON_ARRAY ব্যবহার করে JSON অ্যারে তৈরি
json_array := JSON_ARRAY('Apple', 'Banana', 'Orange');
DBMS_OUTPUT.PUT_LINE('JSON Array: ' || json_array);
END;
এখানে, আমরা একটি JSON অ্যারে তৈরি করেছি, যেখানে তিনটি ফলের নাম রয়েছে।
৩. JSON ডেটা টেবিলের মধ্যে সংরক্ষণ করা
CREATE TABLE employees (
employee_id NUMBER PRIMARY KEY,
employee_data CLOB
);
-- JSON ডেটা টেবিলের মধ্যে ইনসার্ট করা
DECLARE
json_data CLOB;
BEGIN
json_data := JSON_OBJECT('employee_id' VALUE 101, 'name' VALUE 'John Doe', 'department' VALUE 'Sales');
INSERT INTO employees (employee_id, employee_data) VALUES (101, json_data);
COMMIT;
END;
এখানে, আমরা একটি টেবিল employees তৈরি করেছি, যেখানে employee_data কলামটি JSON ডেটা স্টোর করতে ব্যবহার করা হবে। পরবর্তীতে, একটি JSON অবজেক্ট তৈরি করে তা টেবিলের মধ্যে ইনসার্ট করা হয়েছে।
৪. JSON ডেটা রিট্রিভ করা (JSON_VALUE)
DECLARE
json_data CLOB;
emp_name VARCHAR2(50);
BEGIN
-- JSON ডেটা রিট্রিভ করা
SELECT employee_data INTO json_data FROM employees WHERE employee_id = 101;
-- JSON_VALUE ব্যবহার করে নামের মান বের করা
emp_name := JSON_VALUE(json_data, '$.name');
DBMS_OUTPUT.PUT_LINE('Employee Name: ' || emp_name);
END;
এখানে, আমরা employees টেবিল থেকে JSON ডেটা রিট্রিভ করেছি এবং তার মধ্যে থেকে name ফিল্ডের মান বের করেছি।
৫. JSON ডেটার উপর SQL Query ব্যবহার (JSON_TABLE)
DECLARE
json_data CLOB;
BEGIN
json_data := '{"employee_id":101, "name":"John Doe", "department":"Sales"}';
-- JSON_TABLE ব্যবহার করে JSON ডেটা থেকে SQL রেজাল্ট তৈরি
FOR rec IN (SELECT * FROM JSON_TABLE(json_data, '$'
COLUMNS (
employee_id NUMBER PATH '$.employee_id',
name VARCHAR2(50) PATH '$.name',
department VARCHAR2(50) PATH '$.department'
)
)) LOOP
DBMS_OUTPUT.PUT_LINE('Employee ID: ' || rec.employee_id);
DBMS_OUTPUT.PUT_LINE('Name: ' || rec.name);
DBMS_OUTPUT.PUT_LINE('Department: ' || rec.department);
END LOOP;
END;
এখানে, JSON_TABLE ফাংশন ব্যবহার করে JSON ডেটা থেকে টেবিলের মতো রেকর্ড বের করা হচ্ছে। এটি JSON ডেটাকে SQL কোয়েরির আউটপুট হিসাবে রূপান্তরিত করে।
PL/SQL এর মাধ্যমে JSON ডেটা ম্যানেজমেন্টের সুবিধা:
- স্টোরেজ এবং অ্যাক্সেস: PL/SQL এবং Oracle Database JSON ডেটা স্টোর করতে সক্ষম, যা ডেটাবেসের অন্যান্য ডেটার মতোই সহজে ম্যানেজ করা যায়।
- JSON ডেটার সাথে SQL ইন্টিগ্রেশন: JSON ডেটাকে SQL কোয়েরি এবং PL/SQL লজিকের মধ্যে সংযুক্ত করা সহজ হয়, যা ডেটা ম্যানিপুলেশন এবং রিট্রিভাল আরও সহজ করে তোলে।
- Flexibility: JSON ডেটা নমনীয় এবং ডাইনামিক হওয়ায়, এটি অবজেক্ট-ওরিয়েন্টেড বা অন্যান্য স্ট্রাকচারড ডেটা মডেলের পরিবর্তে ব্যবহৃত হতে পারে।
- Performance: JSON ডেটার সাথে SQL কোয়েরি ব্যবহার করার মাধ্যমে বৃহত্তর ডেটাবেসে ডেটা অ্যাক্সেস ও ম্যানিপুলেশন উন্নত করা সম্ভব।
উপসংহার:
PL/SQL এ JSON ডেটা ম্যানেজমেন্ট একটি শক্তিশালী ফিচার, যা আপনাকে JSON ডেটাকে ডেটাবেসে সংরক্ষণ, প্রক্রিয়া, আপডেট এবং রিট্রিভ করার সুযোগ দেয়। JSON ডেটা ম্যানিপুলেশন সহজ এবং দ্রুততর করার জন্য বিভিন্ন ফাংশন ও টুলস উপলব্ধ, যেমন JSON_VALUE, JSON_QUERY, JSON_TABLE, ইত্যাদি। এটি ব্যবহারের মাধ্যমে আপনি ডেটাবেস অ্যাপ্লিকেশনগুলোকে আরও ফ্লেক্সিবল এবং কার্যকরী করতে পারেন।
Read more