মূল কন্টেন্টে যান
eLearner.app

ইন্টারেক্টিভ কোর্স

এসকিউএল কোর্স

স্ক্র্যাচ থেকে এসকিউএল শিখুন, ইংরেজিতে, আপনার ব্রাউজারে একটি বাস্তব পোস্টগ্রেস চলমান।

01 · মডিউল 1 - মৌলিক নির্বাচন করুন

4 পাঠ

ভিত্তি: একটি টেবিল থেকে ডেটা পড়া এবং এটি ফিল্টার করা।

  1. 1.1এসকিউএল পরিচিতিএসকিউএল কি, কেন এটি ব্যবহার করা হয় এবং একটি ডাটাবেস দেখতে কেমন।~5 min
  2. 1.2থেকে … নির্বাচন করুনসহজতম প্রশ্ন: একটি টেবিল থেকে সারি পড়া।~10 min
  3. 1.3WHERE দিয়ে ফিল্টার করা হচ্ছেশুধুমাত্র একটি শর্ত পূরণ করে এমন সারি নির্বাচন করা।~10 min
  4. 1.4ORDER BY দিয়ে সাজানো হচ্ছেক্রমানুসারে ফলাফল করা, আরোহী বা অবরোহ।~8 min

02 · মডিউল 2 - আরও শক্তিশালী নির্বাচন করুন

4 পাঠ

সীমাবদ্ধ করুন, অনুলিপি করুন, পুনঃনামকরণ করুন এবং গণনা করুন: আপনি প্রতিদিন যে সরঞ্জামগুলি ব্যবহার করেন।

  1. 2.1LIMIT সহ সীমাবদ্ধতাশুধুমাত্র প্রথম N সারি ফেরানো, উদাহরণস্বরূপ লিডারবোর্ড তৈরি করা।~6 min
  2. 2.2DISTINCT সহ অনন্য মানএকটি SELECT এর ফলাফল থেকে সদৃশগুলি সরানো হচ্ছে৷~6 min
  3. 2.3AS দিয়ে নাম পরিবর্তন করা হচ্ছেফলাফলে কলাম এবং অভিব্যক্তিতে আরও পাঠযোগ্য নাম দেওয়া।~6 min
  4. 2.4গণনা এবং সংক্ষিপ্তকরণ: COUNT, AVG, MAXসমষ্টিগত ফাংশন: অনেক সারি থেকে একটি একক সংখ্যা পাওয়া।~8 min

03 · মডিউল 3 — যোগ দিন এবং গ্রুপ করুন৷

4 পাঠ

একাধিক টেবিল একত্রিত করা এবং গোষ্ঠী অনুসারে প্রতিবেদন তৈরি করা: প্রতিটি বাস্তব প্রশ্নের হৃদয়।

  1. 3.1দুটি টেবিলে যোগদান: অভ্যন্তরীণ যোগদানতাদের সম্পর্ক অনুসরণ করে বিভিন্ন টেবিল থেকে সারি একত্রিত করা।~12 min
  2. 3.2সবকিছু বাম দিকে রাখা: বাম যোগ দিনঅন্যান্য সারণিতে কোন মিল নেই এমন সারি সহ।~10 min
  3. 3.3GROUP BY এর সাথে গ্রুপিংপ্রতি গ্রুপে একটি সামগ্রিক গণনা করা, উদাহরণস্বরূপ প্রতি বিভাগ।~10 min
  4. 3.4ফিল্টারিং গ্রুপ: থাকাসামগ্রিকভাবে একটি শর্ত সন্তুষ্ট শুধুমাত্র গ্রুপ রাখা.~8 min

04 · মডিউল 4 — ব্যবহারিক SQL

4 পাঠ

যে টুলগুলি বাস্তব কাজের মধ্যে পার্থক্য তৈরি করে: তালিকা, রেঞ্জ, NULL এবং শর্তাধীন যুক্তি।

  1. 4.1তালিকা এবং ব্যাপ্তি: IN এবং এর মধ্যে"এর মধ্যে একটি" এবং "A এবং B এর মধ্যে" এর জন্য কমপ্যাক্ট ফিল্টার।~8 min
  2. 4.2NULL হ্যান্ডলিং: IS NULL এবং COALESCEবিস্ময় ছাড়াই অনুপস্থিত মানগুলি সনাক্ত করা এবং মোকাবেলা করা।~10 min
  3. 4.3শর্তযুক্ত যুক্তি: CASE WHENSELECT-এ মানগুলিকে সরাসরি শ্রেণীতে রূপান্তর করা।~10 min
  4. 4.4অন্যের ভিতরে একটি প্রশ্ন: সাবকোয়ারিঅন্য SELECT এর ভিতরে একটি SELECT এর ফলাফল ব্যবহার করা।~12 min

05 · মডিউল 5 — অ্যাডভান্সড জয়েন

4 পাঠ

মাল্টি-টেবিল যোগদান, স্ব-যোগদান, OUTER, ক্রস এবং সেট ক্রিয়াকলাপ: একজন পেশাদারের মতো ডেটা একত্রিত করা।

  1. 5.1তিন বা ততোধিক টেবিলে যোগদান করুনসম্পর্কের একটি শৃঙ্খল অতিক্রম করা: অর্ডার → গ্রাহক → পণ্য, একটি একক প্রশ্নে।~12 min
  2. 5.2স্ব-যোগদান: নিজের সাথে একটি টেবিলশ্রেণিবিন্যাস এবং অভ্যন্তরীণ সম্পর্ক: দুটি ভূমিকা সহ একটি টেবিল পড়া (শিশু এবং পিতামাতা)।~10 min
  3. 5.3বাইরের যোগদান: "শূন্যতা" খুঁজে পাওয়াকোনো মিল ছাড়াই সারি খুঁজতে বাম/ডান/সম্পূর্ণ বাইরে যোগদান ব্যবহার করুন।~10 min
  4. 5.4ইউনিয়ন, ছেদ, ব্যতীত (এবং ক্রস যোগদান)ফলাফলগুলিকে সেট হিসাবে একত্রিত করা: ইউনিয়ন, ছেদ, পার্থক্য এবং কার্টেসিয়ান পণ্য।~12 min

06 · মডিউল 6 - অন্তর্নির্মিত ফাংশন

4 পাঠ

PostgreSQL নেটিভ ফাংশনগুলির সাথে ডেটা রূপান্তর এবং ম্যানিপুলেট করুন: স্ট্রিং, তারিখ, সংখ্যা, টাইপ রূপান্তর।

  1. 6.1স্ট্রিং ফাংশননিম্ন, উপরের, দৈর্ঘ্য, সংযোজন, সাবস্ট্রিং, ট্রিম, রিপ্লেস, লাইক এবং আইলাইক।~12 min
  2. 6.2তারিখ এবং টাইমস্ট্যাম্প ফাংশনEXTRACT, DATE_TRUNC, ব্যবধান এবং তারিখের পার্থক্য।~12 min
  3. 6.3সংখ্যাসূচক ফাংশনবৃত্তাকার, CEIL, FLOOR, ABS, MOD এবং পূর্ণসংখ্যা বনাম দশমিক বিভাগ।~10 min
  4. 6.4CAST এবং টাইপ রূপান্তর`::টাইপ` এবং `CAST(... AS ...)` দিয়ে প্রকারের মধ্যে রূপান্তর করা হচ্ছে।~10 min

07 · মডিউল 7 — উন্নত বিশ্লেষণ

4 পাঠ

মাল্টি-স্টেপ কোয়েরি (CTE), র‍্যাঙ্কিং এবং চলমান মোট (উইন্ডো ফাংশন), সীমাহীন শ্রেণীবিন্যাস (পুনরাবৃত্ত সহ)।

  1. 7.1CTE: WITH-এর সাথে বহু-পদক্ষেপের প্রশ্নপঠনযোগ্যতা এবং পুনঃব্যবহারের জন্য নামযুক্ত পদক্ষেপগুলির মধ্যে একটি জটিল ক্যোয়ারী ভঙ্গ করা।~12 min
  2. 7.2উইন্ডো ফাংশন: র‌্যাঙ্কিং এবং প্রতি-গ্রুপ গণনাগ্রুপে র‌্যাঙ্কিংয়ের জন্য ROW_NUMBER, RANK, DENSE_RANK ওভার (পার্টিশন দ্বারা …)।~14 min
  3. 7.3ল্যাগ, লিড এবং চলমান মোটপ্রতিটি সারি পূর্ববর্তী/পরেরটির সাথে তুলনা করা এবং ক্রমবর্ধমান সমষ্টি গণনা করা।~12 min
  4. 7.4পুনরাবৃত্ত CTEs: স্বেচ্ছাচারী-গভীর স্তরবিন্যাসশ্রেণীবিভাগের মতো শ্রেণীবিন্যাস অতিক্রম করার জন্য রিকার্সিভ সহ।~14 min

08 · মডিউল 8 — ডেটা লেখা এবং পরিবর্তন করা

4 পাঠ

INSERT, UPDATE, DELETE, CREATE TABLE with constraints, লেনদেন: লেখার সাথে লুপ বন্ধ করা।

  1. 8.1তথ্য সন্নিবেশ করা হচ্ছে: INSERTএকক এবং বহু-সারি INSERT, রিটার্নিং ক্লজ, স্পষ্টভাবে কলাম নির্বাচন করা।~10 min
  2. 8.2আপডেট করা এবং মুছে ফেলা: আপডেট এবং মুছে ফেলুনWHERE এর সাথে নির্বাচনী পরিবর্তন, এবং কেন ভুলে যাওয়া WHERE একটি বিপর্যয়।~10 min
  3. 8.3টেবিল এবং সীমাবদ্ধতা তৈরি করা: DDLপ্রাথমিক কী দিয়ে টেবিল তৈরি করুন, শূন্য নয়, অনন্য, বিদেশী কী, চেক এবং ডিফল্ট।~12 min
  4. 8.4লেনদেন: সব বা কিছুই নাশুরু করুন, কমিট করুন, রোলব্যাক করুন: অপারেশনের একটি গ্রুপকে পারমাণবিক করা।~10 min

09 · মডিউল 9 — ডেটা স্ট্রাকচার এবং DDL

4 পাঠ

টেবিল, উন্নত সীমাবদ্ধতা, জটিল প্রকার এবং দৃষ্টিভঙ্গি তৈরি এবং পরিবর্তন করা।

  1. 9.1উন্নত ডেটা প্রকার এবং ENUMsসংখ্যাসূচক প্রকার, TEXT বনাম VARCHAR, বুলিয়ান, UUID এবং কাস্টম ENUM প্রকার।~10 min
  2. 9.2একাধিক এবং টেবিল-স্তরের সীমাবদ্ধতাকম্পোজিট ইউনিক এবং প্রাথমিক কী সীমাবদ্ধতা, উন্নত চেক এবং বিদেশী কী (মুছে ফেলা ক্যাসকেডের উপর)।~12 min
  3. 9.3গঠন পরিবর্তন: ALTER TABLEবিদ্যমান টেবিল থেকে কলাম বা সীমাবদ্ধতা যোগ করা, পরিবর্তন করা এবং অপসারণ করা।~10 min
  4. 9.4ভিউ এবং ডেটা বিমূর্ততাজটিল প্রশ্নগুলি সরল করার জন্য ভিউ তৈরি করা এবং পারফরম্যান্সের জন্য ম্যাটেরিয়ালাইজড ভিউ তৈরি করা।~12 min

10 · অপ্টিমাইজেশান এবং সূচক

4 পাঠ

দ্রুত প্রশ্ন তৈরি করার শিল্প: সূচী, কার্যকরী পরিকল্পনা এবং ডাটাবেস অপ্টিমাইজেশান।

  1. 10.1সূচক এবং বি-বৃক্ষসূচী তৈরি করুন নাটকীয়ভাবে বৃহৎ টেবিলে অনুসন্ধান অনুসন্ধানের গতি বাড়ানোর জন্য।~15 min
  2. 10.2ব্যাখ্যা করুন এবং বিশ্লেষণ করুনপ্রতিবন্ধকতা নির্ণয়ের জন্য ডাটাবেস এক্সিকিউশন প্ল্যান পড়তে শিখুন।~15 min
  3. 10.3যৌগিক এবং আংশিক সূচকএকাধিক কলামে একবারে বা শুধুমাত্র ডেটার একটি নির্দিষ্ট স্লাইসে সূচী ব্যবহার করুন।~12 min
  4. 10.4N+1 সমস্যাকুখ্যাত ORM পারফরম্যান্স সমস্যা এবং একটি একক প্রশ্নে এটি কাটিয়ে উঠতে নেটিভ এসকিউএল পদ্ধতি।~12 min

11 · লেনদেন এবং সঙ্গতি

4 পাঠ

নিরাপদে সমসাময়িক ডেটা পরিবর্তনগুলি পরিচালনা করুন: ACID লেনদেন, লক এবং বিচ্ছিন্নতা স্তর।

  1. 11.1ACID লেনদেন (BEGIN/COMMIT)BEGIN, COMMIT এবং ROLLBACK এর সাথে সামঞ্জস্যপূর্ণ ডেটা রাখুন, অন্যদের কাছে অদৃশ্য এক ব্লকে প্রশ্নগুলিকে গোষ্ঠীবদ্ধ করুন৷~15 min
  2. 11.2রেসের শর্তপ্রান্তের পরিস্থিতি: যখন দুটি সমান্তরাল ডাটাবেস কর্মচারী একই ব্যবহারকারী কার্টে কাজ করে তখন কী ঘটে।~10 min
  3. 11.3লকিং এবং আপডেটের জন্য নির্বাচন করুনপড়ার সময় সক্রিয়ভাবে সারিগুলি লক করুন, অন্যান্য পরিবর্তনকারী থ্রেডগুলিকে তাদের পালা অপেক্ষা করতে বাধ্য করে৷~15 min
  4. 11.4বিচ্ছিন্নতার মাত্রাসিরিয়ালাইজেবল প্রয়োগ করে সীমার দিকে ঠেলে দিন বা অনিরাপদ কিন্তু দ্রুত কর্মক্ষমতার জন্য প্রতিশ্রুতিবদ্ধ Read এ নেমে যান।~12 min

12 · ফাংশন এবং ট্রিগার

4 পাঠ

ডাটাবেসের ভিতরে ব্যবসায়িক যুক্তি স্বয়ংক্রিয় করুন: পুনঃব্যবহারযোগ্য ফাংশন লিখুন এবং ট্রিগার সহ ইভেন্টগুলিতে প্রতিক্রিয়া দিন।

  1. 12.1UDF এবং বেস SQLজটিল গণনাগুলিকে এনক্যাপসুলেট করতে আপনার নিজস্ব ব্যবহারকারী সংজ্ঞায়িত ফাংশনগুলি তৈরি করুন এবং প্রতিটি ক্যোয়ারীতে ম্যাক্রোর মতো পুনরায় ব্যবহার করুন৷~15 min
  2. 12.2PL/pgSQL এর সাথে উন্নত যুক্তিআপনার ফাংশনগুলিকে সুপার পাওয়ার দিন: ভেরিয়েবল, ইফ-অন্য শাখা এবং ডাটাবেসের ভিতরে বিশুদ্ধ পদ্ধতিগত শৈলীতে লুপ।~15 min
  3. 12.3ট্রিগার পরিচিতিবিশেষ ফাংশন সংজ্ঞায়িত করুন যা অবিলম্বে আউটগোয়িং (পুরাতন) বা ইনকামিং (নতুন) রেকর্ড পরিদর্শন করতে পারে।~15 min
  4. 12.4ব্যবহারিক ট্রিগার এবং অডিটস্বয়ংক্রিয় নিরাপত্তা: "updated_at" তারিখটি স্বয়ংক্রিয়ভাবে আপডেট করুন এবং সম্মতির জন্য মুছে ফেলা সারিগুলিকে জাদুকরীভাবে সংরক্ষণ করুন৷~12 min

13 · উইন্ডো ফাংশন

4 পাঠ

সারি ভেঙে না দিয়ে উন্নত ডেটা বিশ্লেষণ: ওভার(), বিভাজন দ্বারা এবং বিশ্লেষণাত্মক ফাংশন আবিষ্কার করুন।

  1. 13.1ভূমিকা এবং ওভার ক্লজমূল পৃথক সারি সংরক্ষণ করার সময় সামগ্রিক গণনা চালান (যেমন SUM বা AVG)।~15 min
  2. 13.2PARTITION BY এর সাথে গ্রুপিংGROUP BY ব্যবহার না করে ফাংশন প্রয়োগ করার জন্য ডেটার ভিতরে লজিক্যাল গ্রুপিং (উইন্ডোজ) তৈরি করুন।~15 min
  3. 13.3র‌্যাঙ্কিং: ROW_NUMBER, RANK এবং DENSE_RANKক্রমিক সারি সংখ্যা এবং ফলাফলের ক্রম নির্ধারণ করুন, সঠিকভাবে বন্ধন পরিচালনা করুন।~15 min
  4. 13.4শিফট: ল্যাগ এবং লিডডেল্টা এবং বৈচিত্রগুলি গণনা করতে বর্তমান সারি থেকে সরাসরি পূর্ববর্তী বা পরবর্তী সারি থেকে মানগুলি অ্যাক্সেস করুন৷~12 min

14 · CTE এবং অনুক্রমিক প্রশ্ন (সহ)

3 পাঠ

কমন টেবিল এক্সপ্রেশনের সাহায্যে বিশাল কোয়েরি সরলীকরণ করুন এবং রিকার্সিভ CTE-এর সাহায্যে সীমাহীন ডেটা ট্রি নেভিগেট করুন।

  1. 14.1CTE-এর পরিচিতি (সহ)অস্থায়ী "ভার্চুয়াল টেবিল" ঘোষণা করে একটি পরিষ্কার পদ্ধতিগত বিন্যাস দিয়ে অপঠিত নেস্টেড সাবকোয়েরি প্রতিস্থাপন করুন।~12 min
  2. 14.2একাধিক এবং শৃঙ্খলিত CTEএকটি একক উইথ স্টেটমেন্টের মধ্যে প্রক্রিয়াকরণকে একাধিক অনুক্রমিক ধাপে বিভক্ত করে জটিলতা নিয়ন্ত্রণ করুন।~15 min
  3. 14.3পুনরাবৃত্ত CTEs: গাছ-আকৃতির ডেটানিজের থেকে CTE-কে কল করে সীমাবদ্ধ ব্যবস্থাপক শ্রেণিবিন্যাস এবং পিতামাতা-সন্তানের বিভাগ ছাড়াই নেভিগেট করুন।~18 min

15 · PostgreSQL JSON এবং NoSQL

2 পাঠ

বাহ্যিক ডাটাবেস ব্যবহার না করে JSON এবং JSONB-এর মাধ্যমে নমনীয় নথি সমর্থনের সাথে মিশ্রিত রিলেশনাল পাওয়ার লিভারেজ।

  1. 15.1JSON এবং JSONB ইন্টিগ্রেশনএকটি কলামের মধ্যে জটিল নথি সংরক্ষণ করুন এবং তীর অপারেটরগুলির সাথে তাদের ক্ষেত্রগুলি অনুসন্ধান করুন৷~15 min
  2. 15.2JSON একত্রীকরণ ফাংশনjson_build_object() এবং json_agg() ব্যবহার করে এসকিউএল-এ নেটিভভাবে JSON ফাইল বা অবজেক্ট অ্যারে তৈরি করুন।~15 min