This document provides an overview of relational database theory and normalization for developers. It defines key terms like relational databases, logical and physical data models, database schemas, and data normalization. It explains the concepts of first, second, third and Boyce-Codd normal forms and how to normalize data to these forms by removing redundant and unnecessary data through a multi-step process. The goal of normalization is to organize data to minimize duplication and ensure integrity. An example demonstrates normalizing a dog owner database from first to third normal form.