TinyDB হল একটি হালকা, NoSQL ডাটাবেস যা পাইথনের জন্য তৈরি করা হয়েছে। এটি ছোট স্কেল অ্যাপ্লিকেশন এবং প্রোটোটাইপ ডেভেলপমেন্টের জন্য আদর্শ। যদি আপনি একটি সিম্পল Web Application তৈরি করতে চান যেখানে বড় ডাটাবেস ব্যবস্থাপনা না প্রয়োজন হয়, TinyDB একটি ভাল বিকল্প হতে পারে।
এখানে আমরা দেখব কিভাবে TinyDB ব্যবহার করে Web Application এর জন্য ডেটা ম্যানেজমেন্ট করা যায়।
১. TinyDB Setup in a Web Application
TinyDB ব্যবহার করার জন্য প্রথমে আপনার অ্যাপ্লিকেশনের ডিরেক্টরিতে TinyDB ইনস্টল করতে হবে।
১.১ TinyDB ইনস্টলেশন
TinyDB ইনস্টল করতে, আপনি pip ব্যবহার করতে পারেন:
pip install tinydb
২. Web Application এর জন্য TinyDB ব্যবহার করা
আমরা একটি সিম্পল Flask Web Application তৈরি করব যেখানে TinyDB ব্যবহার করে ডেটা সংরক্ষণ, আপডেট, এবং অনুসন্ধান করা হবে।
২.১ Flask সেটআপ
Flask Web Framework ব্যবহার করে একটি বেসিক অ্যাপ্লিকেশন তৈরি করতে:
pip install Flask
২.২ Flask অ্যাপ তৈরি করা
এখন, আমরা একটি সিম্পল Flask অ্যাপ তৈরি করব, যেখানে TinyDB ব্যবহার করে ডেটা সংরক্ষণ এবং পুনরুদ্ধার করা হবে।
from flask import Flask, render_template, request, redirect, url_for
from tinydb import TinyDB, Query
# Flask অ্যাপ সেটআপ
app = Flask(__name__)
# TinyDB ডাটাবেস সংযুক্ত করা
db = TinyDB('db.json')
User = Query()
@app.route('/')
def index():
# ডাটাবেস থেকে সব ইউজার দেখানো
users = db.all()
return render_template('index.html', users=users)
@app.route('/add_user', methods=['POST'])
def add_user():
# ফর্ম থেকে ডেটা গ্রহণ করা
name = request.form['name']
age = request.form['age']
# TinyDB তে নতুন ইউজার ইনসার্ট করা
db.insert({'name': name, 'age': age})
return redirect(url_for('index'))
@app.route('/delete_user/<int:id>')
def delete_user(id):
# ইউজার ডিলিট করা
db.remove(doc_ids=[id])
return redirect(url_for('index'))
if __name__ == '__main__':
app.run(debug=True)
এখানে আমরা একটি Flask Web Application তৈরি করেছি যেখানে:
/রুট ইউজারদের তালিকা প্রদর্শন করে।/add_userরুট ব্যবহারকারীর নাম এবং বয়স TinyDB ডাটাবেসে সংরক্ষণ করে।/delete_userরুট ব্যবহারকারীকে ডিলিট করে।
৩. HTML টেমপ্লেট
আমরা একটি সিম্পল HTML ফর্ম ব্যবহার করব, যা ব্যবহারকারীর নাম এবং বয়স নিবে এবং ডেটা TinyDB তে ইনসার্ট করবে।
<!-- templates/index.html -->
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>TinyDB Web App</title>
</head>
<body>
<h1>User List</h1>
<ul>
{% for user in users %}
<li>{{ user['name'] }} - {{ user['age'] }}
<a href="{{ url_for('delete_user', id=user.doc_id) }}">Delete</a>
</li>
{% endfor %}
</ul>
<h2>Add User</h2>
<form method="POST" action="{{ url_for('add_user') }}">
<input type="text" name="name" placeholder="Name" required><br>
<input type="number" name="age" placeholder="Age" required><br>
<input type="submit" value="Add User">
</form>
</body>
</html>
এখানে:
usersতালিকা দিয়ে আমরা সব ব্যবহারকারীর নাম এবং বয়স দেখাচ্ছি।- ব্যবহারকারী একটি নতুন ইউজার নাম এবং বয়স ইনপুট ফিল্ডে দেয় এবং তা
add_userরুটে পাঠানো হয়।
৪. TinyDB ব্যবহার করে ডেটা ম্যানেজমেন্ট
TinyDB-তে ডেটা ম্যানেজমেন্ট করার জন্য কিছু সাধারণ কাজ:
৪.১ ডেটা ইনসার্ট করা
আমরা db.insert() ফাংশন ব্যবহার করে ডেটা ইনসার্ট করি।
db.insert({'name': 'Rahim', 'age': 30})
৪.২ ডেটা অনুসন্ধান করা
db.search() ফাংশন ব্যবহার করে ডেটা অনুসন্ধান করা যায়:
users = db.search(User.name == 'Rahim')
৪.৩ ডেটা আপডেট করা
db.update() ফাংশন ব্যবহার করে ডেটা আপডেট করা যায়:
db.update({'age': 35}, User.name == 'Rahim')
৪.৪ ডেটা মুছে ফেলা
db.remove() ফাংশন ব্যবহার করে ডেটা মুছে ফেলা যায়:
db.remove(User.name == 'Rahim')
৫. সারাংশ
- TinyDB একটি হালকা এবং সহজ NoSQL ডাটাবেস যা Web Application এর জন্য ছোট ডেটা ম্যানেজমেন্টে ব্যবহৃত হতে পারে।
- Flask এর সাথে TinyDB ব্যবহার করে আপনি সহজেই ডেটা ম্যানেজমেন্ট করতে পারেন, যেমন ডেটা ইনসার্ট, আপডেট, অনুসন্ধান এবং মুছা।
- TinyDB বড় স্কেল অ্যাপ্লিকেশনগুলোর জন্য উপযুক্ত নয়, তবে ছোট বা প্রোটোটাইপ ডেভেলপমেন্টের জন্য আদর্শ।
Read more