This document explores the concept of functional dependencies in database design. It delves into different types of dependencies, including full, partial, and transitive dependencies. The document then explains how normalization forms (1NF, 2NF, and 3NF) are used to eliminate data redundancy and improve database efficiency. It provides a practical example of a database schema and demonstrates how to apply normalization principles to achieve a well-structured and optimized database. The document also discusses relational schema and referential integrity constraints, highlighting the importance of maintaining data consistency and relationships between tables. Finally, an Entity Relationship Diagram (ERD) is presented to visually represent the relationships between entities in the normalized database.