S J N
  • Home
  • About Me
  • Projects
  • Blogs
  • Contact

"The only way to do great work is to love what you do." - Steve Jobs

© 2025 Shofiqul Islam Sujon. All rights reserved.

SQL বনাম PostgreSQL: ডেটাবেস ম্যানেজমেন্টের আদ্যোপান্ত ও প্র্যাকটিক্যাল গাইড

Created At: 3/23/2025

SQL বনাম PostgreSQL: ডেটাবেস ম্যানেজমেন্টের আদ্যোপান্ত ও প্র্যাকটিক্যাল গাইড

আধুনিক সফটওয়্যার ডেভেলপমেন্টে ডেটা সংরক্ষণ, পরিচালনা এবং দ্রুত অনুসন্ধানের জন্য ডেটাবেস ম্যানেজমেন্ট সিস্টেম (DBMS) অপরিহার্য। ডেটাবেসের সাথে যোগাযোগের জন্য SQL একটি স্ট্যান্ডার্ড ভাষা হলেও, সেই ভাষাকে কার্যকরভাবে প্রয়োগ করার জন্য প্রয়োজন একটি শক্তিশালী ইঞ্জিন—যেমন PostgreSQL।

SQL বনাম PostgreSQL: মূল পার্থক্য

অনেকের মধ্যেই SQL এবং PostgreSQL নিয়ে বিভ্রান্তি থাকে। সহজ ভাষায়: SQL হলো যোগাযোগের ভাষা, আর PostgreSQL হলো সেই ভাষা বোঝার একটি স্বয়ংসম্পূর্ণ সিস্টেম।

বৈশিষ্ট্যSQL (Structured Query Language)PostgreSQLধরনকুয়েরি ল্যাঙ্গুয়েজ (Query Language)অবজেক্ট-রিলেশনাল ডেটাবেস ইঞ্জিন (ORDBMS)কাজের পরিধিডেটাবেসে নির্দেশ পাঠানোর নিয়মকানুন নির্ধারণ করেডেটা সংরক্ষণ, ইনডেক্সিং এবং প্রসেসিং পরিচালনা করেএক্সটেনশন ও কাস্টমাইজেশননির্দিষ্ট সিনট্যাক্স নিয়মে সীমাবদ্ধকাস্টম ডেটা টাইপ, প্লাগইন ও ফাংশন সাপোর্ট করেডেটা ফরম্যাটমূলত স্ট্রাকচার্ড রিলেশনাল ডেটারিলেশনাল ডেটার পাশাপাশি JSON, JSONB, XML ইত্যাদি সাপোর্ট করে

PostgreSQL-এর মৌলিক অপারেশন ও প্র্যাকটিক্যাল কুয়েরি

পোস্টগ্রেসকিউএল-এর সবচেয়ে বেশি ব্যবহৃত কুয়েরি ও অপারেশনগুলো নিচে ক্যাটাগরি অনুযায়ী সাজানো হলো:

১. ডেটাবেস ও টেবিল তৈরি (DDL)

  • নতুন ডেটাবেস তৈরি:

SQL

CREATE DATABASE bookstore_db;
  • টেবিল তৈরি (Constraints সহ):

SQL

CREATE TABLE books (
id SERIAL PRIMARY KEY,
title VARCHAR(255) NOT NULL,
author VARCHAR(255),
price DECIMAL(10, 2) NOT NULL,
stock INT DEFAULT 0,
published_year INT
);

২. ডেটা পরিচালনা (CRUD Operations)

  • ডেটা ইনসার্ট করা:

SQL

INSERT INTO books (title, author, price, stock, published_year) 
VALUES ('The Pragmatic Programmer', 'Andrew Hunt', 40.00, 15, 1999);
  • ডেটা রিড/ফিল্টার করা:

SQL

-- ২০০০ সালের পরে প্রকাশিত বই ফিল্টার
SELECT title, price, published_year
FROM books
WHERE published_year > 2000;
  • ডেটা আপডেট করা:

SQL

UPDATE books 
SET price = 45.00
WHERE id = 1;
  • ডেটা মুছে ফেলা:

SQL

DELETE FROM books 
WHERE id = 1;

৩. টেবিল স্ট্রাকচার পরিবর্তন ও রিমুভ

  • নতুন কলাম যোগ করা:

SQL

ALTER TABLE books ADD COLUMN rating DECIMAL(2, 1);
  • কলামের ডেটা টাইপ পরিবর্তন:

SQL

ALTER TABLE books ALTER COLUMN price TYPE NUMERIC(12, 2);
  • কলাম মুছে ফেলা:

SQL

ALTER TABLE books DROP COLUMN rating;
  • সম্পূর্ণ টেবিল ডিলিট করা:

SQL

DROP TABLE books;

৪. ডেটা অ্যানালাইসিস ও অ্যাডভান্সড কুয়েরি

  • সর্টিং ও অর্ডারিং:

SQL

SELECT title, price 
FROM books
ORDER BY price DESC;
  • গ্রুপিং ও এগ্রিগেশন:

SQL

-- প্রতি বছর কতগুলো বই প্রকাশিত হয়েছে এবং গড় দাম কত
SELECT published_year,
COUNT(*) AS total_books,
AVG(price) AS average_price
FROM books
GROUP BY published_year;
  • সাবকুয়েরি (Subquery):

SQL

-- গড় মূল্যের চেয়ে বেশি দামি বইগুলো খোঁজা
SELECT title, price
FROM books
WHERE price > (SELECT AVG(price) FROM books);
  • রিলেশনাল জয়েন (JOIN):

SQL

SELECT c.name AS customer_name, b.title AS book_title, o.quantity 
FROM orders o
JOIN customers c ON o.customer_id = c.id
JOIN books b ON o.book_id = b.id;

৫. পারফরম্যান্স, ট্রানজ্যাকশন ও নিরাপত্তা

  • কুয়েরি দ্রুত করার জন্য ইনডেক্স তৈরি:

SQL

CREATE INDEX idx_books_title ON books (title);
  • এসিড ট্রানজ্যাকশন (ACID Transactions):

SQL

BEGIN;
UPDATE books SET stock = stock - 1 WHERE id = 1;
-- কোনো এরর না থাকলে ডেটা সেভ হবে
COMMIT;
  • রো লকিং (Concurrency Control):

SQL

-- ট্রানজ্যাকশন শেষ না হওয়া পর্যন্ত নির্দিষ্ট রো লক রাখা
SELECT * FROM books WHERE id = 1 FOR UPDATE;
  • নতুন ডাটাবেস ইউজার তৈরি:

SQL

CREATE USER app_user WITH PASSWORD 'secure_password_123';
GRANT ALL PRIVILEGES ON DATABASE bookstore_db TO app_user;

SQL জানা থাকলে যেকোনো রিলেশনাল ডেটাবেসে কাজ করা সহজ হয়, তবে এন্টারপ্রাইজ স্কেলে উচ্চ পারফরম্যান্স, ডেটা ইন্টিগ্রিটি এবং আধুনিক স্কেলেবিলিটির জন্য PostgreSQL ডেভেলপারদের অন্যতম প্রধান পছন্দ।

← Back to Blog List