Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • PostgreSQL Documentation40টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Postgres Intro
  • Relational Model
  • Install & Setup
  • Connect psql
  • SELECT basics
  • Data Types
  • Create Table
  • Constraints
  • INSERT / UPDATE / DELETE
  • NULL & COALESCE
  • Schema Design
  • Relationships
  • Joins
  • Joins Advanced
  • Aggregation
  • ORDER / LIMIT
  • String Functions
  • Date Functions
  • Subqueries
  • CTE (WITH)
  • Views
  • Window Functions
  • Transactions
  • Indexes
  • Performance
  • UPSERT
  • JSONB
  • Full-Text Search
  • Triggers
  • Roles & Privileges
  • Backup & Restore
  • Node + PostgreSQL
  • Prisma Intro
  • Prisma Migrations
  • TechShop Schema
  • TechShop Queries
  • TechShop API
  • Best Practices
  • Common Mistakes
  • Interview Questions
  1. Docs
  2. PostgreSQL
  3. Schema Design — normalization ও ERD
PostgreSQLIntermediate

Schema Design — normalization ও ERD

ভালো schema ছাড়া যেকোনো query-ই জটিল — key-গুলো এখানে।

4টি অংশবাংলা ভাষায়

ভালো schema-র লক্ষ্য: duplication নেই, data সঠিক, query সুবিধাজনক। ডিজাইনের সময় ৩টি প্রশ্ন: কী কী entity, প্রতিটির কী কী attribute, আর একটার সাথে অন্যটার relation কী।

  • Normalization — একটি fact এক জায়গায়; duplicate না রাখা
  • Entity → table, attribute → column
  • প্রতিটি table-এ stable primary key
  • Relation — foreign key দিয়ে
  • Test query লিখে দেখুন — schema এর আগে-থেকে query"-able
TechShop entities (২টি sample)sql
sql
-- users
id, email, name, role, created_at

-- products
id, name, price, qty, category_id
খুব বেশি normalize-ও ক্ষতি

৩NF-এর বেশি split করলে join-এর জটিলতা বাড়ে — ডিজাইন equilibrium: ডিজাইন-সময়েই read-heavy হলে denormalized (cache column) জোড়ার সিদ্ধান্ত নিন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNULL মান — IS NULL, COALESCE, NULLIFপরেরRelationships — one-to-many, many-to-many
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com