WebSQL একটি ক্লায়েন্ট-সাইড ডেটাবেস API যা HTML5 এভাইডেড প্রযুক্তি হিসেবে ব্যবহৃত হয়, এবং এটি একটি রিলেশনাল ডেটাবেস সংরক্ষণ করার সুবিধা প্রদান করে। এটি ডেভেলপারদের স্থানীয়ভাবে ডেটা সংরক্ষণ করতে এবং SQL কমান্ড ব্যবহার করে ডেটাবেসের সঙ্গে ইন্টারঅ্যাক্ট করতে সক্ষম করে। যদিও এটি আর নতুন ব্রাউজারগুলিতে সমর্থিত নয় এবং W3C কর্তৃক Deprecated ঘোষণা করা হয়েছে, তবে কিছু পুরোনো ব্রাউজারে এবং প্রজেক্টে এখনও এর ব্যবহার দেখা যেতে পারে।
WebSQL এর মূল বৈশিষ্ট্য
- SQL ব্যবহার: WebSQL একটি রিলেশনাল ডেটাবেস ব্যবস্থাপনা সিস্টেম (RDBMS) হিসেবে কাজ করে, যা SQL কোয়েরি ভাষা ব্যবহার করে ডেটাবেসের সঙ্গে ইন্টারঅ্যাক্ট করতে সক্ষম।
- স্থানীয় সংরক্ষণ: এটি ব্রাউজারের ভিতরে ডেটা সংরক্ষণ করতে সক্ষম, যার মাধ্যমে ব্যবহারকারীদের সিস্টেমে ডেটা সংরক্ষণ করতে সাহায্য করে।
- টেবিল এবং রিলেশনশিপ: WebSQL ডেটাবেসে টেবিল তৈরি এবং রিলেশনশিপ পরিচালনা করতে SQL স্টেটমেন্ট ব্যবহার করে।
- ক্লায়েন্ট-সাইড ডেটাবেস: সার্ভার থেকে ডেটা অ্যাক্সেস ছাড়াই, ক্লায়েন্টের ব্রাউজারে ডেটা স্টোর করা হয়।
WebSQL এর ব্যবহার
১. ডেটাবেস তৈরি এবং সংযোগ স্থাপন
WebSQL ডেটাবেস তৈরি করতে এবং সংযোগ স্থাপন করতে নিম্নলিখিত কোড ব্যবহার করা হয়:
var db = openDatabase('myDatabase', '1.0', 'Test Database', 2 * 1024 * 1024);
এখানে myDatabase হল ডেটাবেসের নাম, '1.0' হল সংস্করণ, 'Test Database' হল ডেটাবেসের বর্ণনা এবং 2 * 1024 * 1024 হল ডেটাবেসের সর্বোচ্চ আকার (2MB)।
২. টেবিল তৈরি করা
SQL কমান্ডের মাধ্যমে টেবিল তৈরি করা হয়:
db.transaction(function(tx) {
tx.executeSql('CREATE TABLE IF NOT EXISTS users (id INTEGER PRIMARY KEY, name, age)');
});
এখানে একটি users টেবিল তৈরি করা হয়েছে, যার মধ্যে id, name, এবং age কলাম রয়েছে।
৩. ডেটা ইনসার্ট করা
ডেটাবেসে ডেটা যোগ করার জন্য SQL কমান্ড ব্যবহার করা হয়:
db.transaction(function(tx) {
tx.executeSql('INSERT INTO users (name, age) VALUES (?, ?)', ['John Doe', 30]);
});
এখানে users টেবিলে name এবং age কলামে ডেটা ইনসার্ট করা হয়েছে।
৪. ডেটা ক্যোয়ারি করা
টেবিল থেকে ডেটা বের করতে SQL ব্যবহার করা হয়:
db.transaction(function(tx) {
tx.executeSql('SELECT * FROM users', [], function(tx, results) {
var len = results.rows.length, i;
var output = '';
for (i = 0; i < len; i++) {
output += 'ID: ' + results.rows.item(i).id + ', Name: ' + results.rows.item(i).name + ', Age: ' + results.rows.item(i).age + '\n';
}
alert(output);
});
});
এখানে users টেবিল থেকে সমস্ত রেকর্ড নিয়ে আউটপুট দেখানো হচ্ছে।
৫. ডেটা আপডেট এবং ডিলিট করা
ডেটাবেসের ডেটা আপডেট বা মুছে ফেলার জন্যও SQL কমান্ড ব্যবহার করা যায়:
// আপডেট
db.transaction(function(tx) {
tx.executeSql('UPDATE users SET age = ? WHERE name = ?', [31, 'John Doe']);
});
// ডিলিট
db.transaction(function(tx) {
tx.executeSql('DELETE FROM users WHERE name = ?', ['John Doe']);
});
WebSQL এর সীমাবদ্ধতা
- Deprecated: W3C কর্তৃক WebSQL ডেটাবেস API এর সমর্থন পরিত্যক্ত (deprecated) ঘোষণা করা হয়েছে। তাই এটি নতুন প্রকল্পে ব্যবহার না করাই উত্তম।
- ব্রাউজার সমর্থন: WebSQL শুধুমাত্র কিছু পুরোনো ব্রাউজারে কাজ করে (যেমন Chrome, Safari) এবং নতুন ব্রাউজারগুলিতে এর সমর্থন নেই।
- কমপ্লেক্স ডেটাবেস পারফরম্যান্স: WebSQL কমপ্লেক্স ডেটাবেস বা বড় আকারের ডেটা পরিচালনা করার জন্য উপযুক্ত নয়। এতে অনেক সীমাবদ্ধতা রয়েছে যেমন ট্রানজেকশন সাপোর্টের অভাব।
WebSQL এর বিকল্প
WebSQL এখন সমর্থিত না হওয়ায়, নতুন ডেভেলপারদের IndexedDB বা PouchDB এর মতো আধুনিক বিকল্প ব্যবহার করতে পরামর্শ দেওয়া হয়। এই প্রযুক্তিগুলি ডেটাবেস সংরক্ষণ এবং পরিচালনার জন্য আরও উন্নত এবং সমর্থিত।
এটি ছিল WebSQL এর ভূমিকা এবং ব্যবহার।
Read more