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 করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।