SQLite এবং NoSQL (Ionic Storage) Integration

Mobile App Development - আয়নিক (Ionic) - Ionic Storage এবং Local Database
355

Ionic অ্যাপ্লিকেশনগুলোতে ডেটাবেস ব্যবহারের জন্য আপনি দুটি প্রধান বিকল্প ব্যবহার করতে পারেন: SQLite এবং NoSQL (যেমন Ionic Storage)। SQLite একটি সম্পর্কিত ডেটাবেস (RDBMS) হিসেবে কাজ করে, যেখানে ডেটা টেবিল এবং রিলেশনশিপের মাধ্যমে স্টোর হয়, আর NoSQL ডেটাবেস (যেমন Ionic Storage) সাধারণত JSON স্টাইল ডেটা সংরক্ষণ করে।

Ionic অ্যাপ্লিকেশনে SQLite এবং Ionic Storage Integration নিয়ে বিস্তারিত আলোচনা করা হলো।


১. SQLite Integration

SQLite হলো একটি ছোট এবং হালকা ওজনের সম্পর্কিত ডেটাবেস, যা মোবাইল ডিভাইসে সহজে ইনস্টল করা যায় এবং অল্প রিসোর্সে কাজ করে। Ionic অ্যাপ্লিকেশনে SQLite ব্যবহার করতে হলে আপনাকে SQLite Plugin ইনস্টল করতে হবে।

SQLite ইনস্টল করা

  1. SQLite Plugin ইনস্টল করুন:
    • প্রথমে, আপনার Ionic প্রজেক্টে @ionic-native/sqlite এবং cordova-sqlite-storage প্লাগইন ইনস্টল করতে হবে।
ionic cordova plugin add cordova-sqlite-storage
npm install @ionic-native/sqlite
  1. AppModule এ ইনপোর্ট করুন:
import { SQLite } from '@ionic-native/sqlite/ngx';

@NgModule({
  providers: [
    SQLite
  ]
})
export class AppModule { }
  1. SQLite ডাটাবেস ব্যবহার করা

SQLite ডাটাবেস তৈরি করতে এবং ডেটা প্রবেশ করতে নীচের কোড ব্যবহার করতে পারেন।

import { Component } from '@angular/core';
import { SQLite, SQLiteObject } from '@ionic-native/sqlite/ngx';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  constructor(private sqlite: SQLite) {}

  createDatabase() {
    this.sqlite.create({
      name: 'data.db',
      location: 'default'
    }).then((db: SQLiteObject) => {
      db.executeSql('create table if not exists people(id integer primary key, name text, age integer)', [])
        .then(() => console.log('Table created'))
        .catch(e => console.log(e));
    }).catch(e => console.log(e));
  }

  addData() {
    this.sqlite.create({
      name: 'data.db',
      location: 'default'
    }).then((db: SQLiteObject) => {
      db.executeSql('insert into people (name, age) values (?, ?)', ['John Doe', 30])
        .then(() => console.log('Data added'))
        .catch(e => console.log(e));
    }).catch(e => console.log(e));
  }

  getData() {
    this.sqlite.create({
      name: 'data.db',
      location: 'default'
    }).then((db: SQLiteObject) => {
      db.executeSql('select * from people', [])
        .then((res) => {
          for (var i = 0; i < res.rows.length; i++) {
            console.log(res.rows.item(i));
          }
        }).catch(e => console.log(e));
    }).catch(e => console.log(e));
  }
}

এখানে, একটি SQLite ডাটাবেস তৈরি করা হচ্ছে, একটি টেবিল তৈরি করা হচ্ছে এবং ডেটা ইনসার্ট ও সিলেক্ট করা হচ্ছে।


২. Ionic Storage (NoSQL) Integration

Ionic Storage হলো একটি NoSQL ডেটাবেস, যা ছোট অ্যাপ্লিকেশন ডেটা সংরক্ষণ করতে ব্যবহার করা হয়। এটি মূলত localStorage বা IndexedDB ব্যবহার করে ডেটা সংরক্ষণ করে।

Ionic Storage ইনস্টলেশন

  1. Ionic Storage ইনস্টল করুন:
npm install @ionic/storage-angular
  1. AppModule এ ইনপোর্ট করুন:
import { IonicStorageModule } from '@ionic/storage-angular';

@NgModule({
  imports: [
    IonicStorageModule.forRoot()
  ],
  providers: []
})
export class AppModule {}
  1. Ionic Storage ব্যবহার করা

Ionic Storage ব্যবহার করতে হবে Storage সার্ভিসের মাধ্যমে।

import { Component } from '@angular/core';
import { Storage } from '@ionic/storage-angular';

@Component({
  selector: 'app-home',
  templateUrl: 'home.page.html',
  styleUrls: ['home.page.scss'],
})
export class HomePage {
  constructor(private storage: Storage) {}

  async setData() {
    await this.storage.set('name', 'John Doe');
    console.log('Data saved');
  }

  async getData() {
    const name = await this.storage.get('name');
    console.log('Retrieved name:', name);
  }

  async clearData() {
    await this.storage.remove('name');
    console.log('Data removed');
  }
}

এখানে:

  • setData(): স্টোরেজে ডেটা সংরক্ষণ করা হচ্ছে।
  • getData(): স্টোরেজ থেকে ডেটা পড়া হচ্ছে।
  • clearData(): স্টোরেজ থেকে ডেটা মুছে ফেলা হচ্ছে।

৩. SQLite এবং Ionic Storage এর মধ্যে পার্থক্য

ফিচারSQLiteIonic Storage
ধরণসম্পর্কিত ডেটাবেস (RDBMS)NoSQL ডেটাবেস
ডেটা সংরক্ষণটেবিল এবং রিলেশনশিপ ব্যবহার করেকীগুলির মাধ্যমে JSON ডেটা সংরক্ষণ
অ্যাসিনক্রোনাস অপারেশনহ্যাঁ (অ্যাসিনক্রোনাস API)হ্যাঁ (Promise এবং Async ব্যবহার করে)
কনফিগারেশনপ্লাগইন ভিত্তিককমপ্যাক্ট, সেটআপ সহজ
ডেটার আকারসাধারণত বড় ডেটাবেসের জন্য উপযুক্তছোট ও মাঝারি আকারের ডেটা সংরক্ষণের জন্য
ব্যবহারবড় অ্যাপ্লিকেশন, অ্যাডভান্সড কুয়েরিসহজ এবং ছোট ডেটা সংরক্ষণ

সারাংশ

  • SQLite ব্যবহার করা হয় যখন আপনার অ্যাপ্লিকেশনে সম্পর্কিত ডেটাবেস ম্যানেজমেন্ট এবং জটিল কুয়েরি প্রক্রিয়ার প্রয়োজন হয়। এটি অ্যাপ্লিকেশনের জন্য একটি পূর্ণাঙ্গ RDBMS সলিউশন।
  • Ionic Storage হল একটি হালকা ওজনের NoSQL ডেটাবেস, যা ছোট এবং মাঝারি আকারের ডেটা সংরক্ষণের জন্য আদর্শ, যেমন ইউজার প্রেফারেন্স, টোকেন, কনফিগারেশন ইত্যাদি।

আপনি আপনার অ্যাপ্লিকেশনের প্রয়োজন অনুসারে SQLite বা Ionic Storage ব্যবহার করতে পারেন। SQLite বড় এবং সম্পর্কিত ডেটাবেসের জন্য উপযুক্ত, যেখানে Ionic Storage দ্রুত ডেটা সংরক্ষণ এবং রিট্রিভ করার জন্য সহজ পদ্ধতি।

Content added By
Promotion
NEW SATT AI এখন আপনাকে সাহায্য করতে পারে।

Are you sure to start over?

Loading...