Lesson – 36 : Normalization Rules เชฆเซเชตเชพเชฐเชพ Database Designย 

เชกเซ‡เชŸเชพเชฌเซ‡เช เชฎเซ‡เชจเซ‡เชœเชฎเซ‡เชจเซเชŸเชฎเชพเช‚ Normalization เชเช• เช…เชคเซเชฏเช‚เชค เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช›เซ‡. เชคเซ‡เชจเซ‹ เชฎเซเช–เซเชฏ เชนเซ‡เชคเซ เชกเซ‡เชŸเชพเชจเซ‡ เชฏเซ‹เช—เซเชฏ เชฐเซ€เชคเซ‡ เช—เซ‹เช เชตเชตเซ‹, เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชกเซ‡เชŸเชพ เช˜เชŸเชพเชกเชตเซ‹ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ‡ เชตเชงเซ เช…เชธเชฐเช•เชพเชฐเช•, เชเชกเชชเซ€ เช…เชจเซ‡ เชตเชฟเชถเซเชตเชธเชจเซ€เชฏ เชฌเชจเชพเชตเชตเชพเชจเซ‹ เช›เซ‡. เชšเชพเชฒเซ‹ เชธเชฎเชœเซ€เช เช•เซ‡ เชจเซ‹เชฐเซเชฎเชฒเชพเชˆเชเซ‡เชถเชจ เชถเซเช‚ เช›เซ‡, เชคเซ‡เชจเชพ เชชเซเชฐเช•เชพเชฐเซ‹ เช•เชฏเชพ เช›เซ‡ เช…เชจเซ‡ เชกเซ‡เชŸเชพเชฌเซ‡เช เชกเชฟเชเชพเชˆเชจ เชฆเชฐเชฎเชฟเชฏเชพเชจ เชคเซ‡เชจเซ‡ เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เชฒเชพเช—เซ เช•เชฐเชตเซเช‚.


Normalization เชถเซเช‚ เช›เซ‡?

Normalization เช เชเชตเซ€ เชชเซเชฐเช•เซเชฐเชฟเชฏเชพ เช›เซ‡ เชœเซ‡เชฎเชพเช‚ เชกเซ‡เชŸเชพเชจเซ‡ เชเชตเซ€ เชฐเซ€เชคเซ‡ เชŸเซ‡เชฌเชฒเซ‹เชฎเชพเช‚ เชตเชนเซ‡เช‚เชšเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡ เช•เซ‡:

  • เชกเซเชชเซเชฒเชฟเช•เซ‡เชŸ เชกเซ‡เชŸเชพ (Data Redundancy) เช“เช›เซเช‚ เชฅเชพเชฏ

  • เชกเซ‡เชŸเชพเชจเซ€ เชญเซ‚เชฒเซ‹ (Anomalies) เชฆเซ‚เชฐ เชฅเชพเชฏ

  • เช…เชชเชกเซ‡เชŸ, เชกเชฟเชฒเชฟเชŸ เช…เชจเซ‡ เช‡เชจเซเชธเชฐเซเชŸ เช“เชชเชฐเซ‡เชถเชจ เชธเชฐเชณ เชฌเชจเซ‡

  • เชกเซ‡เชŸเชพเชฌเซ‡เช เชตเชงเซ เชธเซเชฎเชพเชฐเซเชŸ เช…เชจเซ‡ เช…เชธเชฐเช•เชพเชฐเช• เชฌเชจเซ‡

Normalization เชกเซ‡เชŸเชพเชฌเซ‡เชเชจเซ€ เชธเซเชŸเซเชฐเช•เซเชšเชฐ เช…เชจเซ‡ เช‡เชจเซเชŸเซ‡เช—เซเชฐเชฟเชŸเซ€ เชฌเช‚เชจเซ‡เชจเซ‡ เชธเซเชงเชพเชฐเซ‡ เช›เซ‡.


Normalization เชถเชพ เชฎเชพเชŸเซ‡ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡?

  • เชกเซ‡เชŸเชพ เชฐเชฟเชชเซ€เชŸ เชจ เชฅเชพเชฏ

  • เชธเซเชŸเซ‹เชฐเซ‡เชœ เชฌเชšเชพเชตเซ‡

  • เชกเซ‡เชŸเชพ Consistency เชœเชพเชณเชตเซ€ เชฐเชพเช–เซ‡

  • Queryเชจเซเช‚ Performance เชธเซเชงเชฐเซ‡

  • เชกเซ‡เชŸเชพเชจเซ‡ Maintain เช•เชฐเชตเซเช‚ เชธเชฐเชณ เชฌเชจเซ‡

เชกเซ‡เชŸเชพเชฌเซ‡เช เชกเชฟเชเชพเช‡เชจเชฟเช‚เช—เชจเชพ เชฆเชฐเซ‡เช• เชธเซเชŸเซ‡เชœเชฎเชพเช‚ เชจเซ‹เชฐเซเชฎเชฒเชพเชˆเชเซ‡เชถเชจเชจเซ€ เชญเซ‚เชฎเชฟเช•เชพ เช–เซ‚เชฌ เชœ เชฎเชนเชคเซเชตเชจเซ€ เช›เซ‡.


Normalization Rules / Normal Forms

Normalization เชธเชพเชฎเชพเชจเซเชฏ เชฐเซ€เชคเซ‡ เชจเซ€เชšเซ‡เชจเชพ เชธเซเชŸเซ‡เชชเชฎเชพเช‚ เช•เชฐเชตเชพเชฎเชพเช‚ เช†เชตเซ‡ เช›เซ‡:

  1. 1NF โ€“ First Normal Form

  2. 2NF โ€“ Second Normal Form

  3. 3NF โ€“ Third Normal Form

  4. (Advanced) BCNF โ€“ Boyce Codd Normal Form

เช…เชนเซ€เช‚ เชชเชนเซ‡เชฒเชพ 3 Normal Forms เชธเซŒเชฅเซ€ เชตเชงเซ เช‰เชชเชฏเซ‹เช—เชฎเชพเช‚ เชฒเซ‡เชตเชพเชฏ เช›เซ‡.


โญ 1NF (First Normal Form)

Rule:

  • เชฆเชฐเซ‡เช• เชŸเซ‡เชฌเชฒเชฎเชพเช‚ Atomic values เชนเซ‹เชตเซ€ เชœเซ‹เชˆเช

  • Repeating groups / Multiple values allowed เชจเชฅเซ€

  • เชฆเชฐเซ‡เช• เชซเซ€เชฒเซเชกเชฎเชพเช‚ เชซเช•เซเชค เชเช• เชœ value

Example เช…เช—เชพเช‰:

Student Phone
Raj 9876543210, 9998887777

Problem: Phone column เชฎเชพเช‚ multiple values เช›เซ‡ โ†’ 1NFเชจเซเช‚ เช‰เชฒเซเชฒเช‚เช˜เชจ

1NF เชฒเชพเช—เซ เช•เชฐเซเชฏเชพ เชชเช›เซ€:

Student Phone
Raj 9876543210
Raj 9998887777

โญ 2NF (Second Normal Form)

Rule:

  • 1NF เชธเช‚เชคเซ‹เชทเชพเชฏเซ‡เชฒ เชนเซ‹เชตเซเช‚ เชœเซ‹เชˆเช

  • No Partial Dependency (เช…เชฐเซเชงเชพ Primary Key เชชเชฐ เช†เชงเชพเชฐ เชจ เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช)

Example:
Orders table:

OrderID ProductID ProductName

เช…เชนเซ€เช‚ ProductName เชซเช•เซเชค ProductID เชชเชฐ เช†เชงเชพเชฐเชฟเชค เช›เซ‡, OrderID เชชเชฐ เชจเชนเซ€เช‚ โ†’ Partial Dependency.

Solution: เชŸเซ‡เชฌเชฒเชจเซ‡ เชฌเซ‡ เชญเชพเช—เชฎเชพเช‚ เชตเชนเซ‡เช‚เชšเชตเซเช‚:

Products Table:
| ProductID | ProductName |

Orders Table:
| OrderID | ProductID |


โญ 3NF (Third Normal Form)

Rule:

  • 2NF เชธเช‚เชคเซ‹เชทเซ‡เชฒเซเช‚

  • No Transitive Dependency
    (เชเช• Non-key field เชฌเซ€เชœเชพ Non-key field เชชเชฐ เช†เชงเชพเชฐเชฟเชค เชจ เชนเซ‹เชตเซ‹ เชœเซ‹เชˆเช)

Example:
| StudentID | StudentName | City | Pincode |

เช…เชนเซ€เช‚ City โ†’ Pincode เชธเช‚เชฌเช‚เชง เช›เซ‡ โ†’ Transitive Dependency

Solution:
เชฌเซ‡ เชŸเซ‡เชฌเชฒเชฎเชพเช‚ เชตเชฟเชญเชพเชœเชจ:

Student Table:
| StudentID | StudentName | Pincode |

City Table:
| Pincode | City |


Normalization เชฒเชพเช—เซ เช•เชฐเซ€เชจเซ‡ Database Design เช•เซ‡เชตเซ€ เชฐเซ€เชคเซ‡ เช•เชฐเชตเซเช‚?

Step 1: Requirements Collection
  • เช•เชฏเซ‹ เชกเซ‡เชŸเชพ เชธเชพเชšเชตเชตเซ‹ เช›เซ‡?

  • เช•เซ‹เชฃ เช‰เชชเชฏเซ‹เช— เช•เชฐเชถเซ‡?

Step 2: Entities เช…เชจเซ‡ Attributes เชถเซ‹เชงเซ‹
  • Example: Students, Courses, Orders

Step 3: Raw Tables เชฌเชจเชพเชตเซ‹
  • เชถเชฐเซ‚เช†เชคเชฎเชพเช‚ เชฎเซ‹เชŸเชพ เชŸเซ‡เชฌเชฒ เชฌเชจเชพเชตเซ‹

Step 4: Normalization Apply เช•เชฐเซ‹
  1. 1NF โ€“ Atomic values

  2. 2NF โ€“ Partial dependency เชฆเซ‚เชฐ

  3. 3NF โ€“ Transitive dependency เชฆเซ‚เชฐ

Step 5: Relationships เชฌเชจเชพเชตเซ‹
  • One-to-Many

  • Many-to-Many

  • Foreign Keys define เช•เชฐเซ‹

Step 6: Final Clean Database Structure
  • Optimized

  • No redundant data

  • High performance


Normalization เชจเชพ เชซเชพเชฏเชฆเชพ

  • เชกเซ‡เชŸเชพ เชญเซ‚เชฒเซ‹ เชŸเชณเซ‡

  • Query เชเชกเชชเชฅเซ€ เชšเชพเชฒเซ‡

  • เชกเซ‡เชŸเชพเชฌเซ‡เช เชธเซเชฎเชพเชฐเซเชŸ เชฌเชจเซ‡

  • Storage Space เชฌเชšเชพเชตเซ‡

  • Maintain เช•เชฐเชตเซเช‚ เชธเชฐเชณ


Normalization เชกเซ‡เชŸเชพเชฌเซ‡เช เชกเชฟเชเชพเช‡เชจเชจเซ‹ เชฎเซ‚เชณเชญเซ‚เชค เช…เชจเซ‡ เชธเซŒเชฅเซ€ เชฎเชนเชคเซเชตเชชเซ‚เชฐเซเชฃ เชญเชพเช— เช›เซ‡. 1NF, 2NF เช…เชจเซ‡ 3NF เชฒเชพเช—เซ เช•เชฐเซเชฏเชพ เชชเช›เซ€ เชกเซ‡เชŸเชพเชฌเซ‡เช เชตเชงเซ เชธเซเชตเซเชฏเชตเชธเซเชฅเชฟเชค, เช•เชพเชฐเซเชฏเช•เซเชทเชฎ เช…เชจเซ‡ เชธเซเชฐเช•เซเชทเชฟเชค เชฌเชจเซ€ เชœเชพเชฏ เช›เซ‡. เช•เซ‹เชˆเชชเชฃ เชชเซเชฐเซ‹เชœเซ‡เช•เซเชŸ, เชตเซ‡เชฌเชธเชพเชˆเชŸ เช…เชฅเชตเชพ เชธเซ‹เชซเซเชŸเชตเซ‡เชฐ เชฎเชพเชŸเซ‡ เชธเซเช‚เชฆเชฐ DatabaseเชธเซเชŸเซเชฐเช•เซเชšเชฐ เชฌเชจเชพเชตเชตเชพ Normalizationเชจเชพ เชจเชฟเชฏเชฎเซ‹ เช…เชชเชฒเชพเชฏ เช•เชฐเชตเซเช‚ เชœเชฐเซ‚เชฐเซ€ เช›เซ‡.