Skip to content

Latest commit

 

History

7 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 

Repository files navigation

PostgreSQL Queries & Concepts

1️⃣ PostgreSQL কি ?

উত্তর: PostgreSQL একটি ওপেন-সোর্স রিলেশনাল ডাটাবেস ম্যানেজমেন্ট সিস্টেম (RDBMS) যা ডেটা সংরক্ষণ, ম্যানিপুলেশন এবং পুনরুদ্ধার করার জন্য ব্যবহৃত হয়। এটি SQL এবং অন্যান্য আধুনিক বৈশিষ্ট্য যেমন JSON, XML, ট্রিগার, স্টোরড প্রসিডিউর এবং ACID কমপ্লায়েন্স সাপোর্ট করে।


2️⃣ PostgreSQL-এ একটি ডাটাবেস স্কিমার উদ্দেশ্য কী ?

উত্তর: একটি স্কিমা হলো ডাটাবেসের মধ্যে অবজেক্টগুলোর একটি সংগঠিত কাঠামো (যেমন টেবিল, ভিউ, ফাংশন)। এটি নামের সংঘর্ষ এড়াতে এবং অবজেক্টগুলোকে গ্রুপ করার জন্য ব্যবহৃত হয়। এতে একটি ডাটাবেসকে আরও বেশি ব্যবস্থাপনাযোগ্য ও সুরক্ষিত করা যায়।


3️⃣ PostgreSQL-এ প্রাইমারি কী এবং ফরেন কী ধারণাগুলি ব্যাখ্যা করো ?

উত্তর:

  • Primary Key হলো এমন একটি কলাম বা কলাম সেট যা প্রতিটি রেকর্ডকে ইউনিকভাবে শনাক্ত করে। এটি NULL হতে পারে না।
  • Foreign Key হলো এমন একটি কলাম যা অন্য টেবিলের প্রাইমারি কীকে রেফার করে, যা টেবিলগুলোর মধ্যে সম্পর্ক তৈরি করে।

4️⃣ VARCHAR এবং CHAR ডেটা টাইপের মধ্যে পার্থক্য কী ?

উত্তর:

  • VARCHAR(n) পরিবর্তনশীল দৈর্ঘ্যের স্ট্রিং সংরক্ষণ করে এবং সর্বোচ্চ n অক্ষর গ্রহণ করতে পারে।
  • CHAR(n) নির্দিষ্ট দৈর্ঘ্যের স্ট্রিং সংরক্ষণ করে এবং যদি স্ট্রিং ছোট হয়, তাহলে অতিরিক্ত জায়গা ফাঁকা দিয়ে পূরণ করে।

5️⃣ WHERE একটি বিবৃতিতে ধারাটির উদ্দেশ্য ব্যাখ্যা করো SELECT ?

উত্তর: WHERE ক্লজটি ব্যবহার করে নির্দিষ্ট শর্ত পূরণ করে এমন রেকর্ডগুলো SELECT স্টেটমেন্টের মাধ্যমে ফিল্টার করা যায়। এটি ডেটা কুয়েরির সময় নির্দিষ্ট রো বেছে নিতে সাহায্য করে।


6️⃣ LIMIT এবং OFFSET ধারাগুলি কীসের জন্য ব্যবহৃত হয় ?

উত্তর:

  • LIMIT নির্ধারণ করে কতটি রেকর্ড কুয়েরি থেকে ফেরত আসবে।
  • OFFSET নির্ধারণ করে কতগুলি রেকর্ড স্কিপ করে শুরু করা হবে।
    এগুলো pagination বা পেজভিত্তিক ডেটা প্রদর্শনের জন্য ব্যবহৃত হয়।

7️⃣ UPDATE স্টেটমেন্ট ব্যবহার করে আপনি কীভাবে ডেটা পরিবর্তন করতে পারেন ?

উত্তর: UPDATE স্টেটমেন্ট ব্যবহার করে একটি টেবিলের বিদ্যমান রেকর্ডের মান পরিবর্তন করা যায়। উদাহরণ:

UPDATE books SET price = 50 WHERE id = 1;

8️⃣ JOIN অপারেশনের তাৎপর্য এবং PostgreSQL-এ এটি কীভাবে কাজ করে ?

উত্তর: JOIN ব্যবহার করে একাধিক টেবিল থেকে সম্পর্কযুক্ত তথ্য সংগ্রহ করা যায়। PostgreSQL-এ বিভিন্ন JOIN আছে যেমন INNER JOIN, LEFT JOIN, RIGHT JOIN ইত্যাদি। এটি সাধারণত ফরেন কী সম্পর্কযুক্ত টেবিলের তথ্য একসাথে আনতে ব্যবহৃত হয়।


9️⃣ GROUP BY ধারাটি এবং সমষ্টি কার্যক্রমে এর ভূমিকা ব্যাখ্যা করো ?

উত্তর: GROUP BY ক্লজটি একই ধরনের মানযুক্ত রেকর্ডগুলোকে গ্রুপ করে এবং তাদের ওপর সমষ্টিগত ফাংশন (যেমন COUNT, SUM, AVG) প্রয়োগ করতে সাহায্য করে। এটি রিপোর্ট তৈরি বা বিশ্লেষণের কাজে ব্যবহৃত হয়।


🔟 PostgreSQL-এ COUNT(), SUM(), এবং AVG() এর মতো সমষ্টিগত ফাংশনগুলি কীভাবে গণনা করবেন ?

উত্তর:

  • COUNT() — মোট রেকর্ড সংখ্যা গণনা করে।
  • SUM() — নির্দিষ্ট কলামের মানগুলোর যোগফল বের করে।
  • AVG() — নির্দিষ্ট কলামের গড় মান বের করে।

উদাহরণ:

SELECT COUNT(*) FROM orders;
SELECT SUM(price) FROM books;
SELECT AVG(price) FROM books;

1️⃣1️⃣ PostgreSQL-এ ORDER BY এর কাজ কী ?

উত্তর: ORDER BY ক্লজ ব্যবহার করে কুয়েরির ফলাফলকে একটি বা একাধিক কলামের মান অনুসারে সাজানো যায়। এটি ডিফল্টভাবে ASC (ascending) অর্ডারে থাকে, তবে চাইলে DESC (descending) ব্যবহার করা যায়।

SELECT * FROM books ORDER BY price DESC;

1️⃣2️⃣ DISTINCT কী এবং এর ব্যবহার কীভাবে করা হয় ?

উত্তর: DISTINCT ব্যবহার করা হয় একটি কলামের ডুপ্লিকেট মান সরিয়ে ইউনিক রেকর্ড আনার জন্য।

SELECT DISTINCT category FROM books;

1️⃣3️⃣ PostgreSQL-এ INDEX কী এবং কেন ব্যবহার করা হয় ?

উত্তর: Index হলো একটি ডেটা স্ট্রাকচার যা টেবিলের সার্চ বা কুয়েরি স্পিড বাড়ানোর জন্য ব্যবহৃত হয়। যখন টেবিলে অনেক রেকর্ড থাকে, তখন ইনডেক্স ছাড়া সার্চ অনেক স্লো হয়।

CREATE INDEX idx_books_title ON books(title);

1️⃣4️⃣ PostgreSQL-এ DELETE এবং TRUNCATE এর মধ্যে পার্থক্য কী ?

উত্তর:

  • DELETE — নির্দিষ্ট কন্ডিশনের উপর ভিত্তি করে রেকর্ড ডিলিট করে, এবং এটি রোলব্যাক করা যায়।
  • TRUNCATE — পুরো টেবিলের সব রেকর্ড একসাথে ডিলিট করে, কিন্তু এটি দ্রুততর এবং সাধারণত রোলব্যাক করা যায় না।
DELETE FROM books WHERE id = 5;
TRUNCATE TABLE books;

1️⃣5️⃣ PostgreSQL-এ টেবিলের সাথে টেবিল সম্পর্ক (Relationships) কিভাবে তৈরি করা হয় ?

উত্তর: PostgreSQL-এ টেবিল রিলেশনশিপ তৈরি করা হয় Primary Key এবং Foreign Key এর মাধ্যমে। যেমনঃ

CREATE TABLE authors (
  id SERIAL PRIMARY KEY,
  name VARCHAR(100)
);

CREATE TABLE books (
  id SERIAL PRIMARY KEY,
  title VARCHAR(200),
  author_id INT REFERENCES authors(id)
);

এখানে books টেবিলের author_id হলো authors টেবিলের id এর সাথে সম্পর্কযুক্ত।


About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors