📐
Data Types & Table Design

Normalization

1NF, 2NF, 3NF
💡 Normalization, EK, "DECLUTTERING" process, jaisa, hai — DUPLICATE, DATA, ko, ELIMINATE, karके, TABLES, ko, "ORGANIZE" kiya, jaata hai, JAISE, EK, MESSY, ROOM, ko, PROPERLY, ORGANIZED, DRAWERS, mein, SORT, kiya, jaata hai.

1NF (First Normal Form) — HAR, column, mein, ATOMIC, (INDIVISIBLE) values, hone, CHAHIYE, koi, REPEATING, groups, nahi. 2NF — 1NF, ke, saath, saath, NON-KEY, columns, POORE, primary, key, PAR, DEPEND, hone, CHAHIYE, PARTIAL, key, PAR, nahi.

3NF — 2NF, ke, saath, saath, NON-KEY, columns, EK, DUSRE, PAR, DEPEND, NAHI, HONE, CHAHIYE (TRANSITIVE, dependency, na, ho). NORMALIZATION, se, DATA, DUPLICATION, aur, UPDATE, ANOMALIES, avoid, hoti, HAIN.

-- Un-normalized (BAD) — customer info, repeat, hota, hai:
-- orders(id, customer_name, customer_email, product, amount)

-- Normalized (GOOD) — separate tables:
-- customers(id, name, email)
-- orders(id, customer_id, product, amount)
📐
Normalization, EK, "DECLUTTERING" process, jaisa, hai — DUPLICATE, DATA, ko, ELIMINATE, karके, TABLES, ko, "ORGANIZE" kiya, jaata hai, JAISE, EK, MESSY, ROOM, ko, PROPERLY, ORGANIZED, DRAWERS, mein, SORT, kiya, jaata hai.
1 / 2
⚡ झट से Recap
  • 1NF = atomic values, no repeating groups
  • 2NF = non-key columns, poore, primary, key, par, depend, karte, hain
  • 3NF = non-key columns, ek, dusre, par, depend, nahi, karte
इस page में (2 subtopics)

BCNF, 3NF, se, EK, kadam, AAGE, hai — HAR, "determinant" (EK, column, jo, DUSRE, columns, ko, DETERMINE, karta, hai) EK, candidate, key, HONA, CHAHIYE. RARELY, PRACTICAL, applications, mein, ZAROORI, hota, hai, LEKIN, THEORETICALLY, IMPORTANT, hai.

💡Tip: Practical, applications, mein, MOST, teams, 3NF, tak, hi, normalize, karti, HAIN — BCNF, tak, JAANA, GENERALLY, DIMINISHING, RETURNS, deta, hai.

Denormalization, (JAAN-BOOJHKAR, redundancy, INTRODUCE, karna) READS, ko, FASTER, banaता, hai, JOINS, ki, ZAROORAT, kam, karके — LEKIN, writes, COMPLEX, ho, jaate, HAIN, kyunki, DATA, ko, MULTIPLE, jagah, SYNC, mein, rakhna, PADТА, hai.

-- Denormalized, — orders, table, mein, customer, naam, bhi, embed:
CREATE TABLE orders (
  id INT PRIMARY KEY,
  customer_id INT,
  customer_name VARCHAR(100),   -- redundant, LEKIN, read-fast
  amount DECIMAL(10,2)
);