Explain the concept of database normalization and why it is important for maintaining data integrity.