What are the key principles and methodologies of database normalization in MySQL
What are the key principles and methodologies of database normalization in MySQL, including First Normal Form (1NF), Second Normal Form (2NF), Third Normal Form (3NF), and Boyce-Codd Normal Form (BCNF), and how do these normalization techniques help to reduce data redundancy, improve data integrity, and facilitate efficient data manipulation and storage, and what are the potential trade-offs and considerations in denormalization for performance optimization and application-specific requirements?