The process of structuring a relational database to reduce data redundancy and improve integrity, following normal forms (1NF, 2NF, 3NF, BCNF). Over-normalisation can hurt query performance, requiring careful balance with denormalisation for read-heavy workloads.